commit ae3b133e5f7b13d1edf7acf7eee6af2c2b4014e2
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.
    
    (cherry picked from commit 27368364403e241c86650f635c72664b4c11d7ff)

commit dda7bdd9c99920f871c5fd79ba198005c96cc648
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
    
    (cherry picked from commit e8bfa5d99c0a64dddd0fcd6dbe687d496e0016d7)

commit c1f2b08e7b8f13be50435f052f3f308ad68d39a6
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
    (cherry picked from commit 0d6917b67bb573b084c1e00885c53ee678473618)

commit 258507dde6533c05ac245c661dff4f8fae83027c
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
    
    (cherry picked from commit 9380863e94079268ce14226b7e6c9bf45d5eb281)

commit 8436033c198724df5794757e250549508a91fa12
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.
    
    (cherry picked from commit 9b467b139a7681fdd391dbc03dfab0a75794b593)

commit 9450a4e40d8d43421bffecb49d949dfcf202f136
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
    
    (cherry picked from commit 40bcccff179d1bbdee831f3a5f5409dad0e45639)

commit 8b73d6300af977d20e584e058ee3012702c9462b
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.
    
    (cherry picked from commit f63352f80b7c419d338a72bcddebc6a94552e55a)

commit 93cb81fc8b7abf4b2ba44fc96a2a1a87f2061b7d
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
    
    (cherry picked from commit c796cf60e8d15d0dd46dfa352b4e4516ad3246c2)

commit 3b8a29cd0a6f62ae5e0bce50c9bc2270cce47144
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.
    
    (cherry picked from commit 9392c553a046a6feb053dbd62649e33db8b41c2b)

commit 8a24a1cb1485e7d34a888e4207ae2866b94401c5
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.
    
    (cherry picked from commit 9f8f4c0d93a3e9dfe35cb091d930a09fe60109ad)

commit 7ff03dc5840d69890ffc0ada04d5dca3c68ce923
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.
    
    (cherry picked from commit dd0ce5180dab96f5c09da9bbf80ea80f0bda6e5e)

commit bf16e40f5607ee563ef2f13d6d7690c2d3aed833
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.
    
    (cherry picked from commit 7adcf99ec665c32156a344fee920dd8f2bd5e728)

commit 08388e619f172cecde29a7479bf4d749c7e19eee
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.
    
    (cherry picked from commit 94e53fc1b3a0a0cf0ab35ef1433e832c13aeadb0)

commit c75533ec436d5e48bd36a9b3fc6bb9183603da07
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.
    
    (cherry picked from commit 0a6ae5839ee3bb8af24c511c3a63d9c200b67638)

commit 3123e59603dfc68260a032b185893c170a462773
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
    
    (cherry picked from commit cf0b98d9726a2c9c5f797247247fa87362c18033)

commit 2a22e4b3af18f3e30092c2307e7a1c01f18f0be0
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.
    
    (cherry picked from commit 06088ff2c8bb10666b46d9782c5e66597b1bd92c)

commit 82f7fb1f6e725f2a6695d39beb43973917c34955
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.
    
    (cherry picked from commit 064bed4bfcfa468e975840bb5ec2c888135749b7)

commit 6b99a2d3bd0b60acf5028f619240189661823f5a
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.
    
    (cherry picked from commit 20fb0b52771f0f333650ee4f734758605dfaa3e3)

commit a2f49c2e71031b74711bc2421ba2e7f2f63be2c6
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
    
    (cherry picked from commit 1eba92371ec66256fadda7d50df1cdafe6262929)

commit c6f3085f953aa99ef7b468e15cd591c0c02674d3
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.
    
    (cherry picked from commit ad7363824bfeebd13c4d9f44a9b33da2cda601b4)

commit 1c94bb32c8569ec66990ed955eb1b6a22f6b97bf
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jul 8 07:11:06 2015 +0200

    - update compat libs to 5.6.25
    - obsolete bench < 5.7.8 to ensure clean upgrade path
    - docker fixes

commit 2bea912b9ab6265a723725e369e3230ff23b9b90
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Mon Jul 6 16:52:02 2015 +0530

    BUG#21303289  Adding lost SECURE_FILE_PRIV_EMBEDDED in previous commit for the bug
    Modified file cmake/install_layout.cmake

commit 4b4fb6bb89c061dd97186abef1de2c5ac8aaa455
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Tue Jun 23 16:48:11 2015 +0530

    BUG#21303289  REMOVE SQLBENCH ON ALL DEBIAN AND UBUNTU PLATFORMS

commit 0b24baf5fe92bc4bfe563d11672d5be0b894e444
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Fri Feb 27 10:12:45 2015 +0100

    WL8406 Remove sql-bench

commit 2212813800b432baf0153fafafd670545ce3c5c8
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Mon Jul 6 16:01:52 2015 +0530

    WL#7755: Extend mysqldump functionalities.
    Temporary fix for mysqlpump test hang issue.

commit 01a203cddc83d277c66a49c7414385fdddba6bb3
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Jul 6 12:06:50 2015 +0200

    WL#7755: mysqlpump: Extend mysqldump functionalities
    
    Post push fix: copy all needed .cpp files into our own tree,
    so that it is possible to build with a standard boost installation
    (rather than from a boost source tree)

commit 64fcb633384d4334cbce23dd625d9adec5802158
Merge: 077afeb 3ae0d8f
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Mon Jul 6 17:40:17 2015 +0800

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit 3ae0d8fc89288e815cfa2db23b3e39d220439d1b
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Mon Jul 6 11:43:24 2015 +0530

    WL#8596 Turn STRICT_MODE submodes ON by Default
    
    Post push fix for failing test cases.

commit d8d245af1a5f3b36c918ff2d4ab6aac9d2ef9b83
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Mon Jul 6 06:48:06 2015 +0100

    Code change so session_tracker_trx_state passes with --valgrind

commit 077afeb2583fb858fede598b8721f687ce316dfb
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Mon Jul 6 13:36:04 2015 +0800

    Fix valgrind error introduced by WL#8149 checkin

commit f051e0d0a53d4dc54ed2e2c6a90ecef192dd95ab
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Mon Jul 6 11:25:49 2015 +0800

    Followup:BUG#21245805 HA_INNOBASE::RECORDS_IN_RANGE() RETURNS CONSTANT
    FOR SPATIAL INDEXES
    
    Fix innodb_gis.rtree_concurrent_srch and innodb_gis.rtree_old failures
    with 4k page size.

commit c84e618593a1f05c2d1c8c1d10157b366d5ebd1b
Merge: 2176993 67de4dd
Author: Luis Soares <luis.soares@oracle.com>
Date:   Mon Jul 6 00:32:01 2015 +0100

    BUG#21305976
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 67de4ddd70af9cf320fe761bd38152f35dea4f91
Author: Luis Soares <luis.soares@oracle.com>
Date:   Mon Jul 6 00:31:24 2015 +0100

    BUG#21305976
    
    Post-push fix for the test case, on windows platforms.
    
    Added the --no-console parameter when launching the
    mysqld and setting log_error command line option.

commit 2176993f3ccdf089dc94d7e71ed573865befac06
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Jun 22 17:50:09 2015 +0200

    Bug#21328041: STREAMLINE THE INITIALIZATION OF THE ERROR LOG
    
    Part 2/2:
    - Simplify logic for enabling error log
    - Simplify logic for determining error log filename
    - Rename variables controlling error log to more clearly indicate
      what they do.
    - Reduce the scope of error log variables
    - Move error log mutex into error log implementation
    - Remove dead code
    
    Also improve the code documentation of TC_LOG.
    
    This is a pre-requisite patch for Bug21296553.

commit 552f37ff328ddfe8218da78375b26f3171a9d801
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Jun 22 17:06:54 2015 +0200

    Bug#21328041: STREAMLINE THE INITIALIZATION OF THE ERROR LOG
    
    Part 1/2: Split the transaction coordinator code from the
    general query/error logging code.

commit b8cfc386796deeb2380030966790d7f8b6a24394
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Sat Jul 4 12:24:42 2015 +0200

    Run all Valgrind tests on daily/weekly
    
    Don't abort the Valgrind testsuite even if there are more than 10 failures.
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com> over IM.

commit 1c79e4973733770928ce5929c9584d163fd7e14f
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Sat Jul 4 11:53:46 2015 +0200

    WL#2284: Increase the length of a user name
    
    Post-push fixes:
    
    main.initialize - removed incorrect test
    rpl.rpl_current_user - updated the result file
    
    (cherry picked from commit 643f354931ae8e98095ac81d90592f60970bc7fc)

commit 7dffdb566009f7f81e6110f5ec05cb129cd08523
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Sat Jul 4 11:42:59 2015 +0200

    Bug#20563954 - INNODB: SUPPORT MOVING A WHOLE DATADIR WITH GENERAL TABLESPACES.
    Bug#19896685 - INNODB: RECOGNIZE DIFFERENT PATH STRINGS THAT POINT TO THE SAME LOCATION
    Bug#20555168 - INNODB: MAKE GENERAL TABLESPACES PORTABLE FROM WINDOWS TO UNIX
    Bug#21068487 - INNODB: PREVENT RELATIVE ISL PATHS UNDER THE DATADIR
    
    Post-push fix: Fix broken build without performance schema.

commit 702bd2b97e1e514e43c3522ed9c6f760a7050e44
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Sat Jul 4 10:56:33 2015 +0200

    WL#8596 Turn STRICT_MODE submodes ON by Default
    
    Post-push fix:
    Fix rpl.rpl_binlog_json test failure - update result file.
    Fix main.help_verbose test failure - update regexp so
      that it doesn't match ERROR_FOR_DIVISION_BY_ZERO

commit b87437d4b0cf7c0576516af8756e3c1e1bca5d74
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Jul 3 12:46:14 2015 +0200

    WL#7755: mysqlpump: Extend mysqldump functionalities
    
    Post-push fix: Fix clang compiler warnings when compiling Boost.
    
    (cherry picked from commit b393c8c98ebc69ab9bc4752b9a661288f87d70b9)

commit c6d583b4872d739c0849120184dc5a142d7b1042
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Sat Jul 4 09:39:14 2015 +0200

    WL#6631: Detect transaction boundaries
    
    Post-push fix: Fix broken Werror build.

commit fc03b3cad66ef016c5ad7170e0d37319c155a734
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Jun 30 14:00:00 2015 +0300

    WL#8540: Support IF [NOT] EXISTS clause in CREATE/DROP USER

commit 64990f4c59422604e8419f04be8c7ddfd7cd539a
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Sat Jul 4 10:30:11 2015 +0800

    Adjust two test results due to previous WL#8149 checkin

commit 95fc55df584298a817a108ddad9725c6d58ef47b
Merge: 1400afa d8ff45f
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Sat Jul 4 01:24:07 2015 +0800

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit 1400afa5dd8420eb6ec7f1278429f76fb0f78397
Author: Jimmy Yang <jimmy.yang@oracle.com>
Date:   Sat Jul 4 01:14:45 2015 +0800

    WL#8149  B-tree Index Support on non-materialized virtual columns
    WL#8114  Don't store virtual generated columns in database
    WL#8227  Support SEs to create index on virtual generated columns
    WL#8481  Callback for computation of virtual column index values
    from InnoDB purge threads
    All 4 worklogs are to support virtual column and virtual index on such
    columns.
    
    rb://8638

commit d8ff45fb238cdbc05cd1c889c4b9e9ab350d82f0
Merge: a08bfce ca927fe
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Fri Jul 3 16:25:00 2015 +0100

    Merge branch 'mysql-5.7-wl6631' into mysql-5.7
    
    WL#6631: Detect transaction boundaries
    
    Adds a new sysvar "session_track_transaction_info" which
    defaults to "OFF".
    
    When set to "STATE", transaction state will be reported
    to the client (not in a transaction, in implicit trx, in
    explicit trx, trx reads attached, unsafe reads attached,
    trx writes attached, unsafe writes attached, LOCK TABLES
    used, etc.). This helps load balancers and the like make
    decisions about whether it is safe to switch a given
    connection away from a server (using just the "in
    transaction" flag is useless for long BEGIN ... COMMIT
    AND CHAIN ... COMMIT AND CHAIN ... well, chains).
    
    When set to "CHARACTERISTICS", information of how to
    restore transaction characteristics (WITH CONSISTENT
    SNAPSHOT, READ ONLY|WRITE, ISOLATION LEVEL, etc.) is
    reported in addition to the above "STATE".
    
    To subscribe to this feature, a client needs to be linked
    against a libmysql recent enough to support tracker items /
    extended OK messages.

commit a08bfce591fd0f4b4d0a7824cb651ee38f3270ba
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Fri Jul 3 19:38:22 2015 +0530

    WL#8594 - PROVIDE AN OPTION TO REJECT USER TABLE CREATION UNDER SPECIFIED STORAGE ENGINES.
    
    This worklog addresses the following functional requirements:
    * Provide a global command-line server startup option
     --disabled-storage-engines which accepts comma delimited
    storage engine names. DDL's which end-up creating new table
    or tablespace on these engines will be disallowed.
    Specifically,  'CREATE [TEMPORARY] TABLE', 'ALTER TABLE ... ENGINE'
    and 'CREATE/ALTER TABLESPACE' using one of above engine.
    
    * The SQL statements  'CREATE [TEMPORARY] TABLE',
    'ALTER TABLE ... ENGINE' and 'CREATE/ALTER TABLESPACE'
    shall fail with the error "Storage engine 'storage engine name'
    is disabled (Table creation is disallowed.)" for the storage
    engines specified by disabled-storage-engine option. This
    option shall be noop and will have no effect when the
    server is either started with --bootstrap or
    --skip-grant-tables options.
    
    * This option does not affect any other DDL statements except
    for, 'CREATE [TEMPORARY] TABLE', 'ALTER TABLE ... ENGINE' and
    'CREATE/ALTER TABLESPACE'
    
    * This option shall be noop and will have no effect when the
    server is either started with --bootstrap or --initialize or
    --initialize-insecure or --skip-grant-tables. The bootstrap
    and related options are used by sys admin to initialize
    system tables to prepare the server to operate normally and
    --skip-grant-tables is meant to provide full control with
    no authorization required.

commit f3548a1db636de2eae1549a98796f9b6a50cc75e
Merge: 27b2694 d758d9a
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jul 3 17:39:07 2015 +0300

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit d758d9a1bd0b2f83e82e98d765bb5fb79452f777
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jul 3 16:21:37 2015 +0200

    BUG#21245805 HA_INNOBASE::RECORDS_IN_RANGE() RETURNS CONSTANT FOR SPATIAL INDEXES
    
    Post-push fix: broken build with -Werror in optimized mode.

commit 27b2694af9453250b0207d53929a5d1b4a633c1f
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jul 3 17:07:52 2015 +0300

    Revert "Bug #21024340: 2nd attempt"
    
    This reverts commit b3c3e55490c63f33282018106fa2081f133e22e3.
    causes problems with replication

commit e00ef8b8819cbd64ea5dd2686a6308bc2ab1e496
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jul 3 17:07:42 2015 +0300

    Revert "Addendum to bug #21024340: fixed the unit tests"
    
    This reverts commit ed93cd906578e524eb3a3f4ee246784e8a7272d5.
    causes problems with replication

commit 086d731ab299563b1b74f01def327776bcc34958
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jul 3 17:07:28 2015 +0300

    Revert "Bug #21024340: Resolved the congestion on the zeroth mutex in the"
    
    This reverts commit f29a21a6fbd008039d42b13f189a855bad6dba3a.
    causes problems with replication

commit 01f6351098b12a94b6dc36d71db9bd2c9238999c
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jul 3 17:06:52 2015 +0300

    Revert "Bug#21024340: split the plugin mutex"
    
    causes problems with replication.

commit 14257d4f4bdd9d64bbfb2663df8b6314306db5e8
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Fri Jul 3 18:15:40 2015 +0530

    WL#7755: mysqlpump: Extend mysqldump functionalities
      Mysqlpump is a new client utility similar to mysqldump, however mainly
      focussed to improve the performance of taking dumps. This new tool
      would achieve the following:
      1. Provides basic functionality of mysqldump.
      2. Allows to take dumps in parallel using multiple threads and queues
         which can be configured using command line options.
      3. Allows various object filtering options which can be used to specify
         what databases or database objects to be included or excluded from
         dump.
      4. Allows the dump files to be compressed using LZ4 or ZLIB library.
      5. Provides an option to watch progress of dump.

commit 6d1d0213ad5a29d7edb757dc684f842c69872b6e
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Jul 3 17:07:53 2015 +0530

    WL#8596 Turn STRICT_MODE submodes ON by Default
    
    Add NO_ZERO_DATE, NO_ZERO_IN_DATE and ERROR_FOR_DIVISION_BY_ZERO
    sql modes back and to the set of default sql modes.
    
    Report warning is a set of NO_ZERO_DATE, NO_ZERO_IN_DATE,
    ERROR_FOR_DIVISION_BY_ZERO and strict mode in used.

commit ae4c80b606ddc08e8f5ea58b3f79523cfb33b294
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Fri Jul 3 14:42:14 2015 +0200

    Bug#21238614 ST_BUFFER(LINESTRING) MAY PRODUCE AN INVALID POLYGON
    
    Fix maybe-uninitialized warnings.
    Replace round with round_cast in rescale policy.

commit ae0a6669890b1f58efd171084b6279042a640124
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri May 15 17:38:33 2015 +0200

    WL #2284: Increase the length of a user name
    
    Increase the length of "User" in all privilege-related
    tables to 32 characters.
    
    This worklog covers the following areas:
    1) General change : Change macros (USERNAME_LENGTH,
    MYSQL_USERNAME_LENGTH, ...)
    and cover system tables, scripts, ps tables, ...
    2) Upgrade : Script changes
    3) Downgrade : Script changes + Conditional (fails in case user with
    length <=16)

commit 16e8ed75762fedffc7ed7061baa25c94cc3dd4b6
Author: Olav Sandstaa <olav.sandstaa@oracle.com>
Date:   Sun Jun 28 11:38:26 2015 +0200

    WL#7340 IO aware cost estimate function for data access
    
    This worklog extends the optimizer cost model to take into account
    whether data and indexes must be read from disk or are likely already
    present in a memory buffer.
    
    -The cost model will use estimates from the handler/storage engines
     about how much of tables and indexes are present in memory (see
     WL#7168) in its cost calculations.
    
    -A new cost constant named "memory_block_read_cost" representing the
     cost of accessing data that is in a memory buffer inside the storage
     engine. This constant corresponds to the existing cost constant
     "io_block_read_cost" that is used when a block needs to be read from
     disk.
    
    In this initial version the default value for memory_block_read_cost
    is the same as the default value for io_block_read_cost.
    
    Per-file comments for some of the test changes:
    
    main.index_merge_delete:
      One query now merges three indexes instead of two due to changes in the
      model for disk sweeps used by index merge.
    main.index_merge_myisam:
      Minor change in cost estimates in JSON output due to changes to cost
      model for disk sweeps used by index merge.
    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 main.myisam_explain_json_non_select_all:
    main.myisam_explain_json_non_select_none:
    main.myisam_explain_non_select_all.result
    myisam_explain_non_select_none.result
      Minor changes in cost estimates in JSON output due to changes to cost
      model for disk sweeps used by index merge and DS-MRR.
      Added more data to two queries to preserve original query plan as index
      merge.
    main.partition_index_innodb:
      Increase number of records in table in order to preserve original query
      plan. This was needed due to changes in cost model for disk sweeps used
      by index merge.
    main.subquery_sj_all:
    main.subquery_sj_all_bka:
    main.subquery_sj_all_bka_nixbnl:
    main.subquery_sj_all_bkaunique:
      Two queries changes from using FirstMatch to use Materialization due
      to a small change in the cost estimate for DS-MRR.
    opt_costmodel.result:
      Re-recorded to reflect that the engine_cost table now has a new entry
      for memory_block_read_cost.
    opt_costmodel_flush.test:
    opt_costmodel_flush.result:
      Replaced use of io_block_read_cost with memory_block_read_cost since
      the test tables are so small that they are in the InnoDB buffer.
      Changing the value for io_block_read_cost do not longer have any
      impact on the test queries.
    opt_costmodel_restart.test:
    opt_costmodel_restart.result:
      Replaced use of io_block_read_cost with memory_block_read_cost since
      the test tables are so small that they are in the InnoDB buffer.
      Changing the value for io_block_read_cost do not longer have any
      impact on the test queries.
    opt_costmodel_warnings.result:
      Re-recorded to reflect that the engine_cost table now has a new entry
      for memory_block_read_cost.
    suite/opt_trace/r/bugs_no_prot_all.result:
    suite/opt_trace/r/bugs_ps_prot_all.result:
    suite/opt_trace/r/range_no_prot.result:
    suite/opt_trace/r/range_ps_prot.result:
      Minor changes in cost estimates optimizer trace due to changes to cost
      model for disk sweeps used by index merge and DS-MRR.
    unittest/gunit/faketable.h:
      Initialize the handler object's table pointer to point to the table.
    unittest/gunit/opt_costconstants-t.cc:
      Added unit tests for the new SE_cost_constants::memory_block_read_cost()
      function.
    unittest/gunit/opt_costmodel-t.cc:
      Added unit tests for the new functions added to the Cost_model_table class.

commit b8416537e0df2927f9529b0e137991683d2ee230
Author: John H. Embretsen <john.embretsen@oracle.com>
Date:   Fri Jul 3 13:42:35 2015 +0200

    RQG json redefine: Adaptations for utf8mb4 charset and utf8mb4_bin
     collation, as it is the only one fully compatible with the JSON
     implementation.
    
    It is recommented to use the following settings in the RQG command:
    
    --mysqld-boot=--character_set_server=utf8mb4
    --mysqld-boot--collation_server=utf8mb4
    
    to ensure that comparisons are done according to the JSON collation.

commit c0b166884d84407e2853aa447ced90bf660b3691
Merge: 2e2440f 6154e63
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Fri Jul 3 16:58:31 2015 +0530

    Bug#18487951 - QUERY_CACHE_MIN_RES_UNIT SET TO ZERO, CRASHES IN QUERY_CACHE::FIND_BIN
    
    Follow up patch to fix sys_vars.query_cache_min_res_unit_basic_32 test failure.
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 6154e63999a5c717d9a86e2efa056b0b790f0ca4
Merge: b68249f 993f4ec
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Fri Jul 3 16:56:53 2015 +0530

    Bug#18487951 - QUERY_CACHE_MIN_RES_UNIT SET TO ZERO, CRASHES IN QUERY_CACHE::FIND_BIN
    
    Follow up patch to fix sys_vars.query_cache_min_res_unit_basic_32 test failure.
    
    Merge branch 'mysql-5.5' into mysql-5.6

commit 993f4ec0f8f6e915508ecbf87841fa5229257f53
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Fri Jul 3 16:56:13 2015 +0530

    Bug#18487951 - QUERY_CACHE_MIN_RES_UNIT SET TO ZERO, CRASHES IN QUERY_CACHE::FIND_BIN
    
    Follow up patch to fix sys_vars.query_cache_min_res_unit_basic_32 test failure.

commit 2e2440f374b51d3b3b9cec4072021882fca46d4f
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Fri Jul 3 14:20:34 2015 +0300

    Post-push fixes to BUG#21095969: test only.

commit f0fd73b1fb5430225cf1afbf23b6f22f11202967
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Jul 2 14:53:51 2015 +0200

    Bug#21362781 ADD ST_NUMINTERIORRING ALIAS FOR ST_NUMINTERIORRINGS
    
    Add ST_NumInteriorRing as an SQL/MM and SFA-CA compliant alias for
    function ST_NumInteriorRings.

commit 585ed9e74b620e87c0c69e239dcd1999ac4c36c6
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Jul 3 11:45:19 2015 +0100

    BUG#21305976
    
    Fixed a bad merge. Extra line ended up in the code.

commit e36cd9191e7333d4348482541f496887f22e772d
Merge: bca5845 b68249f
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Jul 3 11:31:48 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	sql/rpl_slave.cc

commit b68249f0c6be85472417b477facafe361d464559
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Jul 3 11:29:45 2015 +0100

    BUG#21305976: REPORT RELAY_LOG_FILE AND RELAY_LOG_POS ON RELAY-LOG-RECOVERY.
    
    Extends the error log entry that reports the new recovery
    positions when relay-log-recovery is set. Now it also reports
    the old relay log positions.
    
    Added test case.

commit bca5845d7096ce727e4e6d21feab1b6680c43106
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Jul 3 12:23:07 2015 +0200

    Bug #16555723: REPLICATION CONNECTION SHOULD SET PROGRAM_NAME ATTRIBUTE
    
    Follow-up patch to fix test failures.
    
    Approved by Luis Soares <luis.soares@oracle.com> over IM.

commit bbd3438589bb4ea46a938cae582f5cec26367388
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Fri Jul 3 15:20:11 2015 +0530

    Bug#21355202: PROVIDE ACCESS TO SERVER REPORT_HOST AND REPORT_PORT VARS TO GROUP REPLICATION
    
    performance_schema.replication_group_members.MEMBER_HOST and MEMBER_PORT column
    will use startup option report-host and report-port when set, as value provided
    by glob_hostname, which used gethostname() function internally to determine
    hostname, will not always provide correct network interface,
    especially in case of multiple network interfaces. And report-port should be
    used when provided as it may not be listening on a nondefault port.

commit 99ffbef27ab38cdf1ad8f023b1994f58eaa0d0d5
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri Jul 3 17:26:42 2015 +0800

    Followup:BUG#21245805 HA_INNOBASE::RECORDS_IN_RANGE() RETURNS CONSTANT
    FOR SPATIAL INDEXES
    
    Fix an error in rtree_area_overlapping.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> over IM

commit dfbe327ee3178225df2655b7d0fc39a76b4bb191
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Fri Jul 3 11:18:15 2015 +0200

    WL#7909: Server side JSON functions
    
    Added primary keys to tables on rpl_json test so that it can run on
    Group Replication.

commit 102f8b5b70f84d3dcdb42dd11ebc32d9c5cdc10e
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Fri Jul 3 09:58:07 2015 +0200

    WL#7909: Server side JSON functions
    
    Post-push fix: Update result file for innodb.innodb_mysql.

commit c0151229e000eea1e49484327e24b8c35ad4f8fc
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jun 26 16:00:41 2015 +0300

    Bug#21024340: fixed a platform dependency

commit f29a21a6fbd008039d42b13f189a855bad6dba3a
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jun 26 13:06:31 2015 +0300

    Bug #21024340: Resolved the congestion on the zeroth mutex in the
    array by making sure the right THD reference is used in as many
    places as possible.
    Modified some of the function to take and pass down the THD as
    appropriate, while still not adding the plugin to thd->lex->plugins.
    THD=0 was used mostly to denote the above.
    Manually verified that the audit log operations don't cause congestion
    anymore.

commit ed93cd906578e524eb3a3f4ee246784e8a7272d5
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Jun 12 12:35:06 2015 +0300

    Addendum to bug #21024340: fixed the unit tests

commit b3c3e55490c63f33282018106fa2081f133e22e3
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Jun 9 15:56:05 2015 +0300

    Bug #21024340: 2nd attempt
    
    * Implemented a Partitioned_lock abstract base class.
    * Made the lock guards work over the abstract base class.
    * Implemented Partitioned_rwlock as a subclass of Partitioned_lock
    * Implemented Partitioned_mutex as a subclass of Partitioned_lock
    * Added the rdlock, wrlock and no lock assert methods to
      Partitioned_lock and implemented in the sub-classes
    * Changed LOCK_plugin to a Partitioned_mutex.
    * Added some THD passing since now rdlock asserts need the same id as the
      locking functions.
    * Moved a plugin definition from xa.h into plugin.h
    * Implemented Marc's review comments: changed the instrumentation flag for
      LOCK_plugin and added a local variable for thr_id.

commit 5eda09f35fad0c15be2ecc524f0dd875dfa8daf1
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Jul 3 12:14:17 2015 +0530

    WL#7709 : Add server-side option to require secure transport
    
    Description : 1. Introduced a boolean, dynamic, global variable : require_secure_transport
                  2. When set to On, it allows only following type of connections
                     On Linux : Socket connections, TCP connections with TLS
                     On Windows : Shared Memory connections, TCP connections with TLS
                  3. Default value : Off
                  4. Added required unit tests
                  5. Modified existing test scripts to include new variable

commit 992e42df1190299e45dba66f4602f4169bb7bb82
Author: David Zhao <david.zhao@oracle.com>
Date:   Fri Jul 3 12:23:12 2015 +0800

    Bug#21109896 POLYGON INTERSECTION POLYGON CAN'T PRODUCE LINESTRINGS AS RESULTS
    
    Followup fix: fixing an old gcc compile error.

commit 75ac9f79632c410da834f336f806524394a29ae5
Merge: e05d1a2 058a68a
Author: Ben Krug <ben.krug@oracle.com>
Date:   Thu Jul 2 20:46:26 2015 -0700

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit e05d1a2462a4ec4d66ff04d90410f7a9072ba6a7
Author: Ben Krug <ben.krug@oracle.com>
Date:   Thu Jul 2 20:34:44 2015 -0700

    Bug #16555723: REPLICATION CONNECTION SHOULD SET PROGRAM_NAME ATTRIBUTE
    
    add program name to connection attributes on connecting, in line with other clients.  (Set to mysqld.)  Also add new attributes, _client_role (binary_log_listener) to clarify connections role, and _client_replication_channel_name for future channels to distinguish their roles.

commit 6eb17285750b5d21009a36ffd7100980dd12a0bc
Author: Ben Krug <ben.krug@oracle.com>
Date:   Thu Jul 2 20:24:48 2015 -0700

    Bug 16555730 - FEDERATED SHOULD DEFINE CONNECTION ATTRIBUTES TO IDENTIFY ITSELF
    
    in line with design decisions made, updated session connection attributes, setting program_name to mysqld rather than federated (so as not to overload), and added _client_role, set to federated_storage.

commit 058a68a7b865273f2ef79cd5ed2ab0d91dd46ef5
Merge: 51456369 3976d41
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Jul 3 07:57:54 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3976d4107493202472dae251ea08730d40892ecd
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Jul 3 07:49:45 2015 +0530

    Bug #20238729: ILLEGALLY CRAFTED UTF8 SELECT PROVIDES NO
                   WARNINGS
    
    Post-push fix.

commit 51456369a5b298e4d248ae68522f45f3020e7a96
Author: David Zhao <david.zhao@oracle.com>
Date:   Fri Jul 3 08:10:33 2015 +0800

    Bug#21109896 POLYGON INTERSECTION POLYGON CAN'T PRODUCE LINESTRINGS AS RESULTS
    
    Issue:
    
    When computing polygon1 intersection polygon2, we could only return areal and
    point intersection results, but couldn't return linear intersection results.
    
    Fix:
    
    Besides computing the areal intersection(i.e. polygons), also compute linear
    intersection results as steps below, and compute point intersection in a
    different way than before.
    
    0. Compute multipolygon intersection result mplgn1  from the two
    [multi]polygons arguments.
    
    1. Compute multilinestring intersection result mls1 from the two
    [multi]polygons arguments. The mls1 contains all linear & point intersections.
    
    2. Remove from mls1 the linear portions that have linear intersection with
    the rings of mplgn1.
    
    3. Extract points from mls1 and remove duplicate points, and now we have the
    point intersections mpts1. The remaining linestrings in mls1 are real linear
    geometries.
    
    4. Put mpts1, mls1, and mplgn1 into a geometry collection as final result.
    If one or two of the 3 geometries don't exist, the final result can
    be either one of them, or a geometry collection containing two of them.

commit 32f3964c2e2f61dae5c1c87ff7ebfdc17cf602d7
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Thu Jul 2 22:03:54 2015 +0300

    Bug#21095969 related: adapting the fixes test to 5.7.

commit 63389b10cb7ef2cff542da0fededcd1555d8482b
Merge: f4284b7 62b0254
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Thu Jul 2 21:51:10 2015 +0300

    Merge remote-tracking branch 'remote_5.7_Bug20920851/mysql-5.7' into mysql-5.7
    with Bug #20920851 fixes.

commit f4284b74b1c9f2267f36eb5308ed94a0450f20c8
Merge: 892309f 7da639e
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Thu Jul 2 21:34:35 2015 +0300

    Merge branch 'mysql-5.6' into mysql-5.7 with Bug#21095969 fixes.

commit 7da639e75ca7710c3aaf81b5fa47994bab4e62ea
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Tue Jun 23 19:30:19 2015 +0300

    Bug#21095969 RPL+LOCK_WAIT_TIMEOUT: BOOL TRANS_CHECK_STATE ASSERTS `THD->GET_TRANSACTION().
    
    The reported assert in the slave temporary failing transaction block happens
    *every* time when the replicated transaction faces a temporary error and
    the slave's recovery tables (aka info repositories) are of the transactional
    type. Indeed, such replicated deadlocked or timed-out transaction is to
    be rolled back and re-tried whenever @@global.slave_trans_retries > 0.
    
    Before it is rolled back, the applier calls global_init_info where
    thanks to BUG16533802 fixes, global_init_info starts a new (short-lived) transaction
    when relay_log_info_repository_type='TABLE'.
    And that leads to an assertion about improper transaction state
    because the temproary failing one it still active.
    
    Fixed with relocating a part of general cleanup of the slave applier
    (cleanup_context) to be executed before global_init_info().
    Running the former function prior the latter must be safe and actually
    makes much more sense.

commit 62b02547b21afba2b3370b75c167acb46c948cd0
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Wed Apr 22 20:03:55 2015 +0300

    Bug #20920851 	ASSERTION `IS_STARTED()' IN HA_TRX_INFO::NEXT() AT TRANSACTION_INFO.H:138
    
    The assert is hit when XA transaction updated only a non-transactional table and
    went to prepare stage.
    At that time MYSQL_BIN_LOG::write_binlog_and_commit_engine() is invoked where
    the trx should not attempt any committing. But that's happened.
    The binlog "engine" managed to commit_low() in conditions of the reported case
    which led to the assert few instructions later
    
    #7  0x00007fad151dbe42 in __GI___assert_fail (assertion=0x1e37d16 "is_started()", file=0x1e37c68
    #8  0x0000000000fafcf7 in Ha_trx_info::next (this=0x7fac8c002028) at
    #9  0x0000000000f9dfa9 in ha_prepare (thd=0x7fac8c000bb0)
    
    More analysis proved there's an "inverted" related issue in the rollback branch.
    When the pure non-transactional engine xa transaction is rolled back, this time, it
    misses to execute rollback_low() method to leave a screwed state which
    the following query discovers hiting against an assert.
    
       bool trans_commit_stmt(THD*): Assertion
       `thd->in_active_multi_stmt_transaction() || thd->m_transaction_psi
       == __null' failed.
    
    And finally, testing revealed a case of no test coverage so far in combination
    of XA ROLLBACK, no transactional tables involved and no XA PREPARE.
    In such case logging was just incorrect mixing XA START and ROLLBACK.
    
    The original issue is fixed with making
    MYSQL_BIN_LOG::write_binlog_and_commit_engine() to compute a local boolean flag `skip-commit'
    correctly based on the value of the XA state.
    Commit is disallowed when the state is Prepared.
    To satisfy to the ONE-phase XA, the committing XA is also made
    to receive XA_PREPARED status, as intermediate, right after the prepare phase is done.
    in a general commit handler of ha_commit_trans().
    
    The second issue of the rollback part is fixed with relocating an existing explicit
    rollback_low() for xa-rollback to a safer point.
    
    And the final third issue is fixed with augmentment of
    ending_trans()'s the trans_cannot_safely_rollback(thd) branch to
    compose an appropriate Query-log-event.
    Logics of preventing second time do_binlog_xa_commit_rollback()
    invocation that is actual to the "externally" committing XA is
    simplified.
    The former idea was in that the first invocation of
    do_binlog_xa_commit_rollback() in the "external" XA commit branch
    would necessarily turn the cache from empty, asserted, to not empty.
    On the other hand, at running do_binlog_xa_commit_rollback() for the
    local xa the cache must be empty (because it should've been flushed at
    prepare), asserted in the rollback case too.
    Hence the state of the cache checking was correct: (the local xa go
    through, the external xa goes through once which is first time).  Now
    instead of the above deduction the 1st invocation is just gets
    explicitly flagged. And because we would like to preserve signature of
    MYSQL_BIN_LOG class methods the flag is made to pass as a new member
    of `bool binlog_cache_mngr::has_logged_xid'
    
    Mixing transactional and non-transactional tables in
    rpl.rpl_xa_survive_disconnect_mixed_engines reveal one issue in MTS
    grouping. An XA transaction "prepare" group can be closed
    with XA-ROLLBACK query which was previously missed to capture.
    A use case for that is mixed transactional and non-transactional updates.
    It's been corrected now.
    
    As a side effect is_loggable_xa_prepare() had to be refined to satisfy
    @c simulate_commit_failure.

commit 892309f1c3de7ff7ff1b78a452a1dbe984908ee8
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Jul 2 20:20:13 2015 +0200

    WL#7909: Server side JSON functions
    
    Disabled rpl_json test on Group Replication, it does not comply with
    primary key requirement.

commit 5820c9cce4f5a974a38488d440310576370e1697
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Mon Jun 15 19:18:55 2015 -0500

    InnoDB General Tablespace Portability
    
    Bug#20563954 - INNODB: SUPPORT MOVING A WHOLE DATADIR WITH GENERAL TABLESPACES.
    Bug#19896685 - INNODB: RECOGNIZE DIFFERENT PATH STRINGS THAT POINT TO THE SAME LOCATION
    Bug#20555168 - INNODB: MAKE GENERAL TABLESPACES PORTABLE FROM WINDOWS TO UNIX
    Bug#21068487 - INNODB: PREVENT RELATIVE ISL PATHS UNDER THE DATADIR
    
    RB#8293 - Approved by Marko and Jimmy

commit d9ee2ee27bc734c17fb9a0d4d4a750f80b9246df
Merge: 2300584 b374fd6
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Thu Jul 2 18:30:35 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/perfschema/r/misc.result
    	mysql-test/suite/perfschema/t/misc.test
    	storage/perfschema/pfs.cc

commit b374fd6965bdc93bdfa40bcd8c42813d5835cec4
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed Jul 1 22:35:03 2015 +0200

    Bug#19929832 EVENTS_STATEMENTS_HISTORY SHOWS ERRORS=0 WHEN THERE ARE ERRORS
    
    Incremente statement error count in end_statement().

commit 2300584b45d62b4a0fc4df9cf458368049db2e9f
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Tue Jun 23 15:58:07 2015 +0200

    BUG#21304682: VALGRIND ERRORS IN DEBUG PRINTOUTS FOR REPLICATION CODE
    
    Two places in replication code were causing Valgrind errors:
    
     1. Memory leak in Relay_log_info::wait_for_gtid_set, since it passed
        the return value from Gtid_set::to_string() directly to
        DBUG_PRINT, without storing it anywhere so that it can be freed.
    
     2. In MYSQL_BIN_LOG::init_gtid_sets would pass a bad pointer to
        DBUG_PRINT in some cases.
    
    In problem #1, an underlying problem was that to_string returns newly
    allocated memory and this was easy to miss when reading the code that
    calls the function.  It would be better to return the value through a
    parameter, since that forces the caller to store it in a variable, and
    then it is more obvious that the value must be freed.  And in fact
    such a function existed already, so we fix the problem by removing the
    (redundant) no-args version of Gtid_set::to_string and using the one-
    or two-argument function instead.
    
    In problem #2, print an empty string if we detect that the pointer
    will be bad.
    
    These bugs were found when adding some debug printouts to
    read_gtids_from_binlog.  These debug printouts never made it to the
    server code through any other bug report, but would be useful to have
    for future debugging, so including them in this patch.
    
    Additionally, removed the call to global_sid_lock->rdlock() used
    before Previous_gtids_log_event::get_str().  This is not needed since
    Previous_gtids_log_event doesn't use shared resources.

commit d701541204d7c220cd57f477d19dd7b8d281326a
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu Jul 2 16:42:05 2015 +0200

    Added mecab plugin

commit 3514021dc8a973f940048ccefa887eaf68fc9312
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Jul 2 09:33:58 2015 +0800

    BUG#21245805 HA_INNOBASE::RECORDS_IN_RANGE() RETURNS CONSTANT FOR SPATIAL INDEXES
    
    Refer to rtree_estimate() in MyISAM, return a more accurate estimation
    for spatial index in InnoDB.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 9466

commit 2d232e9b45f09cc782c6a2a7a6bc62b0d150002f
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Mon Jun 29 16:56:24 2015 +0200

    Bug#21341481 INCREASE LIBMYSQLCLIENT PATCH NUMBER FOR EACH SERVER
    RELEASE
    
    Increase the patch number of the client library version
    (major.minor.patch) for each patch version of the server.

commit c55765be9e8a5c4cbfe3e3834a4c9a228d31c18f
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Thu Jul 2 14:53:31 2015 +0200

    Bug#21238614 ST_BUFFER(LINESTRING) MAY PRODUCE AN INVALID POLYGON
    
    Tweak the expected test results by use of regex to work around the differences
    in the resulting cooridnates on various platforms.

commit ca927fe48bcf5d5726ce1d8019947f847202f451
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Thu Jul 2 13:19:16 2015 +0100

    WL#6631: Detect transaction boundaries
    
    Adds a new sysvar "session_track_transaction_info" which
    defaults to "OFF".
    
    When set to "STATE", transaction state will be reported
    to the client (not in a transaction, in implicit trx, in
    explicit trx, trx reads attached, unsafe reads attached,
    trx writes attached, unsafe writes attached, LOCK TABLES
    used, etc.). This helps load balancers and the like make
    decisions about whether it is safe to switch a given
    connection away from a server (using just the "in
    transaction" flag is useless for long BEGIN ... COMMIT
    AND CHAIN ... COMMIT AND CHAIN ... well, chains).
    
    When set to "CHARACTERISTICS", information of how to
    restore transaction characteristics (WITH CONSISTENT
    SNAPSHOT, READ ONLY|WRITE, ISOLATION LEVEL, etc.) is
    reported in addition to the above "STATE".
    
    To subscribe to this feature, a client needs to be linked
    against a libmysql recent enough to support tracker items /
    extended OK messages.

commit 5373aa9012de6ec8b21fb4977cd381580d045032
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jul 2 11:58:48 2015 +0200

    WL#7909: Server side JSON functions
    
    Post-push fix: Newer versions of clang emit warnings in boost code.
    Silence them.

commit cd1b0ab989a8b946a9770faef98b99a297070704
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Jul 2 16:29:31 2015 +0530

    Bug#21192879 : FAILED SET PASSWORD STILL HAS CONSEQUENCES
    
    Description : In cases when SET PASSWORD fails with ER_MUST_CHANGE_PASSWORD,
                  pasword_last_changed column is updated.
    
    Solution : Before changing any data in underlying system table, make sure
               that if user is trying to change someone else's password,
               user's own password is not expired.
    
    Reviewed-By : Bharthy Satish <bharathy.x.satish@oracle.com>
    Reviewed-By : Robert Golebiowski <robert.golebiowski@oracle.com>

commit 21316ae2fd9aa8c34f3857ce120923bc048bd90f
Author: Knut Anders Hatlen <knut.hatlen@oracle.com>
Date:   Thu Jul 2 10:46:58 2015 +0200

    WL#7909: Server side JSON functions
    WL#8132: JSON datatype and binary storage format
    WL#8170: Expression analyzer for GC
    WL#8249: JSON comparator
    WL#8539: Ordering of scalar JSON values
    
    Backported from mysql-trunk to mysql-5.7.

commit c71d44708fd381f7c7164c2f4f8a7264b1896074
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Thu Jul 2 12:27:40 2015 +0200

    BUG#21111229 RESET SLAVE ALL BEHAVES DIFFERENT FOR DEFAULT AND
                 NON-DEFAULT CHANNELS
    BUG#21107331 RESET SLAVE ALL DOESN'T RESETS SLAVE_RETRIED_TRANSACTIONS
    
    Disabled rpl_reset_slave_all test on Group Replication, it tests
    asynchronous replication behaviour.

commit 4fd9e8cfa26ce15d1265c660f5920df4b9e3211c
Merge: 3d37374 a2e93f7
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Jul 2 13:14:01 2015 +0300

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit a2e93f7d29f79eb104f7aa951be6de4f51d6531b
Merge: 0ec229d 4f8cfff
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Thu Jul 2 15:35:50 2015 +0530

    Bug#18487951 - QUERY_CACHE_MIN_RES_UNIT SET TO ZERO, CRASHES IN QUERY_CACHE::FIND_BIN
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 4f8cffff5c52679510ce33702fc3341ab12fd5b1
Merge: 27523c6 bc4d2f9
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Thu Jul 2 15:32:59 2015 +0530

    Bug#18487951 - QUERY_CACHE_MIN_RES_UNIT SET TO ZERO, CRASHES IN QUERY_CACHE::FIND_BIN
    
    Merge branch 'mysql-5.5' into mysql-5.6

commit bc4d2f9efb5fb7d42ec31eefaea985015bb06cca
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Thu Jul 2 15:31:55 2015 +0530

    Bug#18487951 - QUERY_CACHE_MIN_RES_UNIT SET TO ZERO, CRASHES IN QUERY_CACHE::FIND_BIN
    
    Valid min value for query_cache_min_res_unit is 512. But attempt
    to set value greater than or equal to the ULONG_MAX(max value) is
    resulting query_cache_min_res_unit value to 0. This result in
    crash while searching for memory block lesser than the valid
    min value to store query results.
    
    Free memory blocks in query cache are stored in bins according
    to their size. The bins are stored in size descending order.
    For the memory block request the appropriate bin is searched using
    binary search algorithm. The minimum free memory block request
    expected is 512 bytes. And the appropriate bin is searched for block
    greater than or equals to 512 bytes.
    
    Because of the bug the query_cache_min_res_unit is set to 0. Due
    to which there is a chance of request for memory blocks lesser
    than the minimum size in free memory block bins. Search for bin
    for this invalid input size fails and returns garbage index.
    Accessing bins array element with this index is causing the issue
    reported.
    
    The valid value range for the query_cache_min_res_unit is
    512 to ULONG_MAX(when value is greater than the max allowed value,
    max allowed value is used i.e ULONG_MAX). While setting result unit
    block size (query_cache_min_res_unit), size is memory aligned by
    using a macro ALIGN_SIZE. The ALIGN_SIZE logic is as below,
    
      (input_size + sizeof(double) - 1) & ~(sizeof(double) - 1)
    
    For unsigned long type variable when input_size is greater than
    equal to ULONG_MAX-(sizeof(double)-1), above expression is
    resulting in value 0.
    
    Fix:
    -----
    Comparing value set for query_cache_min_res_unit with max
    aligned value which can be stored in ulong type variable.
    If it is greater then setting it to the max aligned value for
    ulong type variable.

commit 3d37374af9e753bed0789b286b96ca641dacbd0a
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Jul 2 12:47:10 2015 +0300

    WL#8505: Transformed the query rewrite plugins to audit plugins

commit 0ec229da3d62ad305a34048b9b183e0a181c9f01
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Wed May 27 09:03:04 2015 +0200

    BUG#21127308: REPLICATION THREAD STATUSES NOT SHOWN IN PERFORMANCE_SCHEMA
    
    Some thread statuses related to replication were not included in the
    all_server_stages[] array.  That resulted in
    performance_schema.threads showing NULL in the PROCESSLIST_STATUS
    column (but SHOW PROCESSLIST showed the correct status).  Fixed by
    including these thread statuses in the array.
    
    Additionally:
    - Changed "Waiting for slave workers to finish." to "Waiting for slave
      workers to process their queues".
    - Changed "Waiting for GTID to be written to the binary log" to
      "Waiting for GTID to be committed"
    - Changed "Waiting for its turn to commit." to "Waiting for preceding
      transaction to commit"
    - Changed "Waiting for dependent transaction to commit." to "Waiting
      for dependent transaction to commit"
    
    Tests:
    - mysql-test/suite/rpl/t/rpl_mts_logical_clock_crash.test failed
      becuase it was waiting for
      stage_slave_waiting_for_workers_to_finish.  Fixed the test.  Also
      noticed that despite there was a timeout in wait_condition.inc, it
      just printed a message and continued running the test; it did not
      source show_rpl_debug_info.inc and did not execute 'die'.  Added
      call to show_rpl_debug_info.inc if $show_rpl_debug_info is set (also
      in some other include/wait_*.inc files), and made rpl_init.inc set
      $show_rpl_debug_info.

commit 906c9aaf2f35e07600be23a7bcb81a896514cdd5
Author: Haixiang Li <haixiang.li@oracle.com>
Date:   Thu Jul 2 10:54:00 2015 +0200

    Bug#21139522 PREPARED STATEMENT EXPLAIN DELETE .. WITH STRICT MODE VIOLATION
                 FLATLINES
    
    Description:
    ------------
    When MySQL calls 'EXECUTE s' at the first time to run a prepare statement with
    'EXPLAIN', it did not release 'column_buffer' object, if running the same
    statement at the second time, a dead loop appeared, it seems MySQL was hanged.
    
    Fix:
    ----
    Release 'column_buffer' object by a helper class.
    
    Test case added.

commit fdc46262d79e591ae9ffbb763cbcbd05f01ea261
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Thu Jul 2 11:59:44 2015 +0530

    Bug#21326013: PROVIDE ACCESS TO SERVER AUTO-INCREMENT VARIABLES TO GROUP REPLICATION
    
    WL#8445: "Group Replication: Auto-increment configuration/handling" will
    provide correct setup of auto_increment variables (auto_increment_increment
    and auto_increment_offset) value on each member, so that different members
    don't generate a duplicate auto_increment value.
    
    This bug will provide the server interface to access/change
    auto_increment_increment and auto_increment_offset variables.

commit 46b060c3a3e69b1f49a46492c7bfabdc346b4a5e
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Thu Jul 2 11:31:41 2015 +0530

    BUG#21283343 FAIL WITH INNODB_UNDO_TABLESPACES SET TO 2 AFTER WL#7943
    
    Problem :
    ---------
    1. Segmentation fault in mysqldump while trying to dump all dbs. This is
    a direct impact of WL#7943 which adds UNDO tablespaces in
    INFORMATION_SCHEMA.FILES with LOGFILE_GROUP_NAME column as NULL. In
    dump_tablespaces(), mysqldump tries to generate "CREATE/ALTER LOGFILE
    GROUP ADD UNDOFILE ..." for rows having non NULL FILE_NAME and
    FILE_TYPE = 'UNDO LOG'. The code has implicit expectation that fetched
    LOGFILE_GROUP_NAME should be non NULL and crashes when the fetch returns
    NULL for LOGFILE_GROUP_NAME.
    
    2. FILE_NAME in INFORMATION_SCHEMA.FILES is ".//undo001" instead of
    "innodb_undo001" for innodb UNDO tablespaces. This is impact of
    [WL#7806 InnoDB: Log-based discovery] where, if redo for undo tablespace
    is to be replayed, we open the undo tablespace first time during
    recovery. At this point the name is the UNDO file name (.//undo001)
    rather than the undo tablespace name. srv_undo_tablespaces_init(),
    which opens the undo tablespaces during normal startup, skips the UNDO
    tablespaces if already opened during recovery.
    
    Solution :
    ----------
    Issue-1. This issue is best resolved in mysqldump. In dump_tablespaces()
    add condition "LOGFILE_GROUP_NAME IS NOT NULL" to avoid fetching rows
    without LOGFILE_GROUP_NAME as we don't need to add any dump statements
    for such rows.
    
    Issue-2. One way to solve this is to correct the undo tablespace name
    in srv_undo_tablespaces_init, when it is already opened during recovery.
    Current fix includes ...
        a.Correct undo tablespace name if already opened during recovery
        b.Add a ORDER BY clause in i_s_files.inc to ensure correct order.
    
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    
    RB: 9476

commit cf4d41ecefcce39d30144a523f50375639145d6c
Author: Libing Song <libing.song@oracle.com>
Date:   Thu Jun 11 13:53:58 2015 +0800

    BUG#21111229 RESET SLAVE ALL BEHAVES DIFFERENT FOR DEFAULT AND
                 NON-DEFAULT CHANNELS
    BUG#21107331 RESET SLAVE ALL DOESN'T RESETS SLAVE_RETRIED_TRANSACTIONS
    
    Since default channel should always exist, so its internal objects were not
    deleted when executing RESET SLAVE ALL on default channel. But the internal
    data was not re-initialized correctly, it caused these two bugs.
    
    In this patch, we change the logic so that it deletes the original
    internal objects(Master_info and Relay_log_info) of default channel
    and then recreates them again when executing RESET SLAVE ALL on
    default channel. In this way, it can guarantee all internal data is
    re-initialized correctly.

commit 2be1085773ff548b5b5efceaca04a5fe328fdbab
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Wed Jul 1 23:04:54 2015 +0200

    Bug#21238614 ST_BUFFER(LINESTRING) MAY PRODUCE AN INVALID POLYGON
    
    Tweak the expected test results by use of regex to work around the differences
    in the resulting cooridnates on various platforms.

commit 45819ad229b9cce9b65b3f432dd42740fd06aa9f
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Wed Jul 1 22:28:35 2015 +0200

    BUG#21348278: ENABLE SLAVE PARALLEL APPLIER RECOVERY GTID BASED
    
    Parallel applier recovery, which happens after the sequence:
    STOP SLAVE, START SLAVE; is based on master log name and position,
    on Group Replication we have several masters what makes impossible
    to recover parallel applier from that information.
    Since we always have GTID_MODE=ON on Group Replication, we can
    ignore the positions completely, seek the current relay log to the
    beginning and start from there. Already applied transactions will be
    skipped due to GTIDs auto skip feature and applier will resume from
    the last applied transaction.
    
    This patch fix the above issue and also introduce some more changes:
     1) Parallel applier recovery based on GTIDs instead of
        file+position.
        This change will only affect Group Replication applier.
        Files changed: rpl_slave.cc
    
     2) Sequential execution of transactions on logical clock parallel
        applier, by setting transaction logical timestamps to (0,0).
        This was already implemented on server, but since it was not a
        valid code path, there was a warning. Now we have a valid code
        path, so warning was removed.
        Files changed: log_event.cc, rpl_mts_submode.cc
    
     3) Adapt UNTIL_SQL_VIEW_ID to parallel applier.
        Parallel applier cannot be stopped on a ongoing transaction, so
        UNTIL_SQL_VIEW_ID condition, the stop condition for Group
        Replication distributed recovery, was adjusted to take that into
        consideration.
        Files changed: rpl_rli.h, rpl_rli.cc, rpl_slave.cc
    
     4) Disallow FLUSH RELAY LOGS FOR CHANNEL "group_replication_applier".
        To avoid that DBA splits transactions among relay logs, the
        command FLUSH RELAY LOGS was disabled for channel
        "group_replication_applier".
        Files changed: rpl_slave.cc, share/errmsg-utf8.txt
    
     5) Extend Trans_context_info structure with parallel applier
        options.
        Group Replication doesn't support database parallel applier, in
        order to prevent its use, it will check if it is in use and
        error out.
        Files changed: replication.h, rpl_group_replication.cc,
                       rpl_handler.cc
    
     6) Add channel_flush() function to rpl_channel_service_interface
        Provide a API function to flush relay logs from within a plugin,
        so that START GROUP_REPLICATION can rotate applier relay log.
        Files changed: rpl_channel_service_interface.h,
                       rpl_channel_service_interface.cc

commit efa1f591304c5eeb2301e1a60b3a682aeec77364
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Tue Jun 23 15:26:43 2015 +0200

    Bug #20581228: MYSQLD --HELP --VERBOSE TRIES TO LOCK FILES
    
    Various issues are relevant to consider when running mysqld with
    options --help --verbose:
    
    1. On a loaded system, mysqld --help --verbose will initialize InnoDB in the
    same way as for an ordinary start. It will try to lock the system files
    present, and keeps trying for a hardcoded number of times, with a hardcoded
    sleep inbetween. It will eventually fail, and this will also make mysqld
    --help --verbose fail and report an error.
    
    2. On an existing but empty datadir, InnoDB will create the system files
    while initializing. These files will be left behind after mysqld --help
    --verbose is finished, and will make a subsequent mysqld --initialize fail
    due to the datadir not being empty.
    
    3. On a non-existing datadir, the plugin table will not be found, and mysqld
    --help --verbose will fail too.
    
    InnoDB is initialized in order to enable reading the plugin table, which
    contains the dynamic plugins. However, this is relevant only in issue 1
    above. For issue 2 and 3, there is no point in initializing InnoDB since only
    the builtin plugins will be listed anyway.
    
    This patch applies the same constraint also in the first situation above.
    Thus, we let mysqld --help --verbose only list options belonging to the
    builtin plugins, and skip the dynamic ones. This allows us to execute
    mysqld --help --verbose without initializing InnoDB and without opening the
    plugin table, and this solves all three issues listed above.

commit f61eccde24865b2ae606889a6694e4551d5c3966
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Wed Jul 1 15:33:15 2015 +0100

    Post-push fix: Bug#20865683 IF AUTOCOMMIT=OFF AND GTID_NEXT='UUID:NO', GTID_MODE SWITCHING SHOULD BE BLOCKED
    
    sys_vars.gtid_executed_basic test was failing because master was not being reset in the begining.
    Changed check on update for variable explicit_defaults_for_timestamp so that gtid_next is not considered.

commit ef905951109155434e4f7581df7bf41876e1751f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Jul 1 13:35:56 2015 +0200

    Bug#21355630: MYSQL_CONFIG_EDITOR ASSUMES SIGNED CHAR
    
    The problem was that check_and_create_login_file() inside
    mysql_config_editor.cc is declared to return my_bool but
    instead returns 0/-1. Since my_bool is implemented as char,
    this becomes a problem for platforms where char is unsigned
    such as ARM and PowerPC. When the return value is assigned
    to int, -1 is no longer -1.
    
    The net consequence is that in some cases mysql_config_editor
    can report success when the operation has actually failed.
    
    This patch fixes the problem by using TRUE/FALSE (=1/0)
    instead of -1/0.

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

    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.

commit 64e23f5c05aa1d6e2b1dd87c0c5b914cc197249b
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jul 1 17:10:42 2015 +0200

    Update docker package names

commit dc4f0785d741d8f6779e7540f009628bfdc258c2
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Wed Jul 1 13:33:23 2015 +0300

    Fixing bug208866059 post-push failure in rpl_wl6292.

commit 78d3ea6aa202d6d2d9ae53c63a7009a9c970a510
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Jun 30 14:30:47 2015 +0200

    Bug#21286221: DEBUG SERVER CRASHES ON RESET SLAVE WITH
                  LOCKED VERSION TOKEN
    
    The problem was that RESET/FLUSH statements could trigger a debug
    assert if the current connection had acquired any locking
    service locks. This had no consequences for release builds.
    
    This patch fixes the problem by adjusting the assert so
    that it takes the possibility of locking service locks
    into account - similar to what it already did for user level
    locks.

commit b2971ee366b39645263131cad1d7a458dc65d791
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Mon Jun 22 17:16:06 2015 +0100

    Bug#20865683 IF AUTOCOMMIT=OFF AND GTID_NEXT='UUID:NO', GTID_MODE SWITCHING SHOULD BE BLOCKED
    
    Problem:
    When autocommit is set to off and gtid_next is set to 'UUID:NUMBER', then gtid_mode switch
    was not being blocked.
    
    Fix:
    In addition to blocking a gtid_mode and an enforce_gtid_consistency switch when there is
    an active multi-statement transaction, the switch is now also blocked when the thread owns
    an anonymous transaction or the gtid_next is set to 'UUID:NUMBER'.
    The check for 'gtid_next' was changed because: i) this situation is dealt with differently
    when 'gtid_next' value is updated, and ii) the 'gtid_next' check only verifies if the thread
    is in a multistament transaction if the transaction is not in the prepared state.

commit 6f7bb2e886993c7fd5295dbc1e9df2c56ce4b654
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Thu Jun 11 20:58:02 2015 +0300

    Bug #20866059   CAN'T ENABLE EXPLICIT_DEFAULTS_FOR_TIMESTAMPS W ROLLING UPGRADES IN CHAINED RPL
    
    The bug is essentially in that the binlog event applier (slave, or
    mysqlbinlog client) miss out a necessary part of Query event execution
    context. Specifically the part is
    
    MASTER@@session.explicit_defaults_for_timestamp
    
    value in the context of CREATE or ALTER table queries whose attribute
    list includes at least one TIMESTAMP column.
    
    ***Here goes some analysis***
    
    More specifically the TIMESTAMP attribute declaration that does not
    have explicit NULL or NOT-NULL is subject to dual interpretation at
    the query execution, which is controlable by the @@session var.
    Which of the two methods (per the two var's values) was chosen by
    the Master the binlog applier might have no idea.
    
    The applier can learn about this type of execution context when events
    are received (relay-logged) immediately from pre-WL6292 server thanks
    to WL6292 introduced server version adaptation framework VAF (and
    Bug19630322 fixing an MTS issue in it).
    
    But once such events are relayed further downstream chain that info gets lost.
    
    This patch addresses the following points of the issue.
    
     Legends:
    
     M - stands for Master server, S - for the applier (slave) server.
     The LaTeX style subscipt `_x' stands for a version `x'.
     `wl6292' is a version value
     corresponding to that of where the WL was pushed to.
     `fixed' is the current being fixed server version.
     `pre#' is for a version before that it prefixes.
     `[]' designates any in a range.
     `()' parameteries the server with a specific values of global var.
    
        Pre-WL6292 master events relayed downstream of chain replication:
    
    M_pre#wl6292 -> S_fixed -> S_fixed -> ...
    
    Data on S:s are consistent with the M.
    
        Cross "@@explicit_defaults_for_timestamp"-replication,
        from/to servers having different values of the var in the logger and in the applier.
        The chain replication is covered as well:
    
    M_fixed(the-var := true)  -> S_fixed(false) -> S_fixed(true) ...
    
    Notice that a problem of replicating from the WL6292 and later pre-fixed M
    to fixed S is unsolvable in principle:
    
    M_[wl6292..pre#fixed] --X-> S_fixed
    
    because the var's value can't be learned by S_fixed even through VAF
    (in contrast, on the pre#wl6292 servers the "var"'s value is false,
    "" - as there's no such variable).
    The patch treats this case with an assumption that M's value, awareness
    of which is detected by VAF, is the same as the S' one.
    
    In more details the first link of p.1 M_[0..pre#wl6292] -> S_fixed remains to be fixed by VAF
    (see MTS fixes in bug19630322).
    
    S_fixed -> S_fixed is fulfilled in the current bug's patch with
    enriching the execution context that is recorded along with the Query
    log event. The so called status var:s set is augmented with a specific
    token when the master's parser faces a timestamp column
    declaration. The token is essentially a boolean value
    corresponding to @@session.explicit_defaults_for_timestamp.
    
    Here is an example how the "old" intepretation settles down
    timestamp column definition:
    
    --server master
      start mysqld args: \empty
    
    --connection master
    select @@version;
    =>  5.7.8-rc-debug-log
    SELECT @@global.explicit_defaults_for_timestamp;
    => 0
    
    CREATE TABLE tc (ts TIMESTAMP);
    => OK
    
    show create table tc;
    => CREATE TABLE tc (
    ts timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1
    
    To recollect the docs, by rules of pre#WL6292 server which are in force in above
    as @@global diagnoses, when the explicit NULL is not provided the
    "implicit" NOT-NULL is added up to the actual column definition.
    Moreover, the absence of the explicit NULL is the rules' necessary condition.
    
    ***Solution***
    
    A solution that bases on exhausive analysis of parsed query details (presense of the explicit NULL)
    would be perfect.
    However that is rather tedious and the patch does not attempt precise investigation for that.
    This could be always/possibly refined later.
    A more coarse approach is taken to mark potentially vulnerable queries.
    
    Dwelling into the low level details, a new three-enum-value member added to THD.
    Two values correspond to of the two values of @@session.explicit_defaults_for_timestamp.
    When the parser processes TIMESTAMP column declaration it memorizes the actual value of
    the session var.
    Whether the member's value is changed from the default UNSET is checked out
    by the binary logger which further encodes it into a new Query-log-event status
    variable of the bool sematic.
    The meaning of the latter is to instruct the event applier about
    the actual value of @@session.explicit_defaults_for_timestamp for executing
    the Query-log-event.
    
    Notice that @@explicit_defaults_for_timestamp is turned into writable
    which is necessary because there's no other way to inform the "mysqlbinlog"
    applier about the correct context but through the variable.
    
    This type of approach is rather economic, extending only "suspicious"
    Query-log-events with two bytes. A sign of the original context is
    relayed along replication chain to lift out the reported issue in
    particular.
    
    The fixes enroll correction to main.mysqlbinlog test which dealt with
    binlog files indexed explicitly. That turned to be not future-changes safe,
    as the test limits max binlog size. And now when the new status var is added
    the index have shifted.

commit ebd60525f87a25dbfec0b399d7f2b550f2834662
Author: Nuno Carvalho <nuno.carvalho@oracle.com>
Date:   Tue Jun 30 18:40:05 2015 +0200

    BUG#21328273: UPDATE NEW RPL TESTS TO WORK WITH GROUP REPLICATION
    
    Group Replication plugin 0.5.0 version will depend on 5.7.8, we
    need to update some new rpl suite tests to work with Group
    Replication, or disable the ones that are not compatible with
    Group Replication.
    
    TESTS
    -----
    rpl.rpl_crc_check
      Not supported by Group Replication: it is testing slave behaviour.
    rpl.rpl_empty_multi_update
      Not supported by Group Replication: it uses transaction SAVEPOINTs.
    rpl.rpl_group_replication_user
      Updated error messaged on result file.
    rpl.rpl_tablespace
      Added primary key to table t1.
    rpl.rpl_gtid_dump_error
      Not supported by Group Replication: it is testing slave behaviour.

commit be3dac4f2733e3d28c87e23ba2f1b774dc902bfe
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Tue Jun 30 16:51:07 2015 +0100

    Bug#21341482: IS_SERVER_ENGINE_READY() METHOD IS NO LONGER USED
    
    The is_server_engine_ready() was a method, in the server, that could
    be used by plugins to know that such structures like the slave
    repository info were initialized.
    The method however, being based on the tc_log variable, no longer
    works and is also redundant due to the channel service interface.
    With the channel interface, the developer in the plugin can simply
    verify if the default channel exists.

commit 39ba23aaabc003a65dd5cb533b27596980ee46ef
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Fri Jun 5 12:56:38 2015 +0300

    Bug #21237637 "MOVE NULL BITS FOR VIRTUAL GENERATED COLUMNS TO THE TAIL OF RECORD PREAMBLE"
    
    Follow-up for WL#411 "Computed virtual columns".
    
    In addition to putting virtual generated fields to the end of record buffer
    we now also allocate null bits for such columns (as well as leftover bits
    for BIT columns) at the end of record preamble.
    
    This should enable storage engines which directly access/store values in
    record buffers to easily avoid storing null and left-over bits for virtual
    generated columns.
    
    This also should simplify code responsible for table opening in new
    data-dictionary tree.
    
    Incompatible change: this patch breaks binary compatibility for tables
    with virtual generated columns in storage engines which directly store
    parts of record buffer (e.g. MyISAM) which were created by earlier
    server versions.

commit 79f1744dec7eedde009f22a41890fb4a84417801
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Fri Jun 26 01:04:16 2015 -0500

    Bug#21324507
    INNODB: ASSERT(DICT_TF_GET_REC_FORMAT(TABLE->FLAGS) != REC_FORMAT_COMPRESSED
    
    This patch fixes a mistake in handling the incompatibility between TEMPORARY
    and DATA DIRECTORY.  When innodb_strict_mode is OFF, DATA DIRECTORY should be
    ignored.  If strict mode is ON, no assert occurs because the CREATE TABLE is rejected.
    if strict mode is OFF the assert occurs when creating the table because
    instead of unsetting the HAS_DATA_DIR flag, the code turns off the
    FILE_PER_TABLE flag.

commit 75b780693145f2c66b1e6c7a1cbaf12d35c1863f
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Tue Jun 30 19:43:24 2015 +0530

    REMOVED WRONG CHANGELOG ENTRY FOR PKG SRC ON ALL DEB PLATFORMS

commit 3372953bf683d2a32679d6120098a19303bbc17d
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Wed Jun 24 16:51:17 2015 +0530

    BUG#20650118  DEFAULT SSL SETUP FAILING WITH DEB PKGS AFTER USING INITIALIZE DURING DB CREATIO

commit 15638eda3565c04bd7789a174194ad31121a04fd
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Wed Jun 24 16:03:29 2015 +0530

    BUG#20315007  PACKAGE THE MECAB PLUGIN IN DEB

commit de81f02b434d32e408ea0e7259408a06e5c95da2
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Jun 30 12:49:58 2015 +0200

    Bug#21339459 REPLACE CATCH_ALL MACRO WITH FUNCTION
    
    Replace the CATCH_ALL preprocessor macro with a function that rethrows
    and catches the exception.

commit 40b0e44bff469bfe495e13722a91a0f667eb0c9d
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Tue Jun 30 12:37:56 2015 +0400

    Bug #21306646: RENAME MAX_STATEMENT_TIME% VARIABLES TO MAX_EXECUTION_TIME%
    
    After-push test result update #2.

commit e95bc238f225dfcce5e65a100be8dcd5e2fa28bc
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Tue Jun 30 09:14:13 2015 +0200

    Post-push fix: BUG#20451386 SQL THREAD CRASH: LOG-SLAVE-UPDATES OFF, RELAY LOG ENDS WITH GTID_LOG_EVENT
    
    Fix test utility rpl_receive_event_count.inc to work correctly with
    $rpl_after_received_events_action == 'stop'.

commit bb51371c01fefb28c9b19a2bdb5581a0bfed3fa3
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Tue Jun 30 15:12:16 2015 +0800

    Followup patch for Bug#21076238
    
    The new content in test case innodb_gis.rollback need 16k page
    size to store the big undo log rec.

commit 215fbc238450a600e7ecf0f86d8b9e4beb588c7c
Merge: 017e93a 27523c6
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Jun 30 10:31:38 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 27523c60a37f521ff429302fbc2afd0e3f90dd05
Merge: 4df6e51 fd55787
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Jun 30 10:30:04 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit fd5578749645eb99c7a1565246a22fd432ef9536
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Jun 30 10:27:12 2015 +0530

    Bug #20772273 : MYSQLIMPORT --USE-THREADS DOESN'T USE
                    MULTIPLE THREADS
    
    Description:- The utility "mysqlimport" does not use
    multiple threads for the execution with option
    "--use-threads". "mysqlimport" while importing multiple
    files and multiple tables, uses a single thread even if the
    number of threads are specified with "--use-threads" option.
    
    Analysis:- This utility uses ifdef HAVE_LIBPTHREAD to check
    for libpthread library and if defined uses libpthread
    library for mutlithreaing. Since HAVE_LIBPTHREAD is not
    defined anywhere in the source, "--use-threads" option is
    silently ignored.
    
    Fix:- "-DTHREADS" is set to the COMPILE_FLAGS  which will
    enable pthreads. HAVE_LIBPTHREAD macro is removed.

commit 017e93aa5b1c90ca69fd8f1e1431c78cb06e0dfa
Author: Haixiang Li <haixiang.li@oracle.com>
Date:   Tue Jun 30 03:10:39 2015 +0200

    Bug#21190532 CRASH IN QUERY_RESULT_UPDATE::INITIALIZE_TABLES AFTER
                 CREATE_TMP_TABLE FAILED
    
    Description:
    ------------
     - The reporter of bug did not give a reproducible test case.
     - This bug can not be reproduced easily.
     - The reporter of bug said, "put bug into a different status".
     - By reading code, found MySQL should check the return value of
       create_tmp_table(), so commit this patch to fix the error.
    
    Fix:
    ----
    Checking the return value of create_tmp_table(), if create_tmp_table() fail,
    return immediately.
    
    No test case.

commit 04cd11f9b62e4529c93326afc1ff1cc002e448d8
Author: David Zhao <david.zhao@oracle.com>
Date:   Mon Jun 29 17:37:51 2015 +0800

    Bug#21300713 REMOVE OLD GIS ALGORITHMS
    
    Removed the GIS algorithms which were used in the implementation of various
    GIS functions --- they are all implemented using Boost.Geometry now.

commit 5177461d42ab54b92b861b10ffa6b4b88fe6273f
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Mon Jun 29 23:08:27 2015 +0200

    Bug#21238614 ST_BUFFER(LINESTRING) MAY PRODUCE AN INVALID POLYGON
    
    Tweak the expected test results by use of regex to work around the differences
    in the resulting cooridnates on various platforms.

commit ea71dbda33d31c557bf22b8e39da27cd6849fbe2
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Mon Jun 29 20:24:05 2015 +0400

    Bug #21306392: REMOVE OLD-STYLE MAX_STATEMENT_TIME HINT (REPLACE WITH MAX_EXECUTION_TIME)
    
    After-push test update.

commit b49254262e75f37dfd42f96651c885c7e344de1e
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Mon Jun 29 16:11:24 2015 +0200

    Bug#21238614 ST_BUFFER(LINESTRING) MAY PRODUCE AN INVALID POLYGON
    
    Tweak the expected test results by use of regex to work around the differences
    in the resulting cooridnates on various platforms.

commit b03bd6a29e6494d3ff45ff45eda291cd5aeb7998
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Mon Jun 29 15:41:44 2015 +0200

    BUG#18438833 VALIDATE_PASSWORD PLUGIN NOT INSTALLED DURING DEFAULT DEPLOYMENT(FC19,FC20,EL7)
    
    Install validate_password plugin during initialize in systemd pre
    script. Plugin is also installed by initscript for rpm platforms EL5,
    EL6 and SLES11.

commit 855ef39c280bb20b8944111378b99c7ac463033e
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Mon Jun 29 14:40:51 2015 +0200

    Bug#14358878: Wrong results on table left join view
    Bug#15936817: Table left join view, unmatched rows problem where view has an if
    Bug#15967464: View evaluation incorrect when joining to view with literal
    Bug#20708288: Literal selected from derived table mentioned in outer join ..null
    Bug#20841369: Left join to view with <> test causing too many results
    
    This problem may occur for views and derived tables that are on the
    inner side of an outer join and from which we select non-nullable
    expressions such as literals. If the current row being produced by
    the executor contains null-extended values from the inner table(s),
    the non-nullable expressions are not presented with NULL values as
    they should.
    
    When field translations are created for a derived table or view
    reference, we simply set item->maybe_null= true for all fields from
    the inner side of an outer join. But for some field types, such as
    literals, this does not make sense, because evaluating such fields
    can never produce a NULL value.
    
    The solution to the problem is to extend the functionality of class
    Item_direct_view_ref. All columns selected from a view are wrapped
    in such Item objects. We enhance this class by making nullability
    depending on being on the inner side of an outer join, and being
    able to take NULL value from a null-extended row.
    
    Tests are added for these Item types, which all can be non-nullable
    unless they are selected from the inner side of an outer join.
    
    - literals
    - IS [NOT] NULL
    - IS [NOT] TRUE
    - IS [NOT] FALSE
    - IS [NOT] UNKNOWN
    - IF
    - CASE
    - COALESCE
    - NULLIF
    - IFNULL
    - IF
    
    A bug in nullability detection for CASE expressions was discovered
    during debugging and fixed.
    
    An unused constructor for class Item_direct_view_ref was deleted.

commit aa659e1061a4673a82f29967e583f3477f05e20d
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Mon Jun 29 16:11:51 2015 +0400

    Bug #21306646 "RENAME MAX_STATEMENT_TIME% VARIABLES TO MAX_EXECUTION_TIME%"
    
    After-push test result update.

commit 952040132a740f904cb69ab66c84a981066ac51d
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Mon Jun 29 17:06:57 2015 +0530

    Bug#20444737 STRING::CHOP ASSERTS ON NAUGHTY TABLE NAMES
    
    Disable test for embedded build.

commit d16220c3f9c1618ee1fb7cb4ca8740a6e2a47600
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Wed Jun 24 12:21:45 2015 +0400

    Bug #21306646: RENAME MAX_STATEMENT_TIME% VARIABLES TO MAX_EXECUTION_TIME%
    
    Since the MAX_STATEMENT_TIME syntax is removed (replaced with
    MAX_EXECUTION_TIME), it is logical to rename related command line
    parameter and system variables:
    
    * --max-statement-time --> --max-execution-time
    * @@max_statement_time --> max_execution_time
    * @@max_statement_time_exceeded --> @@max_execution_time_exceeded
    * @@max_statement_timer_set --> @@max_execution_timer_set
    * @@max_statement_time_set_failed --> @@max_execution_time_set_failed

commit c1a4c8cd65eb947c3538616d71a1d9b1380d916f
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Tue Jun 23 19:19:17 2015 +0400

    Bug #21306392: REMOVE OLD-STYLE MAX_STATEMENT_TIME HINT (REPLACE WITH MAX_EXECUTION_TIME)
    
    The old-style MAX_STATEMENT_TIME hint has been reimplemented by the new-style
    MAX_EXECUTION_TIME one.
    
    The fix cleanups the code by removing references to the old-style
    MAX_STATEMENT_TIME hint.
    
    Note: MAX_STATEMENT_TIME is not a reserved word any more.

commit 4a4b81b76201c9b5bcffcf36f9ddbd22a92218e0
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Tue Jun 23 23:08:19 2015 +0400

    Bug #21306319: HARMONIZE MAX_EXECUTION_TIME HINT WITH MAX_STATEMENT_TIME
    
    The new-style MAX_EXECUTION_TIME hint is just a new interface for the
    old-style MAX_STATEMENT_TIME hint, however, there were some unexpected
    divergences in the implementation:
    
    1. The MAX_STATEMENT_TIME clause is allowed for top-level SELECT
    statements only, but MAX_EXECUTION_TIME was allowed in subqueries as
    well.
    
    2. The MAX_STATEMENT_TIME clause is not allowed in SELECT statements
    within stored programs (stored procedures, stored functions, triggers,
    events), but MAX_EXECUTION_TIME was allowed in SPs.
    
    The fix updates the MAX_EXECUTION_TIME implementation to ignore
    that hint in subqueries/withing SP/trigger/event bodies with a
    warning.

commit 1bb161d26eefe93e1063e3d3d38573f60c5f99cc
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Mon Jun 29 13:53:30 2015 +0530

    Bug#20444737 STRING::CHOP ASSERTS ON NAUGHTY TABLE NAMES
    
    DESCRIPTION:
    
    This is a regression from the fix of Bug#16066637.
    Bug#16066637 introduced a character set conversion while writing
    to binlog. While calculating the length of the converted string,
    system default charset was being used instead of the new charset.
    This led to assert in debug build and crash in asan release build.
    
    FIX :
    
    Use the new charset to which string is converted to calculate the
    length of the string.

commit bd5003d42f113f427f5df391234a34de259e5032
Merge: 5646b91 4df6e51
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Jun 29 08:25:53 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4df6e517ed11a9072346d9a76f11aba327ab8844
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Jun 29 08:23:39 2015 +0530

    Bug #20238729: ILLEGALLY CRAFTED UTF8 SELECT PROVIDES NO
                   WARNINGS
    
    Issue:
    -----
    No warning is delivered when MYSQL is unable to interpret
    a character with the given charset.
    
    SOLUTION:
    ---------
    Check is now performed to test whether each character can
    be interpreted with the relevant charset. Failing which, a
    warning is raised.

commit 5646b91dc9980ceb88b41913304b8530a24538ab
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Fri Jun 26 15:14:51 2015 +0200

    Bug#21238969 ST_ISVALID(MULTIPOLYGON) MAY RETURN WRONG RESULT
    
    This bug was already fixed in one of the previous commits,
    fixing Bug#21238614.
    
    Add the test case in gis_bugs_crashes.

commit 38e6dfb277187de07f44fddb546b306b5fffe278
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Fri Jun 26 15:08:38 2015 +0200

    Bug#21238614 ST_BUFFER(LINESTRING) MAY PRODUCE AN INVALID POLYGON
    
    Update the Boost.Geometry files with the state from commit
    3db50a42ec6dc01e14d4e75bb82926f808f36ec5
    
    Update the expected test results because the way how the intersection
    points are calculated in setops is slightly different.
    
    Add the test case for the Bug#21238614 in gis_bugs_crashes.

commit 8d116d8bd2107704c3485e45f3989f595343a22b
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jun 26 14:53:10 2015 +0200

    Bug#21076238 ASSERT !CURSOR->INDEX->IS_COMMITTED(), GIS UPDATE,
    
    Post-push fix: broken build in optmized mode.

commit 457356d5f6baa804c2bbf7d8b184a21ed9320df3
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Fri Jun 26 10:06:01 2015 +0800

    Bug#21076238 ASSERT !CURSOR->INDEX->IS_COMMITTED(), GIS UPDATE,
    ROW_INS_SEC_INDEX_ENTRY_BY_MO
    
    This bug has 2 issues:
    Issue 1: Same as bug#20734998, partial update cause the problem. The
    different is there're more that 1 update
    in a transaction. For example, in trx1, we execute update table t1, then
    update table t2. Update t1 is ok, but update t2 hit a dup key error, so
    we need to rollback. Since the patch for bug#20734998 will set last
    updated spatial index to NULL before every update, so, update on t1 will
    be skipped. The solution is we need to search spatial index twice, one
    for finding an undel-marked rec, if can't find it, we do the second
    round search for finding a del-marked rec. And we will do some
    optimization on this later.
    Issue 2: Purge found a undel-marked rec to purge, and this shouldn't
    happen. It's caused by the spatial index is not sync with cluster index.
    And the root cause is, we generate wrong mbr for externally stored
    geometry field in function row_upd_changes_ord_field_binary_func. And
    this will cause we skipped the spatial index on this field in update.
    The solution is read the whole field data from cluster row to generate
    mbr. This issue is a flaw of bug#20313067 fix.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    RB: 9223

commit 09fb9fbee4539bfaa17ba29aaa35e01241e49514
Author: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
Date:   Fri Jun 26 14:59:56 2015 +0530

    BUG#19881933 :  TABLE CREATION WITH TIMESTAMP IS REJECTED
    
    DESCRIPTION:
    
    I. When server is started without --explicit-defaults-for-timestamp
    
     CREATE TABLE statement with more than one TIMESTAMP column fails
     with error 'Invalid default value' in STRICT mode.
     Reason for failure is related to TIMESTAMP behaviour. When server is
     started WITHOUT server option --explicit_defaults_for_timestamp,
     first timestamp column automatically gets DEFAULT CURRENT_TIMESTAMP
     ON UPDATE CURRENT_TIMESTAMP and rest timestamp columns get
     NOT NULL DEFAULT '0000-00-00 00:00:00'. '0000-00-00 00:00:00' value
     is rejected by strict mode.
    
    II. When server is started with --explicit-defaults-for-timestamp
    
     CREATE TABLE statement with 'column_name TIMESTAMP NOT NULL' fails.
     Reason is an extra check which was not handled for
     explicit_defaults_for_timestamp option.
    
    FIX:
    
    I. When server is started without --explicit-defaults-for-timestamp
    
     this isn't fixed here because --explicit-defaults-for-timestamp will
     be forced to ON in 5.8
    
    II. When server is started with --explicit-defaults-for-timestamp
    
     If the option is on, the column does not get an implicit 0 default.
     Changed check to not throw error in this case.

commit 5dbe35899890238b85f54e1c9cc313df96984ded
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Fri Jun 26 14:25:34 2015 +0530

    - Bug#19873470: SPEND TOO LONG TIME TO TRUNCATE A SMALL TABLE IN 5.7.5
    
      As part of making truncate atomic, checkpoint was added before
      truncate was mark done. This checkpoint helped in making current
      state consistent in-turn helped in skipping application of redo-entries
      from action before truncate (note these redo entries may have reference
      to a page that may not exist post truncate).
    
      Checkpoint takes significant time if parallel RW-workload is active
      eventually delaying truncate.
    
      In new approach, a special redo log record is written at start of truncate
      to cache space_id and current-lsn. In case of crash, post truncate
      before system enforced checkpoint this redo log record helps in blocking
      application of redo-entry from action before truncate but allows application
      of redo-entry from action post truncate.
    
      Reviewed by: Jimmy Yang (jimmy.yang@oracle.com)
      RB: 9305

commit d7b065060e5fe369c66a4e85cbf1570a13590fe6
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jun 25 11:01:54 2015 +0200

    Bug#21255496 REWRITER PLUGIN BREAKS ONE DEFINITION RULE
    
    Do not link with mysys, it breaks the one-definition-rule
    for everything in my_static.c
    The library is already part of the server,
    so it will be available at load-time.

commit cdd08d96bd13180c0dc704c63736c6c906377ef2
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Fri Jun 26 12:19:03 2015 +0530

    Bug#21238953 - MISSING MUTEX METRICS IN 5.7.7
    
    Problem:
    -------
    The mutex related metrics are always shown as 0 in the output
    of "SHOW ENGINE INNODB STATUS OUTPUT"
    
    Fix:
    ---
    Since the mutex metrics are shown as part of "SHOW ENGINE INNODB
    MUTEX", remove the line which always shows mutex metrics as 0
    
    This line (from SHOW ENGINE INNODB STATUS OUTPUT): "Mutex spin waits 0,
    rounds 0, OS waits 0" will be removed.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    RB: 9417

commit d85cbdcddc8745fee790d70593e9e4af1c857d4d
Author: Thayumanavar S <thayumanavar.x.sachithanantha@oracle.com>
Date:   Fri Jun 26 11:56:38 2015 +0530

    BUG#20421223 EXCEPTION 0XC0000005 IN BUF_POOL_FROM_BPAGE()
    
    (NOTE: This patch is based on the analysis and patch provided
    by Debarun Banerjee at
    http://rb.no.oracle.com/rb/r/9259/diff/1/#index_header)
    Problem :
    
    During shutdown, for windows, we are freeing the listener
    object in handle_shutdown() while the listener is running.
    handle_shutdown->close_connections [delete mysqld_socket_acceptor;]
    
    The listener thread [socket_conn_event_handler] comes out
    of blocking select call and overwrites freed memory buffer
    [m_read_fds] at about offset 136.
    
    connection_event_loop->listen_for_connection_event
    select(... &m_select_info.m_read_fds, ...);
    
    The memory block size freed here is about 1k. Innodb
    background threads and session threads allocating
    small memory heaps (<1024) gets the same block allocated and
    the end off the heap is[free_block and buf_block] are overwritten
    causing the ASSERT.
    
    This symptom is also reported in three other bugs hitting the ASSERT
    in stat,  purge and session threads.[BUG-19812327 BUG-19786817
    BUG-20393051]
    The exact issue is reproducible on windows with VC debugger attached to
    server and by breakpoint/sleep to control the execution of different
    threads. The MSVC RtlBreakPointHeap, however, is triggered by almost
    once in 2 runs if debugger is attached to server, indicating heap
    corruption.
    
    Solution :
    
    One way to solve the issue is to close the listener FDs instead of
    freeing the listener object and move the free to mysqld_main where
    it is ensured that listener threads have exited for all platforms.

commit 18272507018d3512204671515e1a7e4f4d5a89c6
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Fri Jun 26 09:38:48 2015 +0300

    Bug#21310520 AVOID RACE-PRONE MEMORY ACCESS WHEN DETERMINING
    THE AHI LATCH IDENTITY
    
    At the start of the function btr_search_drop_page_hash_index(),
    we should not dereference block->index before we have acquired
    the adaptive hash index search latch. This is because another thread
    may have dropped the adaptive hash index (setting block->index),
    and subsequently, the table could have been dropped or evicted from
    the data dictionary cache, meaning that the former block->index can
    point to freed memory.
    
    RB: 9395 (simplified from RB: 9337)
    Reviewed-by: Krunal Bauskar <krunal.bauskar@oracle.com>
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit 4175ee1a001ae119ca4233da3ecbebbf1b77736e
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Fri Jun 26 09:10:53 2015 +0300

    Remove bogus execute permissions on many files.

commit 3e67e7384ff9c4c7dbd166e2fc8c570219a2510b
Author: Manish Kumar <manish.4.kumar@oracle.com>
Date:   Fri Jun 26 11:30:37 2015 +0530

    BUG#21127387 - TRANSACTION-WRITE-SET-EXTRACTION CONSIDERS NON UNIQUE AND NULL KEYS.
    
    Problem : Transaction write set extraction feature of MySQL Replication
    is incorrectly considering non unique keys and unique with NULL values.
    This is because the code which iterates through the keys in the table to
    form the write set value does not have any mechanism to skip the non
    unique keys and the unique keys which can take up NULL value. This is
    causing problem with other replication modules like Group replication
    which ends up rolling back some transactions which it should not.
    
    Fix : The problem is fixed by adding a check for the non unique keys and
    NULL valued unique keys.

commit 4773c210555eaeecbec6e6b02dafd7326fda164d
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Fri Jun 26 09:03:34 2015 +0800

    Bug#20954452  GTID IS NOT RELEASED PROPERLY WHEN PS_PROTOCOL + GTID + BINLOG OFF COMBINATION - post fix 2
    
    In the fixed patch, we optimized mysqltest to use the PS protocol
    for most DDLs. This optimization is causing that some main tests
    failed with SQL syntax error, inconsonant result and so on.
    
    To fix these failures on pb2 immediately, we revert the optimization
    to problematic DDls.

commit 8465477f867785d56a092cc23dfe32cb53f51f18
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Jun 25 11:47:07 2015 -0500

    Cleanup changes found recently in InnoDB code
    Two test files with +x attribute plus some formatting changes

commit d6c0f6148abd09795bd3912de92b36a4e32d1195
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Thu Jun 25 15:42:30 2015 +0100

    Bug#21056395: ADD SUPPORT FOR SSL OPTIONS TO RPL_CHANNEL_SERVICE_INTERFACE.H
    
    Current rpl_channel_service_interface.h interface doesn't support SSL
    options and this is needed to enable secure communications on group
    replication recovery.
    
    This patch adds support for these options when the channel is created.

commit e9b2f1b9513930f6166b2a622bf0944bfdf89e45
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu Jun 25 13:02:06 2015 +0200

    Bug#21317507: Generated columns: stored column rejected, but virtual is accepted
    
    Verification patch: Validate that virtual and stored columns are
    generated consistently.
    
    Currently, this test is only enabled for MyISAM, InnoDB has the problem
    reported in the bug report: Adding a virtual column does not cause
    the underlying expression to be validated for consistency with the
    data type specified for the generated column.

commit 500b3eab74c2752021aa087e6f3f90f96c3eec69
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Thu Jun 25 09:43:35 2015 +0200

    BUG#20770671 LIBMYSQLD SHOULD NOT ACCEPT DEFAULT SECURE_FILE_PRIV_DIR VALUE FROM CMAKE
    
    libmysqld is s shared library, using a specific directory for
    secure-file-priv option by default will not work for multiuser
    systems.
    
    Fix issue by adding CMake option to set default value of
    secure-file-priv for embedded library.
    
    CMake option is called INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR
    
    Default value is "NULL".
    
    This means import and export operations, such as those performed by
    the LOAD DATA and SELECT ... INTO OUTFILE statements and the
    LOAD_FILE() function are disabled by default for embedded library.

commit fb11c09eb094b4df8ea920568a82aced7480f8ed
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Jun 24 22:47:36 2015 +0800

    BUG#21255718 ASAN: MEMORY LEAK IN INNOCHECKSUM
    
    It's a regression of WL#6045: Improve Innochecksum.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 9388

commit 553288f8e087e8a3335c7f5d8d797a409ab764c1
Merge: 00e8925 ae915da
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Jun 24 19:49:08 2015 +0530

    Bug# 20376760:  STACK-BUFFER-OVERFLOW WITH LONG PATHS TO CERTAIN VARIABLES

commit ae915dab38bc7b66e9b3c4fda666e4ccc300c4f6
Merge: bb2364b 21cbfb1
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Jun 24 18:18:56 2015 +0530

    Bug# 20376760:  STACK-BUFFER-OVERFLOW WITH LONG PATHS TO CERTAIN VARIABLES

commit 21cbfb12ef661cc274d19ce542a8507fc779f06d
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Jun 24 17:48:46 2015 +0530

    Bug# 20376760:  STACK-BUFFER-OVERFLOW WITH LONG PATHS TO CERTAIN VARIABLES

commit 00e89252ddc8c9e0b61d8257a8d2ad7baeae4d0f
Author: Sayantan Dutta <sayantan.dutta@oracle.com>
Date:   Wed Jun 24 16:37:09 2015 +0530

    BUG #20928881 - MYSQLTEST --EXPLAIN-PROTOCOL SHOULD NOT USE EXTENDED AS IT IS DEPRECATED IN 5.7
    
    removed EXTENDED from mysqltest.cc

commit 7d9b8cbb0b1e7b85de0f969b0c1092a98cc49280
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri May 29 16:41:16 2015 +0300

    Bug #21113963: BAD ERROR CODE FROM VERSION_TOKEN PLUGIN
    
    1. Changed the error code for the "Version token mismatch" error
    from ER_ACCESS_DENIED to a designated new error
    ER_VTOKEN_PLUGIN_TOKEN_MISMATCH
    2. Changed the error code for the "Version token not found." error
    from ER_ACCESS_DENIED to a designated new error
    ER_VTOKEN_PLUGIN_TOKEN_NOT_FOUND
    3. Updated the tests to reflect the new error codes.

commit 4d6ced8427344d4b14d6980fe579022bc13a7069
Author: Bin Su <bin.x.su@oracle.com>
Date:   Wed Jun 24 14:34:36 2015 +0800

    Change the default value of innodb_sync_debug from TRUE to FALSE,
    to reduce the execute time of MTR when default.

commit 4e1252315b8dd7e417ae5bec9f2d5ebf49a5e234
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Wed Jun 24 11:21:15 2015 +0530

    Bug #20763179 SEGV WHEN CREATE TABLESPACE IS EXECUTED IN
    READ ONLY MODE
    
    Post push test fix.

commit 2e6545fb89a2b4ecd99685f40dd1fa2193bdf821
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Jun 24 10:42:17 2015 +0530

    Bug#21087159 : AUTO-GENERATED SSL CERTS HAVE NO CN
    
    Description : For OpenSSL linked MySQL Server binaries,
                  --auto_generate_certs generate X509 certificates.
                  As a part of this generation process, CN name part
                  subject of various certificates is constructed as:
                  MySQL_server_<server_version>_Auto_Generated_<cert_type>_Certificate.
                  OpenSSL puts a restriction that length of CN can not
                  cross 64 characters. The server_version variable is
                  controlled through cmake variable MYSQL_SERVER_SUFFIX
                  and can be set to an arbitrary long string.
                  This resulted into a CN with length > 64 and hence
                  certificates with blank subjects are created.
    
    Solution : 1. Used MYSQL_SERVER_VERSION instead of server_version.
               2. Put a check in place to make sure that length of
                  CN is <= 64. In case length exceeds 64, change
                  subjects to MySQL_server_Auto_Generated_<cert_type>_Certificate
                  which will always be within limits.

commit 8f334eaea8ef025a96bc5c6e86517bf2f57a31f5
Merge: 8439ca7 bb2364b
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jun 24 10:35:23 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit bb2364b5eb0c1010a9a81abc6ff489cb2298e4c8
Merge: f5b51be 8f5dca5
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jun 24 10:31:30 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 8f5dca528e376ca1e01cbb6d615096998884969d
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jun 24 10:27:12 2015 +0530

    BUG#20310212 PARTITION DDL- CRASH AFTER THD::NOCHECK_REGISTER_ITEM_
    
    Problem :
    ---------
    Issue-1: The root cause for the issues is that (col1 > 1) is not a
    valid partition function and we should have thrown error at much early
    stage [partition_info::check_partition_info]. We are not checking
    sub-partition expression when partition expression is NULL.
    
    Issue-2: Potential issue for future if any partition function needs to
    change item tree during open/fix_fields. We should release changed
    items, if any, before doing closefrm when we open the partitioned table
    during creation in create_table_impl.
    
    Solution :
    ----------
    1.check_partition_info() - Check for sub-partition expression even if no
    partition expression.
    [partition by ... columns(...) subpartition by hash(<expr>)]
    
    2.create_table_impl() - Assert that the change list is empty before doing
    closefrm for partitioned table. Currently no supported partition function
    seems to be changing item tree during open.
    
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    
    RB: 9345

commit 8439ca75fb02fa987d167e453548f59e7fe2217d
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Wed Jun 24 10:13:17 2015 +0800

    Bug#20954452  GTID IS NOT RELEASED PROPERLY WHEN PS_PROTOCOL + GTID + BINLOG OFF COMBINATION
    
    When we start server with ps protocol and disabled binlog, executing
    DDL statement did not get a chance to call update_gtids_impl(...) to
    release its specified gtid, due to it miss to call ha_commit_trans(...)
    in trans_commit_stmt(...), since it is not active at that time; DDLs
    were using COM_STMT_PREPARE/COM_STMT_EXECUTE, so it also missed to
    call mysql_parse(...) to release its specified gtid.
    
    We fix the problem by moving the call to gtid_end_transaction(...)
    away from mysql_parse(....), into mysql_execute_command(...), since
    these DDLs with ps protocol are calling mysql_execute_command(...)
    by COM_STMT_EXECUTE and other normal transactions are calling
    mysql_execute_command(...) by mysql_parse(...).
    
    BUG#19774317  GTID_NEXT WITH EMPTY TRANSACTIONS DOES NOT WORK INSIDE STORED PROCEDURES
    
    Setting gtid_next inside a stored procedure and committing an empty
    transaction does not work. The root cause is that we failed to log
    the empty group to consume the GTID specified by setting gtid_next
    , due to the transaction owned gtid is cleared before calling
    gtid_end_transaction in mysql_parse(...).
    
    We also can fix the first problem by moving the call to
    gtid_end_transaction(...) away from mysql_parse(....), into
    mysql_execute_command(...), since committing the empty transaction
    with a specified GTID in stored procedure has a chance to call
    gtid_end_transaction(...) in mysql_execute_command(...) to log an
    empty group to consume the specified GTID.
    
    Bug#20343644  ASSERTION AT BINLOG.CC:1120 WHEN GTID_MODE=ON, GTID_NEXT='UUID:NUMBER'
    Bug#20444828  WL7592: ASSERT `THD->VARIABLES.GTID_NEXT.TYPE == GTID_GROUP' ON CREATE..SELECT
    
    Problem1: When gtid_mode is on, Start a transaction with a specified
    gtid, then create a table to cause an error, on commit we are hitting
    an assertion failure "thd->variables.gtid_next.type != UNDEFINED_GROUP".
    Problem2: When gtid_mode is on, set gtid_next with a specified gtid,
    then execute the statement 'CREATE..SELECT' to cause an error, on
    commit we are hitting the above assertion failure. The root cause is
    that we set gtid_next to undefined in gtid_post_statement_checks(...),
    which is called unconditionally after any statement in
    THD::cleanup_after_query(...). This means that gtid_next will be set
    to undefined for implicitly committing statements, even if the
    statement failed with an error before the implicit commit happened.
    Then, the transaction is still open and gtid_next is undefined. This
    is an invalid state, which triggers the assertion at commit time.
    
    The gtid_post_statement_checks(...) was introduced in BUG#16223835,
    the reason the function is needed is the following case:
     1. SET GTID_NEXT='<GTID that is already included in gtid_executed>';
     2. BEGIN;
     3. ... dml dml dml ...
     4. COMMIT;
    Then, the commit on line 4 will not invoke update_gtids_impl because
    the GTID is already included in GTID_EXECUTED so the thread does not
    own the GTID. So then the call to set_undefined from
    gtid_post_statement_checks is really needed in this case. But this
    causes it to call set_undefined too often and causes the assertion
    reported in this bug.
    
    To fix the problem, we remove gtid_post_statement_checks, add a call
    to set_undefined() in Gtid_state::update_gtids_impl(...), and add a
    call to update_gtids_impl(...) in gtid_end_transaction(...), in case
    the transaction owned gtid is empty and the gtid_next type is
    GTID_GROUP.

commit fcdb1eef0aa884aeddf79b6e6dd36b76b14cdc59
Author: Daogang Qu <bill.qu@oracle.com>
Date:   Wed Jun 24 07:54:53 2015 +0800

    Bug #20748502  ASSERTION `THD->VARIABLES.GTID_NEXT.TYPE== ANONYMOUS_GROUP' FAILED.
    
    Problem 1: In row binlog format, when autocommit is disabled and
    @@GLOBAL.GTID_MODE=OFF_PERMISSIVE, setting GTID_NEXT='UUID:NUMBER'
    was causing the assertion failure, right afte committing the
    single statement 'CREATE TEMPORARY TABLE' transaction. The root
    cause is that the statement 'CREATE TEMPORARY TABLE' sets
    has_gtid_consistency_violation to true, so that we call
    end_gtid_violating_transaction(...) to check a possible violation
    of gtid consistency and set it back to false on committing the
    transaction later, but the single statement transaction missed
    to call end_gtid_violating_transaction(...), since the binlog
    transaction cache is empty on committing the transaction. Which
    causes the next transaction to cause the assertion failure.
    Problem 2: When autocommit is disabled, the statement
    'CREATE TEMPORARY TABLE' does not start a transaction, so setting
    GTID_NEXT='UUID:NUMBER' can not cause an error right after it.
    
    To fix the first problem, A transaction with an empty owned gtid
    should call end_gtid_violating_transaction(...) to check a
    possible violation of gtid consistency and set
    has_gtid_consistency_violation back to false on commit, if it has
    set has_gtid_consistency_violation to true.
    To fix the second problem, when autocommit is disabled,
    'CREATE/DROP TEMPORARY TABLE' sets SERVER_STATUS_IN_TRANS to start
    transaction in any case (regardless of binlog=on/off, binlog format
    and transactional/non-transactional engine) to make behavior
    consistent. Which is changing user-visible behavior when binary log
    is disabled.

commit 9bfbf167e5a4279e92b94abd5c08dee48bab5a6d
Author: Luis Soares <luis.soares@oracle.com>
Date:   Tue Jun 23 18:51:15 2015 +0100

    BUG#18345363: ORDER OF APPLYING MYSQLBINLOG --DATABASE AND --REWRITE-DB IS WRONG
    BUG#20810442: "USE DATABSE_NAME" STATEMENTS OMITTED BY MYSQLBINLOG --REWRITE-DB OPTION
    
    Post-push fix.
    
    Skipping the rewrite phase in mysqlbinlog altogether
    if there is no rewrite rule for the given database
    name. Also, this appeases ASAN since there is no call
    to strcpy with overlapping, same, memory areas.

commit 96ad1486f99881defa100044a05507a2df35e06c
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Jun 23 15:47:08 2015 +0200

    Bug#20894024 FIREWALL STILL DEPENDS ON MAX_DIGEST_SIZE OF THE P_S DIGEST
    
    PROBLEM: Two system variables regulated the size of the fixed bufffer used
    for storing statements recorded by the firewall.
    FIX: By storing pointers to of the recorded buffer into the lookup hash,
    dynamic allocation can be used instead to fixed size buffers.
    As a result the system variable max_query_template_size can be removed.

commit bdb46939abd1bb8c90148c9336c88812718a80fd
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Jun 23 11:15:17 2015 +0100

    Bug#21246842: ASAN: MEMORY LEAK IN TEST_WL6587()
    
    Fix memory leak in mysql_client_test - test_wl6587().
    Close the mysql connection by calling mysql_close()
    to free resources.
    
    Also fix a number of valgrind warnings (uninitialized data)
    in other tests.

commit d7bd3ad2d3903e7f9f793b2df85cf88264ead5c1
Merge: 896ef94 f5b51be
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 23 14:03:31 2015 +0200

    Empty version change upmerge

commit f5b51be2c1356341dec4c8aa2746f004114b02fc
Merge: 3137808 9e3fee0
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 23 14:01:34 2015 +0200

    Empty version change upmerge

commit 9e3fee076ce8dfafc790d5b1d01b7075b591bd1a
Merge: 9ee79c5 031b2e2
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 23 13:59:40 2015 +0200

    Empty version change upmerge

commit 031b2e277315c702debc63ecc728aa770b29fdf0
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 23 13:56:39 2015 +0200

    Raise version number after tagging 5.1.76

commit 896ef94fa0db7c46d4112ec9a11b0e7800f2a2ea
Merge: 5408561 3137808
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Jun 23 12:59:33 2015 +0200

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

commit 313780897d25cff1251b2696d94317a1d8a6463b
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 54085612b6615dfb37230028f29d20d439609561
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Jun 23 06:54:34 2015 +0200

    Bug#21300778 FREQUENT FAILURE IN I_INNODB.INNODB_BUG16417635 ON PB2
    
    Disable the test.
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over IM.

commit 3c220d198e329aa4ddf8c64432a48d56a3f3fa04
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Tue Jun 23 10:27:51 2015 +0530

    Bug#21108296 : --SSL-CIPHER OPTION CAUSES SSL INITIALIZATION FAILURE
    
    Description : 1. If --ssl-cipher is specified at the time of starting
                     Server, SSL certificates are not generated automatically.
                     Automatic generation is limited to OpenSSL linked
                     MySQL server.
    
                  2. If --ssl-cipher is specified at the time of starting
                     server, automatic detection does notwork.
    
    Solution : Modified checks performed before certificate generation/detection
               to make sure that --ssl-cipher is not a cause to skip either of
               these actions.

commit 3dcc76a2b8ca4bdefcaa3d2ca8e32de92a539917
Merge: 3b697ad ef825d8
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Tue Jun 23 06:11:27 2015 +0200

    Empty version change upmerge

commit ef825d8b1f732a74db7d5b006d8b1b7e39f7b041
Merge: a6592d1 9ee79c5
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Tue Jun 23 06:08:47 2015 +0200

    Empty version change upmerge

commit 9ee79c5d180dbc7ac1393d5e8d6b7977522e5c42
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Tue Jun 23 06:06:07 2015 +0200

    Raise version number after cloning 5.5.45

commit 3b697adb7963996c729c953059cfc4fd52ef0352
Merge: cb4aa7e a6592d1
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 23 04:44:32 2015 +0200

    Empty version change upmerge

commit a6592d1087983d16841f07357f46ec2226edf1b6
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 23 04:40:22 2015 +0200

    Raise version number after cloning 5.6.26

commit cb4aa7eba0c014af2214e94cb16ac1566adb704a
Merge: 40edc9b 1e18a4d
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon Jun 22 16:36:24 2015 +0200

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

commit 40edc9b4e480b8c0622313a53080dc3f9291bbe8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Jun 2 12:25:51 2015 +0200

    BUG#16459136 MYSQLD ON SAME HOST MAYY GET SAME SERVER_UUID
    
    - Temporarily "salt" the global variables used for "uuid generator
      initialization" with the values that normally differ when starting
      more than one mysqld on the same host. This avoids that another mysqld
      started at the same time on the same host get the same "server_uuid".
    - Debug printouts showing pre and post values of salted variables
    - Remove workaround from mtr.pl

commit 2ff65e44fc3499f66c6b301e5768928cd5b54bb4
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Jun 22 15:20:03 2015 +0200

    Added per push tests for mysql-5.7-stage

commit 1e18a4d92888fbca0fb2a29e71e84aa114060d89
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon Jun 22 14:49:14 2015 +0200

    Bug#20894024 FIREWALL STILL DEPENDS ON MAX_DIGEST_SIZE OF THE P_S DIGEST
    
    PROBLEM: Two system variables regulated the size of the fixed bufffer used
    for storing statements recorded by the firewall.
    FIX: By storing pointers to of the recorded buffer into the lookup hash,
    dynamic allocation can be used instead to fixed size buffers.
    As a result the system variable max_query_template_size can be removed.

commit 71178163c8e6e6e4e13547f33ddc869516af6fa0
Merge: e3cbc93 14e8c8b
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Jun 22 16:34:47 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 14e8c8be6930ab49d8210289d374cc59c6c63443
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Jun 22 16:34:28 2015 +0530

    Bug#17650326 MYSQLBINLOG PRINTS INVALID SQL FROM RELAY LOGS WHEN GTID
    IS ENABLED
    
    post push fix: Fixing pb2 failure (in windows run).

commit e3cbc932851cbba44b953598d17aa24c7b7a1d35
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Jun 22 15:24:06 2015 +0530

    Bug #18309926 REFACTOR CODE RELATED TO UT_WHEN_DTOR
    
    Problem:
    
    The use of struct ut_when_dtor makes the code unnecessarily
    complex.  To make the code more readable remove ut_when_dtor.
    
    Solution:
    
    Removed the use of ut_when_dtor.
    
    rb#9346 approved by Vasil.

commit b3a5380f8625a02984a1a89723ac7004158d8c38
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Jun 22 10:45:26 2015 +0200

    Bug#21145277 VALGRIND ERRORS IN RQG_MDL_STRESS_VALGRIND AND
    RQG_MDL_DEADLOCK_VALGRIND
    
    Valgrind reports errors while executing PFS_status_stats::aggregate_from(),
    when under load, for an event scheduler thread.
    
    The code should not even take this path,
    as the event scheduler does not have THD associated with PFS_thread.
    
    The root cause is in creat_thread(),
    which does not properly initialize the PFS_instr::m_thd attribute.
    
    As a result, a previous THD object from a previous thread,
    which has been now freed, is used in the code,
    leading to reads of free, invalid memory, and potentially to a crash.
    
    The fix is to initialize PFS_instr::m_thd properly.

commit 94311269611c395042e24d3a570039610296a4de
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Wed Jun 17 14:34:55 2015 +0400

    Bug #21148405: OPTIMIZER HINTS: READ OF FREE MEMORY FOR INVALID HINTS
    
    Optimizer hint parser returned pointers into contents of the short
    living query buffer for hint and query block identifier strings.
    
    The fix forces the hint lexical scanner to allocate its return values
    on the current thread's mem_root when necessary.

commit 29e09027de41df2af325cf250bf2048d6081db67
Merge: 2b53df5 d682d87
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Jun 22 12:54:36 2015 +0530

    Null merging mysql-5.6 to mysql-5.7

commit d682d87096c5a40d7f6593dbd41a9183e6795c3c
Merge: d03510a 3e27013
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Jun 22 12:53:57 2015 +0530

    Null merging mysql-5.5 to mysql-5.6

commit 3e27013e94f941f01981f4177ebe17ff704d2d35
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Jun 22 12:47:37 2015 +0530

    Bug #19138298 RECORD IN INDEX WAS NOT FOUND ON ROLLBACK, TRYING TO INSERT
    
    Post push fix.  The function cmp_dtuple_rec() was used without a prototype
    in the file row0purge.c.  Adding the include file rem0cmp.h to row0purge.c
    to resolve this issue.
    
    approved by Krunal over IM.

commit 2b53df5b619a3326940b981fee544343e48c5900
Merge: 0238ce2 d03510a
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Jun 22 12:42:36 2015 +0530

    Null merging mysql-5.6 to mysql-5.7

commit d03510a9b04834c66dcca709cfbd0ce6dc00927f
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Jun 22 11:41:42 2015 +0530

    Bug #19929435 DROP DATABASE HANGS WITH MALFORMED TABLE
    
    Post push fix.  The test case innodb.dropdb is failing for
    embedded server.  This is because of the choosing different
    storage engine.  So specify the storage engine explicitly
    for the CREATE TABLE statement.
    
    approved by Krunal over IM.

commit 0238ce24505b664201106732a1fa15f246a688f6
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Jun 22 11:41:42 2015 +0530

    Bug #19929435 DROP DATABASE HANGS WITH MALFORMED TABLE
    
    Post push fix.  The test case innodb.dropdb is failing for
    embedded server.  This is because of the choosing different
    storage engine.  So specify the storage engine explicitly
    for the CREATE TABLE statement.
    
    approved by Krunal over IM.

commit bf5dd8640b49ac43b208283177a9c78556a64eac
Merge: d14e3ab dc00c73
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon Jun 22 12:12:21 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit dc00c73e00f03a517fb38e197c310bef77b246da
Merge: 3240dd8 1d951cc
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon Jun 22 12:10:45 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 1d951cc64d0a782dcc4e1078ec747eb786405778
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon Jun 22 12:09:59 2015 +0530

    Bug #18075170 SQL NODE RESTART REQUIRED TO
        AVOID DEADLOCK AFTER RESTORE
    
        Post push test fix.

commit d14e3ab10056710d669e189524cb2747e20abc30
Merge: 29658e4 e4eb470
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon Jun 22 12:01:51 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e4eb470516766e59c975f537f2cb3279bc16e053
Merge: 3240dd8 e3d034a
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon Jun 22 11:59:16 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit e3d034ae988ce0c26a166c9076e5515592350234
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon Jun 22 11:55:41 2015 +0530

    [MySQL-5.5]Bug #18075170 SQL NODE RESTART REQUIRED TO
    AVOID DEADLOCK AFTER RESTORE
    
    Post push test fix.

commit 29658e42668d6dba68a282a5fe4faf88d1aa5b11
Author: Luis Soares <luis.soares@oracle.com>
Date:   Sun Jun 21 23:20:54 2015 +0100

    BUG#18345363: ORDER OF APPLYING MYSQLBINLOG --DATABASE AND --REWRITE-DB IS WRONG
    BUG#20810442: "USE DATABSE_NAME" STATEMENTS OMITTED BY MYSQLBINLOG --REWRITE-DB OPTION
    
    Post-push fix for the test case.
    
    Resolved two issues on the test case, that would make
    it fail on windows:
    
    1. Use " instead of ' when passing arguments to mysqlbinlog;
    2. Use lower case table names for the databases, instead of
       having a mixed case name.

commit 6b668c228d8446a7eb7af4a2d8258effb6ca214b
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Sat Jun 20 11:58:04 2015 +0530

    Bug #20763179 SEGV WHEN CREATE TABLESPACE IS EXECUTED IN
    READ ONLY MODE
    
    Analysis
    --------
    When executing tablespace DDL operations on read-only InnoDB
    engine server dies.
    
    Currently InnoDB returns HA_ERR_TABLE_READONLY on tablespace
    operations if engine is in read-only mode. The handler error
    'HA_ERR_TABLE_READONLY' is mapped to the SQL error code
    'ER_OPEN_AS_READONLY' which expects a table name. Since
    there is no table name associated with the operation, the
    server exits while trying to report the error due to the
    invalid memory access.
    
    Fix:
    ---
    Changed InnoDB to return HA_ERR_INNODB_READ_ONLY instead of
    HA_ERR_TABLE_READONLY and is mapped to the SQL error code
    'ER_INNODB_READ_ONLY'.

commit af21d962aabaa7f88c4394d476a744b622119a56
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Thu Jun 18 14:18:35 2015 -0500

    Bug#20878306 CRASH AT TABLE_EVENTS_STATEMENTS_HISTORY::RND_POS
    
    Incomplete merge from WL#7794 allowed invalid pointers to be dereferenced.

commit 67db97a4da3de625025012070a4ccababce45a9a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Jun 15 10:06:44 2015 +0200

    Bug#21253689: ASAN: MEMORY LEAK IN TEST FOR BUG#13868860
    Bug#21254272: ASAN: MEMORY LEAK IN TESTS FOR BUGS 12818811 AND 16346241
    
    Fix memory leaks in tests for Bugs 12818811/13868860/16346241
    Call mysql_stmt_close() to free resources.

commit e483e6c9dc6ec8d5ee7d98d7877434acef82ba9f
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Fri Jun 19 19:04:02 2015 +0400

    Bug #20709487: COLLATE OPTION NOT ACCEPTED IN GENERATED COLUMN DEFINITION
    
    Generated columns didn't accept the COLLATE attribute.
    
    The patch introduces the opt_collate_explicit grammar rule to fix
    the issue.

commit d7764ceaa63d71426a05a1a9395ed12497ecfe0e
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Jun 19 16:00:25 2015 +0200

    Bug#21254060: ASAN: MEMORY LEAK IN MYSQLTEST
    
    Fix 3 different memory leaks in mysqltest:
    1) Call dynstr_free() also in case of error.
    2) Call end_server() also when doing dirty close.
    3) Free st_connection::name before assigning new name.
    
    Also fixes a valgrind warning about
    Conditional jump or move depends on uninitialised value(s)

commit 62c6643653950365246dca76883c1e08126f089d
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Jun 12 14:55:35 2015 +0200

    Bug#21246627: ASAN: MEMORY LEAK IN PROCESS_SET_GTID_PURGED()
    Bug#21250584: ASAN: MEMORY LEAK IN MYSQLDUMP
    
    Fix three different memory leaks in mysqldump:
    1) Remember to call dynstr_free() on DYNAMIC_STRING.
    2) Remember to call mysql_free_result() on MYSQL_RES.
    3) Remember to call my_free() on string allocated by alloc_query_str().

commit 672718ec5efdf82ae3dc5033ff7c62c7dedae331
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Jun 19 13:47:04 2015 +0100

    BUG#18345363: ORDER OF APPLYING MYSQLBINLOG --DATABASE AND --REWRITE-DB IS WRONG
    BUG#20810442: "USE DATABSE_NAME" STATEMENTS OMITTED BY MYSQLBINLOG --REWRITE-DB OPTION
    
    mysqlbinlog would apply the rewrite rules before applying the database
    filter. This means that it in cases when mixing up SBR events with RBR
    events then only one or the other would be output. This renders the
    mysqlbinlog feature unusable in some use cases.
    
    This patches changes the behavior so that the rewrite rules also apply
    to the use clause, thence, making it possible to use the --database
    on the query and row events. In addition, it removes the suppression
    of the "use" clause.

commit 7d63a3f248cfd53c7b74cf4abb6b7d1569c14459
Merge: 758a278 3240dd8
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Fri Jun 19 14:28:30 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3240dd884984ed790d6435509479730d35295251
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Fri Jun 19 14:24:42 2015 +0530

    Bug #21184091 ASSERT `READ_ROWS >= 0.0'
    	      AT COST_MODEL_SERVER::TMPTABLE_READWRITE_COST()
    
    Problem:
    While calculating the cost for doing semjoin_dupsweedout strategy
    inner_fnout is calculated wrongly when max_outer_fanout becomes 0.
    This causes mysql server to exit later.
    
    Solution:
    Calculate the inner_fanout only when max_outer_fanout is > 0. Else
    there is no need to recalculate inner_fanout w.r.t max_outer_fanout.

commit 758a278b5bd7a6e090ae1433205eba8c21560790
Author: David Zhao <david.zhao@oracle.com>
Date:   Fri Jun 19 13:50:45 2015 +0800

    Bug#21212788 VARIABLE MAX_POINTS_IN_GEOMETRY TOO HIGH MAX VALUE
    
    Followup: Update a test result file.

commit 4c19c849e5d6dde65864aad39cdae1314ffd9472
Merge: 584eff5 c348669
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Fri Jun 19 11:12:27 2015 +0530

    Bug #20762798 FK DDL: CRASH IN DICT_FOREIGN_REMOVE_FROM_CACHE
    
    Null merging mysql-5.6 to mysql-5.7.

commit c34866952ffe772e699aa27e738bb67531896590
Merge: a281b03 72c6f6c
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Fri Jun 19 11:11:34 2015 +0530

    Bug #20762798 FK DDL: CRASH IN DICT_FOREIGN_REMOVE_FROM_CACHE
    
    Null merge from mysql-5.5 to mysql-5.6

commit 584eff5330bd49662e86c5ddf13364987b204e16
Merge: 853f582 a281b03
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Jun 19 10:37:24 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit a281b03b1ab2e85558bf6c02464fbee9977ef8d3
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Jun 19 10:33:27 2015 +0530

    BUG#20437706 HANDLE_FATAL_SIGNAL (SIG=11) IN BITMAP_GET_FIRST_SET
    
    Problem :
    ---------
    Issue-1: Rename partition [mysql_rename_partitions] fails as there
    are open references to dict_table_t. The issue here is in
    alter_close_tables() we are not closing other instances of the same
    table opened by the thread.
    5.5 => Closes instances for old table [No issue]
    5.6 => Fails to close table. [Needs to be fixed]
    5.7 => Handled along with WL#4807 [No issue]
    
    Issue-2: Failure handling causes crash
    In handle_alter_part_error()->close_thread_table() we are doing lock
    removal for current table but resetting the first table in thrd->tables.
    For a case when there are multiple open instances for the same table
    in current thread(lock table ...) it causes the issue. In debug mode it
    immediately hits assert and in release mode it crashes later as the
    current table is not closed.
    
    Solution :
    ----------
    Issue - 1: Close other tables in close_thread_table() - 5.6 only
    Issue - 2: Debug assert that current table is first one in table list
    handle_alter_part_end- 5.7
    handle_alter_part_error- 5.6
    
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    
    RB: 9296

commit 72c6f6c896ff7c307b220df8310b2e22de862692
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Fri Jun 19 10:17:36 2015 +0530

    Bug #20762798 FK DDL: CRASH IN DICT_FOREIGN_REMOVE_FROM_CACHE
    
    Problem:
    
    If we add a referential integrity constraint with a duplicate
    name, an error occurs.  The foreign key object would not have
    been added to the dictionary cache.  In the error path, there
    is an attempt to remove this foreign key object. Since this
    object is not there, the search returns a NULL result.
    De-referencing the null object results in this crash.
    
    Solution:
    
    If the search to the foreign key object failed, then don't
    attempt to access it.
    
    rb#9309 approved by Marko.

commit 853f582603e0ae76c8228753a6ad3c2a2839ff10
Merge: 424a2e3 b0385ed
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Fri Jun 19 08:29:50 2015 +0530

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

commit b0385ed3c02f836766d68174d6a6371060fcc237
Merge: f196ee1 568cc49
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Fri Jun 19 08:28:08 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 568cc4996f19330fb9c0a9304d92c883f1b5b316
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Fri Jun 19 08:26:33 2015 +0530

    Bug #21221862 NEWEST RHEL/CENTOS OPENSSL UPDATE BREAKS MYSQL DHE CIPHERS
    
    Description: The newest RHEL/CentOS/SL 6.6 openssl package
    (1.0.1e-30.el6_6.9; published around 6/4/2015) contains a fix for
    LogJam. RedHat's fix for this was to limit the use
    of any SSL DH key sizes to a minimum of 768 bits. This breaks any
    DHE SSL ciphers for MySQL clients as soon as you install the
    openssl update, since in vio/viosslfactories.c, the default
    DHPARAM is a 512 bit one. This cannot be changed in
    configuration/runtime; and needs a recompile. Because of this the
    client connection with --ssl-cipher=DHE-RSA-AES256-SHA is not
    able to connect the server.
    
    Analysis: Openssl has changed Diffie-Hellman key from the 512 to
    1024 due to some reasons(please see the details at
    http://openssl.org/news/secadv_20150611.txt) Because of this the client
    with DHE cipher is failing to connect the server. This change took
    place from the openssl-1.0.1n onwards.
    
    Fix: Similar bug fix is already pushed to mysql-5.7 under bug#18367167.
    Hence we backported the same fix to mysql-5.5 and mysql-5.6.

commit 424a2e3276aa3709b0634c77396376e2d57ba0a7
Author: David Zhao <david.zhao@oracle.com>
Date:   Wed Jun 17 16:36:33 2015 +0800

    Bug#21212788 VARIABLE MAX_POINTS_IN_GEOMETRY TOO HIGH MAX VALUE
    
    Issue: The max allowed number of points was too large and causes the server to
    consume too much memory when computing a geometry buffer when given a valid
    but large points per circle argument.
    
    Fix: Reduce the MAX_POINTS_IN_GEOMETRY to 1024*1024 to limit the potential
    memory and CPU consumption.

commit 349e91d1d9bb1985da91f11fb981bc55ce3fc8e4
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Jun 18 12:41:00 2015 +0100

    Bug#21250644: ASAN: MEMORY LEAK IN MYSQL CLIENT WHEN FAILED SSL
    
    Fix memory leak in mysql_real_connect().
    Free scramble_buffer also when SSL connection fails.

commit 570025c3552c65daf103b223c1b22b6df668d9fa
Author: Benny Wang <benny.wang@oracle.com>
Date:   Mon Jun 1 09:32:16 2015 +0200

    Fixed bug#21142905: PARTITIONED GENERATED COLS - !TABLE || (!TABLE->WRITE_SET                                                         || BITMAP_IS_SET
    
    This bug is caused by not marking virtual generated columns to be writeable
    when it tries to read it.
    
    If a partitioned column is writeable, the partition might be changed.
    Therefore, server marks all columns readable so that the row can be moved to
    the right partition. During setting all columns readable, virtual generated
    columns are not set to be writeable. Even if the partitioned column is not writable
    , it's also requirted to be readable so that to calculate the partition id to
    place updated or deleted records. Such a set also needs mark virtual generated columns
    writable.

commit 1eb83c5debd779307f18f5594eae8e67449621a4
Merge: 229622e f196ee1
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Thu Jun 18 16:57:12 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit f196ee1cb811d18830560249ae80577d8b3ed0c0
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Thu Jun 18 16:27:58 2015 +0530

    BUG#20893836  DEPENDENCY TO KILLALL COMMAND MISSING; ADD DEPENDENCY TO PSMISC

commit 229622e91b773bff405d50fc2023969f3267396a
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Thu Jun 18 16:36:18 2015 +0530

    Bug #20005279 ASSERT !OTHER_LOCK, LOCK_MOVE_REORGANIZE_PAGE()
    
    Problem:
    
    Consider a clustered index page P1 holding a record r1.  Let two
    sessions S1 and S2 operate on the page P1.  Let S1 hold an exclusive
    lock on r1.  Let S2 attempt to take an exclusive lock on r1.  Now
    there will be two locks L1 and L2 on the record r1.  Let L1 be the
    granted lock and L2 be the waiting lock.  Let S1 initiate a page
    reorganize of P1.  The locks will also be reorganized.  During this
    reorganize if the lock is reorganized in the order L2, L1 then the
    assert in function lock_rec_add_to_queue() fails.
    
    	if (!(type_mode & (LOCK_WAIT | LOCK_GAP))) {
    		lock_mode	mode = (type_mode & LOCK_MODE_MASK) == LOCK_S
    			? LOCK_X
    			: LOCK_S;
    		const lock_t*	other_lock
    			= lock_rec_other_has_expl_req(
    				mode, block, false, heap_no, trx);
    		ut_a(!other_lock);
    	}
    
    Notice the 3rd argument to lock_rec_other_has_expl_req().  We have
    requested that wait locks are not to be considered.  Even then the
    assert has failed.
    
    Solution:
    
    There seems to be problem in the if condition in function
    lock_rec_other_has_expl_req().
    
    		if (lock->trx != trx
    		    && !lock_rec_get_gap(lock)
    		    && (!wait || !lock_get_wait(lock))
    		    && lock_mode_stronger_or_eq(lock_get_mode(lock), mode)) {
    
    			return(lock);
    		}
    
    The truth table of the relevant expression is given below:
    
    lock_get_wait    wait    (!wait || !lock_get_wait)
    1                1                0
    1                0                1 =====>> CHECK?
    0                0                1
    0                1                1
    
    The correct one is as follows:
    
    lock_get_wait    wait    (wait || !lock_get_wait)
    1                1                1
    1                0                0
    0                0                1
    0                1                1
    
    The solution is to use the expression "(wait || !lock_get_wait)".
    
    Additional Change:
    
    While reorganizing the page, we can process the granted locks before
    processing the waiting locks.
    
    rb#9289 approved by Marko.

commit 446aa2f75ec20f6a66f5bec9753faf43b6ec32bf
Merge: 8edece9 de8103c
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Jun 18 16:08:55 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit de8103ccd41f7e5972e5e037e0a8eb0723e15ca4
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Jun 18 16:07:01 2015 +0530

    Bug #21269002	IMPROPER SIGNALING IN BINLOG_PURGE_FAIL_WARNING CAUSING
    TEST TO RUN FOR 10 MINUTES
    
    Problem:
    In i_binlog.binlog_purge_fail_warning test, three threads are waiting on
    same signal "purged" and we are sending one 'purged' signal.
    The thread that reads it first will go ahead but other two threads will
    be waiting for the signal. Test will wait for 10 minutes (the time out
    for signal waiting) and then proceed. Test will pass after 10 minutes
    but for 5 seconds test run, it will take unnecessarily 10 minutes time.
    
    Fix: using NO_CLEAR_EVENT in the debug sync point for not clearing
    the signal. Once we confirm that the last thread (the third one in this case)
    receives the signal, we can reset the debug sync to remove the signal
    from the system.

commit 8edece93245c21a4e2a8516db0d87e245042fc78
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Jun 18 08:01:41 2015 +0100

    Bug#21250947: ASAN: MEMORY LEAK IN MYSQLSLAP
    
    Fix various memory leaks in mysqlslap.
    Call mysql_close() to free resources allocated by mysql_init().
    Also add a few missing DBUG_RETURNs.

commit 593e4491ab6101d6d8acf78e648d33a1f5018421
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu Jun 18 13:53:42 2015 +0800

    Bug#21052754 ADD SHOW ENGINE INNODB MUTEX FUNCTIONALITY
    
    Follow up fix, we should check the latch level instead of level
    passed directly from callers in some LatchDebug functions.
    This is a regression in previous push of this bug.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    over IM.

commit d24c27ff61e7ccb33e610d3b1ae47379208b7ba2
Author: David Zhao <david.zhao@oracle.com>
Date:   Thu Jun 18 10:31:12 2015 +0800

    Bug#21198064 GEOMETRY CONSTRUCTION FUNCTIONS ALLOWS INVALID WKT
    
    Issue: When constructing a geometry from WKT or WKB, we didn't check for
    trailing trash bytes, so anything trailing was allowed.
    
    Fix: Check such trailing bytes and reject if there are non-whitespace trailing
    bytes in WKT, and reject in case of any extra trailing bytes in WKB.

commit ce7459ae965fd4d407272c7c2d52f7a8666a00a5
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Jun 17 15:15:43 2015 +0100

    Bug#21250562: ASAN: MEMORY LEAK IN MYSQLCHECK
    Bug#21253653: ASAN: MEMORY LEAK IN MYSQLSHOW
    
    Fix memory leak in mysqlcheck - get_options().
    Call free_defaults() to free resources.
    
    Fix memory leak in mysqlshow.
    Call mysql_free_result() and free_defaults()
    to deallocate memory.

commit 823dddcd15d615d0c13615ddb0d813b7dfc1fd53
Merge: 5eb0f2a bb0589e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jun 17 13:58:45 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit bb0589e35b8eac1ce56ae187e059a65c5cfe9499
Merge: e9eea59 6a00556
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jun 17 13:57:49 2015 +0200

    NULL Merge branch 'mysql-5.5' into mysql-5.6
    
    Conflicts:
    	mysys/ptr_cmp.c

commit 6a005561b3a38f5248fe51c0ceb270829c54d746
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jun 17 13:44:32 2015 +0200

    Bug#19660891 HANDLE_FATAL_SIGNAL (SIG=11) IN QUEUE_INSERT
    
    Backport from 5.6 to 5.5
    This makes filesort robust to misc variants of order by / group by
    on columns/expressions with zero length.

commit 5eb0f2ad187de60082fb8c6052ceb62786c21514
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Wed Jun 17 16:44:05 2015 +0530

    BUG#20887920  ADD SUPPORT FOR UBUNTU 15.04 IN MYSQL 5.7

commit 0aaa8ba630325ba8867a6b422b3610befa1fc4fa
Merge: a0ff3d4 e9eea59
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Wed Jun 17 16:38:00 2015 +0530

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

commit e9eea59d0242d42745ccecd9db8a39390306f255
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Wed Jun 17 16:34:30 2015 +0530

    BUG#20887920  ADD SUPPORT FOR UBUNTU 15.04 IN MYSQL 5.6

commit a0ff3d45c67fa0dbbed5861a1bb2f5389b8fba60
Merge: de72352 d768b47
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jun 17 11:14:50 2015 +0200

    Bug#21262883 - MYSQL-SYSTEMD-START SCRIPT ERROR WHEN USING OPTION DATADIR OR SIMILAR
    
    Fixed the syntax in mysql-systemd-start script
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit d768b47824643d54df239ac577e0e2950a743861
Merge: 0bdb935 ece4695
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jun 17 11:09:42 2015 +0200

    Bug#21262883 - MYSQL-SYSTEMD-START SCRIPT ERROR WHEN USING OPTION DATADIR OR SIMILAR
    
    Fixed the syntax in mysql-systemd-start script
    
    Merge branch 'mysql-5.5' into mysql-5.6

commit ece46953410341d037fb5aa243dc87fbb34bc2f4
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Jun 17 11:04:13 2015 +0200

    Bug#21262883 - MYSQL-SYSTEMD-START SCRIPT ERROR WHEN USING OPTION DATADIR OR SIMILAR
    
    Fixed the syntax in mysql-systemd-start script

commit de72352d6364211c57172ad169180d5de9b14c6f
Author: Bin Su <bin.x.su@oracle.com>
Date:   Wed Jun 17 16:33:31 2015 +0800

    BUG#20582189 - INNODB.DOUBLEWRITE FAILS DUE TO DATABASE CORRUPTION
    
    This bug only happens sporadically on PB2, and mainly in Windows.
    It's hard to reproduce. The test case writes some junk, such as 0,
    to a data page to test if double write buffer works well. It looks like
    the 'corrupted' page may not be flushed to disk immediately but buffered
    in OS cache in Windows and the server would use a DIRECTIO to load page,
    which makes the test case failure. So we just try to flush the data ASAP
    in the test case, and try to print the page infomation on error.
    
    RB: 9270
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit 320e1c26543c74e9ce4e4f35c6d10f754bfbf540
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Jun 17 15:52:58 2015 +0800

    Followup: BUG#19363615 INNODB.LOG_FILE FAILS SPORADICALLY ON PB2
    
    slot->is_reserved assertion fails on windows in os_aio_windows_handler().
    It can only happen after os_aio_wake_all_threads_at_shutdown(),and page
    cleaner is not active(not started yet).
    
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com> over IM

commit 030fcaaae6e8e2942132ec3a866741f5333e7f01
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Jun 16 14:30:38 2015 +0200

    Bug#21250876: ASAN: MEMORY LEAK IN MYSQL_INSTALL_DB
    
    Fix memory leak in mysql_install_db.
    Call free_defaults() and my_cleanup_options to release resources.

commit 9b9df0b633bc754c8ce95481bfc40ce18b34f1f4
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Wed Jun 17 11:57:21 2015 +0530

    - Bug#21153684: AVOID FALSE CACHE LINE SHARING FOR MOST CRITICAL BLOCK OF THE
      CODE (BUF_BLOCK_T)
    
      - There was possibility of false cache line sharing between mutex and lock
        (in buf_block_t) which are often accessed in vicnity and both can lead to
        contention.
    
      - Placing them apart can help break this sharing and in-turn improve
        cacheline throughput.
    
      Reviewed: Sunny Bains (sunny.bains@oracle.com)
      RB: 9073

commit 268483d2806d0c1cbaa62e30b9d6e577a44a1ef8
Author: Todd Farmer <todd.farmer@oracle.com>
Date:   Tue Jun 16 17:17:39 2015 -0600

    Fixing perfschema.sanity_check test case.
    
    (cherry picked from commit 0196d8aef01fdcb9173b4366ad1c9f7dbe67a669)

commit a3347fad5ef0e163fc6a64d5c32b55e0d1cabf98
Merge: 60bff59 0bdb935
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Jun 17 08:23:18 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0bdb9353c4e8037bcfb2e64773bd545aa0bc2782
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Jun 17 08:21:32 2015 +0530

    Bug #20229614 : OR CONDITIONS ON MULTI-COLUMN INDEX MAY NOT
                    USE ALL INDEX COLUMNS TO FILTER ROWS
    
    Reverting the fix due to a regression.

commit 60bff59b2cddd78aff1070fa34f1b62e18160aac
Author: Bin Su <bin.x.su@oracle.com>
Date:   Tue Jun 16 11:22:35 2015 +0800

    Bug#21242541 - RW-LOCKS SHOULD ONLY BE CREATED ON THE HEAP
    
    So far the the real constructor for rw_lock_t has been rw_lock_create()
    and the corresponding destructor has been rw_lock_free().
    Code should not call new or delete when creating rw_lock_t instances
    but use malloc()/free or some generic mechanism to allocate the memory.
    They should not be created on the stack either.
    
    We have three cases where we create rw_lock_t instances in the data segment.
    buf/buf0buf.cc:static rw_lock_t buf_chunk_map_latch;
    dict/dict0dict.cc:rw_lock_t dict_operation_lock;
    trx/trx0i_s.cc:rw_lock_t in trx_i_s_cache;
    
    Original patch was provided by Sunny Bains.
    
    RB: 9271
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>

commit a23ad6d39f4163a0867b0087fb3f924b403a2878
Author: Todd Farmer <todd.farmer@oracle.com>
Date:   Tue Jun 16 14:01:53 2015 -0600

    WL#6799 - Add super_read_only option.

commit 3b1d61fc399a0dcefdef526632fb843598ecd791
Author: Todd Farmer <todd.farmer@oracle.com>
Date:   Tue Jun 16 13:38:53 2015 -0600

    Merging test case results for WL#6799.

commit a3b8b38eaebba9fa5993e9d7311409a02a01a30d
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Feb 13 11:56:20 2015 +0000

    BUG#20451386 SQL THREAD CRASH: LOG-SLAVE-UPDATES OFF, RELAY LOG ENDS
                 WITH GTID_LOG_EVENT
    
    A replication slave running with GTIDs, no binary log and relay info
    repository set to TABLE is hitting an assert (assertion "is_started()"
    at Ha_trx_info::is_trx_read_write) when applying a transaction that
    spanned across distinct relay log files.
    
    This is happening because the slave SQL thread is flushing the relay
    log info to TABLE while in the middle of a transaction (or, better,
    right after the GTID of the transaction) because of the rotation of
    the relay log.
    
    After setting the GTID next to the SQL thread thd, the slave was
    saving the rpl_info on table and calling gtid_state->save that
    "committed" the GTID set (but not used yet).
    
    The fix for this issue skips the gtid_state->save for operations
    that will save the rpl_info on table.

commit 4a930004585abf2b6873136b3b60283d56d8d5a8
Merge: ec59fc1 25e9ebd
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jun 16 15:57:26 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	sql/filesort.cc

commit 25e9ebd378bf0f2aba840d049bf17bf2f4cf5575
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jun 16 10:05:32 2015 +0200

    Bug#21172963 ASSERTION `PARAM.SORT_LENGTH != 0' FAILED IN SQL/FILESORT.CC:361
    
    This affects debug versions only.
    The bug was fixed (for order-by-with-limit) by the patch for
    Bug #19660891 HANDLE_FATAL_SIGNAL (SIG=11) IN QUEUE_INSERT
    
    Merge-sort uses the same compare function,
    and *does* handle zero-length keys during merge sort.
    So the DBUG_ASSERT is wrong.

commit ec59fc1c4e2d8641e79eaf344b3c08c8481c2e96
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Jun 16 14:13:05 2015 +0100

    Bug#21246964: ASAN: MEMORY LEAK IN PROCESS_ALL_TABLES()
    Bug#21247377: ASAN: MEMORY LEAK IN SHOW_VARIABLE_QUERY_EXTRACTOR / RUN_SQL_FIX_PRIVILEGE_TABLES()
    Bug#21253535: ASAN: MEMORY LEAK IN MYSQL_UPGRADE
    
    Fix memory leak in mysqlcheck - process_all_tables().
    Close result by calling mysql_free_result() after processing.
    
    Fix memory leaks related to mysql_upgrade:
    1) Allocate Instance_callback instances on stack rather than heap.
    2) Always call mysql_close() to deallocate memory.
    
    Also fix a valgrind warning,
    Conditional jump or move depends on uninitialised value(s)
    in Mysql::Tools::Upgrade::Program::fix_privilage_tables_error()
    (sic)

commit 7efa525f95cae49465766be7a9e032303e2c79f1
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 16 15:02:31 2015 +0200

    Add packaging scripts for docker builds

commit fc01277f7da664e77dd4ec9ffe5dd4e4f6f59a87
Merge: df3fe34 14ca482
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 16 14:43:17 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 14ca482d80f1af232a853b31bbc0c176cba86cc1
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 16 14:40:12 2015 +0200

    Updated CMakeLists.txt to include rpm-docker directory

commit df3fe34123e6a31f857a01d6d5ac2c8cbebac0a1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Jun 16 12:57:51 2015 +0100

    Bug#21255860: ASAN: MEMORY LEAK IN QUEUE UNIT TEST
    
    Fix two separate memory leaks in the QUEUE unit test.
    Call delete_queue() at the end of tests.

commit e5761efd669f294d833844428d287212cfca6100
Merge: e2397bb 63461fb
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 16 14:05:54 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 63461fb699b709eba3e591c726a27a09b9db3c4c
Merge: 749dd67 cd6dea2
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 16 14:02:58 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit cd6dea220864b1eb8fd52928b6b57c4694e306c9
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 16 13:56:28 2015 +0200

    Updated CMakeLists.txt to include rpm-docker directory

commit e2397bb8ea7216728f6ec40cf34773746d164641
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Jun 15 13:55:43 2015 +0200

    Bug#21251627 ASSERT `ORDER == __NULL && !SELECT_DISTINCT' AT JOIN::REPLACE_INDEX_SUBQUERY
    
    We have IN(subquery on single table with group by and having).
    remove_redundant_subquery_clauses() does not change this, because
    of the presence of HAVING. If there had been ORDER BY it would
    have removed it.
    optimize_distinct_group_order() sees GROUP BY on primary key,
    concludes that grouping is pointless, except that order still
    has to be guaranteed (as GROUP BY is documented to produce ordered
    groups), so it moves GROUP BY to ORDER BY. Now there is ORDER BY.
    replace_index_subquery() sees IN(subquery) and dies here:
      // Guaranteed by remove_redundant_subquery_clauses():
      DBUG_ASSERT(order == NULL ...);
    The flaw is that optimize_distinct_etc() adds a clause
    after remove_etc().
    Before the fix for Bug 21038929, optimize_distinct_etc() didn't add
    the clause because it was a subquery; in general this is wrong reasoning,
    but for IN(subquery) it's correct.
    Fix: don't add the clause if IN(subquery).
    Note that if we, in the future, stop guaranteeing that GROUP BY implies
    ordering, then the modified code can be removed.

commit 8136caafa1440bf01bfd95ebccb01e2ef3e61941
Merge: a739569 749dd67
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 16 12:43:09 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 749dd6721e453c81345cd623fec64281e4a42cad
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 16 12:39:39 2015 +0200

    Add packaging scripts for docker builds

commit a7395695d8d1514aa4147e09330f94998e227050
Merge: e244bc9 a79828d
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 16 12:20:04 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit a79828dca7634aef117fea0713d0873dc78cb5dc
Merge: 2e25acc accb87c
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 16 12:13:48 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit accb87c3c3143178302cb7160603902de6d28c7f
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Jun 16 12:08:42 2015 +0200

    Add packaging scripts for docker builds

commit e244bc9a17f90636c5749cb51623c2f9404c34f0
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Tue Jun 16 15:20:57 2015 +0530

    WL8397 - Increase table_open_cache_instances compiled default
    
    The default value table_open_cache_instances is increased to
    16 as part of this WL.
    
    Now for table_open_cache_instances,
        minimum value= 1
        maximum value= 64
        default value= 16

commit b6c1be2b8b0fe417f691d8597c9117c81eb1fc79
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Tue Jun 16 15:09:55 2015 +0530

    - Bug#21252519 INNODB: FAILING ASSERTION: INDEX != __NULL
    
      There was race in btr_search_drop_page_hash_index().
    
      btr_search_drop_page_hash_index() function cached block->index
      which may get updated in background by other thread w/o holding
      needed latch.
    
      After grabbing the lock ensure that cached version still matches
      the original block->index
    
      Reviewed by: Jimmy Yang (jimmy.yang@oracle.com)
      RB: 9308

commit b2aa992342fde7e194a173bb36290bd136820004
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Tue Jun 16 12:27:14 2015 +0300

    Bug#21192857: ASSERTION FAILED: KEYINFO_ARRAY.SIZE() == 0, FILE OPT_HINTS.CC:280
    
    Existing assert does not take into account that in INSERT ... SELECT statement,
    tables can appear both in INSERT and SELECT part.  The fix is to skip
    index hint processing if table has already been processed.

commit 17e95cd824fbf052c571919cfdc7ca536242353a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Jun 16 09:58:06 2015 +0200

    Bug#21254964: FIX TYPO 'UNITIALIZED' TO 'UNINITIALIZED'
    
    Fix typos: UNITIALIZED => UNINITIALIZED
    While a couple of these typos were printed to log, they were
    only active on debug builds so not visibile on release builds.

commit e58cd47e6ff0cf9d62849313ad4a803a24732e5d
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Tue Jun 16 10:07:53 2015 +0200

    Bug#21097485: *insert_table_ref && (*insert_table_ref)->is_insertable
    
    This problem occurs because we do not identify a single table
    for insertion, which causes this assertion. The root cause is
    that the column being assigned to is not checked for updatability.
    Such check is therefore added when setting up the list of columns
    to assign values to. (A column in an insertable-into view may still
    be non-updatable).
    
    This is achieved by centralizing the test for column updatability,
    controlled by an extra argument to setup_fields(). (There are indeed
    many calls that need updates, and if it wasn't for LOAD and one call
    in UPDATE, we could have determined the property by looking at
    required privileges, instead of adding this argument).
    
    Bonus fix 1: A non-updatable column in INSERT does now cause the
    correct error message "Column 'x' is not updatable" instead of
    "The target table v of the INSERT is not insertable-into".
    
    Bonus fix 2: All validation for non-updatable columns (except for
    implicitly generated column lists and LOAD command) are now done in
    setup_fields().
    
    Bonus fix 3: Runtime checks for non-updatable columns were eliminated
    from fill_record().
    
    Bonus fix 4: Consistent error messages for non-updatable columns used
    in LOAD command, and a test case. Error ER_LOAD_DATA_INVALID_COLUMN
    is marked as unused.

commit 7bd747ff2259c935e6c20d9a7b98ceffdd11ddc8
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Tue Jun 16 11:41:11 2015 +0300

    Bug #21140039 ASSERTION FAILED: !FIRST_QEP_TAB->TABLE()->NO_KEYREAD MATCH AGAINST.....
    
    Assertion failed because Item_func_match::fix_fields set TABLE::no_keyread to true.
    It's necessary since query in example can not use index only access. The fix is
    to use another method(clear covering keys) to prevent use of index only access.
    
    Note: Assert is (probably) wrong: This is the common practice regarding
    how covering keys are disabled. no_keyread might be eliminated and clearing
    covering_keys is generally more consistent.

commit 5a046e5b698fd8f4f363779d1130562034e4e596
Merge: a2c6f87 2e25acc
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Jun 16 13:47:48 2015 +0530

    Bug #21094069	FOREIGN KEYS WITH SPECIAL CHARS IN PARENT DB NAME:
                  FALSE CONSTRAINT VIOLATIONTS *
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 2e25acc15a1343fa19a03440fa8bd4e7437bcef7
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Jun 16 13:44:07 2015 +0530

    Bug #21094069	FOREIGN KEYS WITH SPECIAL CHARS IN PARENT DB NAME: FALSE CONSTRAINT VIOLATIONTS *
    
    PROBLEM
    
    In function innobase_get_foreign_key_info(), we were trying to open the
    referenced table using the name stored in key (Foreign_key) ,but the
    table and database name strings are stored according the system
    character set and not as file name charset format.Innodb stores the
    names using filename charset format , therfore it is unable to
    recognize the database and table names with special characters present
    in the name and therefore is unable to open the referenced table and
    we get subsequent error during inserts when foreign key checks is
    turned on.
    
    FIX
    
    Convert the database and table names into filename charset and then
    open the referenced table.

commit a2c6f875404dacd66d31134221cb4b2dd7fdd7f0
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Jun 16 09:59:15 2015 +0200

    Rework the test case perfschema.status_reprepare to be more robust

commit db9792208e97048ec7adba08dc423b64282c1e74
Author: Bin Su <bin.x.su@oracle.com>
Date:   Tue Jun 16 12:10:48 2015 +0800

    The innodb_sync_debug_basic should be rerecorded since the patch for
    
    Bug#21252241 - WL#7816 INTRODUCED LATCHING ORDER VIOLATION IN TRUNK,
    WHEN INNODB_SYNC_DEBUG=1
    
    has been pushed to trunk.

commit f2c1fef18a4b57e65d8ba7dc8b52c841377325ca
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jun 15 21:40:01 2015 +0200

    Follow-up to
    
      commit 1e89531d7b711b294cb68527885f980e259719e0
      Author:     Martin Hansson <martin.hansson@oracle.com>
      AuthorDate: Fri Jun 12 16:55:53 2015
    
          WL#7589: Simplification of install scripts.
    
    Fix RPM scripts.

commit e5d118f59950dbaf260e798fa45d151e7c3e8453
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Jun 15 14:44:57 2015 +0200

    Bug#21223458 UPDATE TO SETUP_CONSUMERS DOES NOT UPDATE CLIENT HISTORY
    LOGGING FLAG
    
    Before this fix,
      UPDATE performance_schema.setup_consumers
    when changing the consumers for history / history_long events,
    has no effect on threads already running.
    
    Disabling a consumer did not stop event collection for running threads.
    
    Enabling a consumer did not start event collection for running threads.
    
    Only threads connected after the update would function properly.
    
    The root cause is that some derived flags per thread,
    like pfs_instr::m_flag_events_waits_history,
    were not re-evaluated.
    
    The root cause is the definition of the history consumers,
    for which the flag row_setup_consumers::m_thread_refresh
    was not set.
    
    This fix sets row_setup_consumers::m_thread_refresh to true
    for the history consumers, so that per thread derived flags are
    re evaluated when a consumer is updated.

commit 9dc3d3b2b3c39f01e20db0fe3f7b2ce3399c93ae
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Mon Jun 15 11:11:51 2015 -0500

    Code Cleanup from tablespace portability patch
    Approved by Marko in rb#8293

commit 1e89531d7b711b294cb68527885f980e259719e0
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Fri Jun 12 16:55:53 2015 +0200

    WL#7589: Simplification of install scripts.
    
    This patch does two things:
    - Changes the enabled column's data type to ENUM('YES', 'NO')
    - Removes the script install_rewriter_with_optional_columns.sql
      and instead always creates all columns in the normal script.
    
    Only the plugin, its MTR files and install scripts are touched.

commit 2ecf17530e3088e56b85992d81c719f315477061
Merge: 2667255 436f1c5
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Jun 15 19:01:30 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 436f1c531feaa621f89a69697b3349df5c445e42
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Jun 15 19:00:05 2015 +0530

    Bug #20590013	IF YOU HAVE A FULLTEXT INDEX AND DROP IT
    		YOU CAN NO LONGER PERFORM ONLINE DDL
    
    Problem:
    =======
    After dropping all FTS indexes, FTS_DOC_ID and FTS_DOC_ID_INDEX will
    be part of the table. Online DDL is not allowed when FTS_DOC_ID and
    FTS_DOC_ID_INDEX is a part of the table.
    
    Solution:
    ========
    
    InnoDB allows the online DDL to happen when there is only hidden
    FTS_DOC_ID and FTS_DOC_ID_INDEX are present.  Hidden column FTS_DOC_Id
    and FTS_DOC_ID_INDEX will be part of the table till the
    rebuild DDL invokes.
    
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 9149

commit 26672559679cf08bf102c31e9772dd8ec15cc128
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Jun 15 15:09:38 2015 +0200

    Bug#20878856 PERFSCHEMA.SHOW_SANITY UNSTABLE ON PB2
    
    Simplified the test case, for robustness.

commit 81f70ae4517e5f7b24b887831d5ee9f8edd155ab
Author: Libing Song <libing.song@oracle.com>
Date:   Thu Apr 9 16:53:18 2015 +0800

    BUG#20136704 --SLAVE-PRESERVE-COMMIT-ORDER CAUSES SLAVE TO DEADLOCK AND
                 BREAK FOR SOME QUERIE
    
    A corner case caused slave hang when slave_preserve_commit_order is ON.
    
    ANALYSIS
    ========
    CREATE TABLE t1(c1 INT PRIMARY KEY, c2 INT, INDEX(c2)) ENGINE = InnoDB;
    INSERT INTO t1 VALUES(1, NULL),(2, 2), (3, NULL), (4, 4), (5, NULL), (6, 6);
    
    INSERT INTO t1 VALUES(7, NULL);
    DELETE FROM t1 WHERE c2 <= 3;
    
    On master, the INSERT statement acquires its row lock before DELETE STATEMENT.
    Since the INSERT doesn't block the DELETE, Both statements may have same
    commit parent which mean they can be applied parallel on slave.
    
    On slave, they will be applied parallel if MTS is ON. There is a chance that
    the DELETE acquires its lock before the INSERT. The DELETE holds a gap lock
    on INDEX(c2) which blocks the INSERT statement. The INSERT cannot be applied
    unless DELETE is committed or rolled back. And meanwhile the DELETE is waiting
    for the INSERT to commit since slave_preserve_commit_order is ON. That is
    a deadlock and hangs the slave. Here we call the deadlock as a order commit
    deadlock.
    
    FIX
    ===
    A deadlock checking mechanism is introduced. Every time when a transaction
    needs to wait for another transaction to release a row lock, innodb will
    call a slave function to check if there is an order commit deadlock. If
    it founds an order commit deadlock, It will set a deadlock flag to the
    slave worker which is holding the row lock. Thereafter, the worker will
    roll its transaction back and retry it again.

commit 8e7452b81cd4a50f683efbd27b265856115761bc
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Mon Jun 15 09:41:05 2015 +0300

    Bug#21140088 MATCH AGAINST: ASSERTION FAILED: !TABLE || (!TABLE->READ_SET || BITMAP_IS_SET
    
    Outer reference can not be used as argument of the MATCH function.
    Added check for outer reference. Fix for bug#19828320 is removed
    since not needed anymore.

commit 914d09e4f450fb87f7c3b8623f41ba89dd2edb93
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Mon Jun 15 09:27:44 2015 +0300

    Fixed index_merge_myisam test.

commit da99c08d647550281c4e514718e9eaa441f9bf22
Author: Gopal Shankar <gopal.shankar@oracle.com>
Date:   Fri Jun 12 17:14:27 2015 +0530

    BUG#15866285 FAILING ASSERTION: DICT_TF2_FLAG_IS_SET (INDEX->TABLE, DICT_TF2_TEMPORARY)
    
    Problem:
    INSERT causes assert in InnoDB as one of trigger successfully
    changes the transaction mode to read only after a transaction
    has already started.
    
    Solution:
    Make MySQL server adhere to following behavior, which is more
    aligned with SQL standards and as per our current documentation.
    
    - SET TRANSACTION always cause an exception if executed
    inside a transaction, regardless of being submitted as a
    standalone command, in procedures, functions or triggers.
    
    - SET SESSION TRANSACTION always succeeds, and sets
    characteristics which is applicable for subsequent transaction.
    
    Test cases are added in main.commit.

commit d357fd8e39ee479cea97e60d319f7f38e4cfd60a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Sat Jun 13 15:18:14 2015 +0200

    Bug#21052754 ADD SHOW ENGINE INNODB MUTEX FUNCTIONALITY
    
    Post-push fix: Fix broken build with performance schema disabled.

commit 0026ebe9fd853099022cff0cc0a5ffcc5ce3a426
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Sat Jun 13 11:14:35 2015 +0100

    Bug#21214354: REMOVE USELESS CASTS
    
    Remove a number of explicit casts where an expression is
    casted to its own type. Identified with the -Wuseless-cast
    GCC warning option.

commit 00d56c57bf6a89b05849d95604f362153855e13a
Merge: 2d57fe4 d53cac9
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Sat Jun 13 10:36:13 2015 +0530

    Bug #19929435 	DROP DATABASE HANGS WITH MALFORMED TABLE
    
    Merging mysql-5.6 to mysql-5.7.

commit d53cac92bddac72e87f53885d851fff60548f9bd
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Sat Jun 13 10:17:20 2015 +0530

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

commit 2d57fe429931100eeecb9232a6f7372b15ca25e4
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Fri Jun 12 12:39:10 2015 -0500

    Code Cleanup found while working on Tablespace Portability
    
    Approved to push separately by Marko in rb#8293

commit 83e02785a8abff725f51215f8c47ec961a77370a
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Fri Jun 12 10:51:48 2015 -0500

    Bug#21052754 ADD SHOW ENGINE INNODB MUTEX FUNCTIONALITY
    
    Post-push fix: Fix compiler warnings on Windows

commit 35a169bf340823d06f4d3123736b6ab8ca801dd2
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Jun 12 15:44:18 2015 +0200

    Bug#21246941 REMOVE BUILD/BUILD_MCCGE.SH FROM THE 5.7 SOURCE TREE
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com>.

commit f112acc02971e1f31a61faca341072ff17e202f4
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Jun 12 14:26:52 2015 +0200

    Bug#21245718: KEY_MEMORY_KEY_CACHE IS DEFINED TWICE
    
    Building with ASAN gives:
    Warning: size of symbol `key_memory_KEY_CACHE' changed
    from 4 in ../libmysqld.a(my_static.c.o)
    to 64 in ../libmysqld.a(psi_memory_key.cc.o)
    
    This patch fixes the problem by removing the duplicate definition.

commit 9bc4aa89e4c48699f565e01ea508e6d06ef4f950
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Jun 11 16:01:39 2015 +0200

    Bug#21139707 ASSERTION FAILED: !(DECIMAL_IS_ZERO(FROM1) && FROM1->SIGN)
    
    Avoid negative zero for results of decimal arithmetic operations.
    Similarly for conversions from float/string to decimal.
    This is a folloup patch to
    Bug#18411494 WRONG COMPARSION ON BIG DECIMAL VALUES

commit 85fd81fe88f8dd06244de7568db54690fc96a00e
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri Jun 12 17:36:22 2015 +0800

    Followup:BUG#20856397 MYSQLD --HELP --VERBOSE TAKES 50 SECONDS ON UNLOADED SYSTEM
    
    Fix help_verbose.test failure on pb2.
    
    Reviewed-by: Marko Mäkelä	<marko.makela@oracle.com>  over IM

commit a7586b8422472324f821635c43cf4c7942706be5
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Jun 12 09:25:03 2015 +0100

    Bug#21052754 ADD SHOW ENGINE INNODB MUTEX FUNCTIONALITY
    
    Post-push fix: Update result file for sys_vars.all_vars

commit 98c3c8c19a9721d78a34f485d14727da66c37604
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Jun 12 10:12:49 2015 +0200

    Bug#19900900 ASSERTION `!CHECK_DATETIME_RANGE(LTIME)' FAILED TIME_TO_LONGLONG_DATETIME_PACKED
    
    Problem: the function add_time could produce results that were out-of-range
    (year >= 10000)
    
    Solution: add a range check.

commit 942d157ffc51298a7611d5ff6f48e6efcb6bb94c
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Fri Jun 12 12:08:23 2015 +0530

    Bug #20953265 INNODB: FAILING ASSERTION: RESULT != FTS_INVALID
    
    Post push fix to solve a valgrind issue.
    
    approved by Marko over IM.

commit 6fceb3e5ec4d273523deb822a8c199f17dd7ea03
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Jun 12 14:39:12 2015 +1000

    Bug#21052754 ADD SHOW ENGINE INNODB MUTEX FUNCTIONALITY
    
    Add missing sys_vars/innodb_sync_debug_basic.test

commit 8ff15796ee94753a49cba87cf307c5205ad65079
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Jun 12 10:04:11 2015 +1000

    Bug#21052754 ADD SHOW ENGINE INNODB MUTEX FUNCTIONALITY
    
    Rerecord the test for the new debug variable --innodb-debug-sync

commit 34d1f189946331b3afeb034aa22d3b3df027c470
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Jun 12 09:06:08 2015 +1000

    Bug#21052754 ADD SHOW ENGINE INNODB MUTEX FUNCTIONALITY
    
    Delete the latch meta data on shutdown.

commit a90b1b25a9c0ef87b2de9a6f224b46c80a146da7
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Thu Jun 11 16:19:10 2015 +0100

    Bug#20712720 CRASH IN _ZN22REPLICATION_THREAD_API18INITIALIZE_CHANNEL
    
    Post fix:
    The previous patch included a var only used in a debug context causing
    compilation failures in maintainer mode.

commit 23380e3896c32860a5efbd20951d43dd28f85acc
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Jun 11 23:21:07 2015 +1000

    Bug#21052754 ADD SHOW ENGINE INNODB MUTEX FUNCTIONALITY
    
    Follow up fix, rw_lock_create() and rw_lock_free() are the "constructor"
    and "destructor" when UNIV_DEBUG are defined. Do not call new/delete on
    rw_lock_t instances. When UNIV_DEBUG is defined rw_lock_t inherits from
    latch_t for sync order debug checks. Therefore we do a placement new
    in rw_lock_create() and call the destructor in rw_lock_free().
    
    One current problem that needs to be fixed is to get rid of the rw-locks
    that are global. Explicitly allocate and deallocate memory for both.
    
    buf/buf0buf.cc:static rw_lock_t	buf_chunk_map_latch;
    dict/dict0dict.cc:rw_lock_t	dict_operation_lock;
    
    The problem is that in debug mode, the constructor and destructor will
    be invoked on startup and shutdown automagically.

commit 72c6b1321115ce34b3febadae4282c31a068c97f
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Thu May 21 15:20:19 2015 +0200

    Bug#21038929 SINGLE-TABLE SCALAR SUBQUERY WITH LIMIT AND ORDER BY GIVES WRONG RESULTS
    
    In 5.6 WL#1393 made a change: ORDER BY got emptied if this was a
    single-table subquery; but this is not always correct.
    remove_redundant_subquery_clauses() already contains the correct logic
    for that.

commit cc36466f942bc73583a2769540c6cb463c6cda80
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Thu Jun 11 15:37:30 2015 +0300

    Update result file missed in previous commit for Bug#21140067 fix.

commit 879a2657c4dbd1a951b9d3e56caa7c1f87d72e71
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Jun 11 19:59:04 2015 +0800

    Follow-up:BUG#20856397 MYSQLD --HELP --VERBOSE TAKES 50 SECONDS ON UNLOADED SYSTEM
    
    Fix compilation error in gunit_test_main_server.cc.
    
    Reviewed-by: Marko Mäkelä	<marko.makela@oracle.com>  over IM
    Reviewed-by: Tor Didriksen	<tor.didriksen@oracle.com> over IM

commit 9676c48ac544b3b96ce1daae7da572a4cedcf5b5
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Jun 11 13:19:50 2015 +0300

    Bug#21198396 REINTRODUCE ADAPTIVE HASH INDEX FIELD PREFIXES
    TO SPEED UP SEQUENTIAL INSERTS
    
    This is a regression from the fix of
    Bug#16852278 SIMPLIFY RECORD COMPARISONS
    which removed the n_bytes fields from the adaptive hash index.
    
    For certain workloads, such as LOAD DATA INFILE of sorted data,
    the ability of the adaptive hash index to build indexes on
    byte prefixes of arbitrary binary fields is essential.
    In the reported test case, there is an integer primary key,
    and we end up building adaptive hash indexes on the
    most significant bytes of this key.
    
    This patch will bring back the n_bytes fields by introducing
    variants of the low-level functions.
    The whole-field comparison functions will be left unchanged.
    
    btr_cur_t: Bring back up_bytes, low_bytes.
    btr_search_t: Bring back n_bytes.
    buf_block_t: Bring back n_bytes, curr_n_bytes.
    
    dtuple_fold(), rec_fold(), btr_search_build_page_hash_index():
    Bring back n_bytes.
    
    page_cur_search_with_match_bytes():
    A variant of page_cur_search_with_match().
    
    cmp_dtuple_rec_with_match_bytes():
    A variant of cmp_dtuple_rec_with_match().
    
    page_cur_try_search_shortcut_bytes():
    A variant of page_cur_try_search_shortcut().
    
    ut_pair_min(), ut_pair_cmp(): Bring back these.
    
    cmp_get_pad_char(): Bring back this.
    It was previously called dtype_get_pad_char().
    
    RB: 8961
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    Reviewed-by: Krunal Bauskar <krunal.bauskar@oracle.com>

commit 9439a0d37c571c0b81b34a772c268ac990a501b0
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jun 11 11:37:39 2015 +0200

    Test cleanup

commit 66c64a7d06ae2f61f2cf415469ab7d703fff78a6
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Jun 11 16:32:33 2015 +0800

    BUG#20856397 MYSQLD --HELP --VERBOSE TAKES 50 SECONDS ON UNLOADED SYSTEM
    
    It takes most of the time to initialize innodb buffer pool(256G).
    So the solution is to use default buffer pool size(128M) when
    mysqld is run with --help --verbose options, if buffer pool size
    is greater than 128M. And we still show the correct value in help.
    
    Reviewed-by: Marko Mäkelä	<marko.makela@oracle.com>
    Reviewed-by: Robert Golebiowski	<robert.golebiowski@oracle.com>
    RB: 9252

commit 710fc79f733681cb4c21d285f4452b0fc9c42741
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Thu Jun 11 11:27:04 2015 +0300

    Bug#19055268 ASSERT `!TABLE || (!TABLE->READ_SET || BITMAP_IS_SET(TABLE->READ_SET,...) FAILED
    
    In QUICK_RANGE_SELECT::reset TABLE::read_set is reset
    on the first execution. Code which resets read_set was
    added in the fix for bug50402. Seems this code is
    unnecessary now. The fix is to remove these lines.

commit e08ecd80785ba08bbc4553248f0b811fac76328d
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Jun 11 18:31:58 2015 +1000

    Bug#21052754 ADD SHOW ENGINE INNODB MUTEX FUNCTIONALITY
    
    Follow up fix. Ignore NULL slots in the latch meta-data for non debug builds.

commit 43c1f309ae0897d64ec2e1871407953cace40033
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Thu Jun 11 11:07:45 2015 +0300

    Bug#21140067 EXPLAIN .. MATCH AGAINST: ASSERTION FAILED: TO <= END
    
    Explain can not print big rank value. The fix is to
    use %g instead of %f to get scientific notation for large numbers.

commit 574cf9bc59839ee9df7eddcf8d4edaf917d26d3b
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Jun 11 15:32:30 2015 +1000

    Bug 21052754 ADD SHOW ENGINE INNODB MUTEX FUNCTIONALITY
    
    Follow up fix, add a space before level when printing.

commit b80c0b84d6a9dfaa5ee5af69ddb61dd93d34db01
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Jun 11 15:04:49 2015 +1000

    Bug 21052754 ADD SHOW ENGINE INNODB MUTEX FUNCTIONALITY
    
    Add the functionality that was removed in WL#6044. However, this is a compelete
    rewrite of SHOW ... MUTEX infrastructure inside InnoDB. The RW-Locks tracking
    however was not changed in any substantial way. Except that some useless debug
    counters were removed and the waits are now enabled/reset/disabled using the
    Monitor infrastructure.
    
    In the old SHOW ... MUTEX For each mutex pointer and rw-lock pointer we were
    doing a search through all the buffer pool chunks to check if the pointer was
    contained within to identify if it was a page mutex/rw-lock or not. For large
    buffer pools this is unacceptable. To avoid these expensive scans, I've added
    a LATCH_ID to identify each mutex and rw-lock. Removed the cfile_name and
    cline from the mutex definition and moved them to a separate lookup table.
    This information is only used when there is a problem and is very rare but
    under normal operation they take up sizeof(void*) + sizeof(uint16_t) space,
    the sizeof(uint16_t) actually occupies 8 bytes due to the alignment. The size
    of the mutex was therefore 72 bytes. It has now been reduced to:
    
    We don't track the create file and line number for the block mutexes. There
    are just too many of them and they are all created in the same file(buf0buf.cc)
    and on the same line number, you can grep the code to figure that out.
    
      gdb) p sizeof(ib_mutex_t)
          $1 = 48
    
    For rw_lock_t, add a is_block_lock flag. This flag is set in buf0buf.cc where
    the block lock is created.
    
    Removed UNIV_SYNC_DEBUG. UNIV_DEBUG will by default do sync order checking.
    Add read-only debug config variable: --innodb-sync-debug (default: true).
    Potential use case is to run the latch ordering checks in the weekly tests
    if the overhead is too much for daily tests.
    
    Added dynamic enable/disable/reset of mutex/rw statistic gathering using
    the existing monitor infrastructure
    
        SET GLOBAL innodb_monitor_enable="latch";
        SET GLOBAL innodb_monitor_reset="latch";
        SET GLOBAL innodb_monitor_disable="latch";
    
    Added additonal information to the SHOW ... MUTEX OUTPUT
    
    mysql> show engine innodb mutex;
    +--------+-------------------------+------------------------------------------+
    | Type   | Name                    | Status                                   |
    +--------+-------------------------+------------------------------------------+
    | InnoDB | TRX_SYS                 | spins=3371806,waits=44790,calls=800875   |
    ...
    | InnoDB | rwlock: log0log.cc:784  | waits=3                                  |
    +--------+-------------------------+------------------------------------------+
    
    The "Name" columns will now display the mutex name and not the filename:line
    format which was very build specific. For RW-LOCKS we will stick with the old
    format.
    
    Fixed several bugs in the SyncDebug checks that were introduced in WL#6044.
    
    Moved the low level OS mutex to a separate class with a separate interface.
    We can't track these because they are implemented outside of InnoDB.
    
    Remove UNIV_DEBUG_FILE_ACCESSES, fold into UNIV_DEBUG
    
    Approved by Jimmy Yang and Bin Su rb#9037

commit bdf2f16a4452a1431b6d08288296b416389ca67a
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Jun 11 11:50:06 2015 +0800

    BUG#19363615 INNODB.LOG_FILE FAILS SPORADICALLY ON PB2
    
    Change wake up all threads check in srv_shutdown_all_bg_threads,
    and modify log_file.test to pass on windows.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com> over IM

commit 3259e1d80734f308b1b3e99856a227e0be6f52ca
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jun 11 03:15:24 2015 +0200

    NDB cluster build break

commit b1a1d8640d8c686edad5346401a0f5442fb9b09f
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jun 11 00:56:19 2015 +0200

    Build cleanup

commit 9c84c2d54035d67cc7a678afdb9176a09c032a52
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Jun 10 13:49:37 2015 +0200

    Bug#17243619 NEGATIVE VALUES FOR LOW COLUMNS
     IN MEMORY_SUMMARY_GLOBAL_BY_EVENT_NAME
    
    This bug is similar to
     bug 17473077 - EVER INCREASING MEMORY USAGE REPORTED FOR
    EVENT SCHEDULER
    
    Some data structures are shared in the server,
    which imply that the memory instrument used should be flagged with
    PSI_FLAG_GLOBAL.
    
    What is particular to this fix is that the data structures used are
    containers, such as lists, hash tables, etc.
    
    Currently, the performance schema instrumentation,
    for containers, works as follows.
    
    Elements X, Y and Z are instrumented with their dedicated keys,
    "memory/sql/X", "memory/sql/Y" or "memory/sql/Z",
    so that statistics are separate for X, Y and Z
    
    Generic containers are instrumented with a common key,
    so that Container<X>, Container<Y> and Container<Z>
    all end up instrumented under the same key "memory/sql/Container".
    
    This leads to the following issues:
    
    - Statistics for Container<X>, Container<Y> and Container<Z> are all counted
      under the same bucket. This makes very difficult to understand where
      memory is really used.
    
    - Statistics for 'X' and 'Container<X>' are not aggregated,
      which makes it difficult to really measure the total footprint
      of a "Container of X" data structure.
    
    - Container<X> can be a global structure (shared) while Container<Y>
      can be a per session structure. Each need different accounting flags
      (PSI_FLAG_GLOBAL or not), but this is impossible with a common
      key like "memory/sql/Container", leading to the bug reported.
    
    What this fix implements is as follows:
    
    - Container keys like "memory/sql/Container" are removed.
    
    - Containers now take the memory instrumentation key from the caller,
      so that Container<X> is instrumented with "memory/sql/X"
      and Container<Y> is instrumented with "memory/sql/Y"
    
    - 'X' and 'Container<X>' are now instrumented together,
      with the key for 'X'.
      This affects tests output, which measure now a bigger (and more accurate)
      memory usage.
    
    The affected containers are:
    - HASH and my_hash_init()
    - DYNAMIC_ARRAY and my_init_dynamic_array()
    - class hash_filo and hash_filo::hash_filo()
    - class Hash_set and Hash_set::Hash_set()
    
    The change is big in size, but mechanical: always pass the instrumentation
    key explicitely from the calling code, for containers.

commit 6686cf4605b73da2225e66408f6f35c49d982507
Author: Lalit Choudhary <lalit.choudhary@oracle.com>
Date:   Wed Jun 10 17:24:13 2015 +0530

    WL#7729 MTR Tests fixed

commit c1988a5313c1541fff2b65ff9c389717ac2f21ef
Merge: 39f5edf b915c5a
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Wed Jun 10 16:29:18 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit b915c5af109f0f99fa809882d4d49155d37328ef
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Wed Jun 10 13:48:31 2015 +0530

    Bug #21229433 	NON PFS BUILDS COMPILATION ISSUE.
    
    Details : Please see bug page for information.

commit 39f5edf36fae50ef9acc0f5bf2bdf1e65f140020
Merge: a2a6d38 b08cc30
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Wed Jun 10 12:46:54 2015 +0200

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

commit b08cc308bd700342de62cabae1fbadbbc284439b
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Wed Jun 10 12:35:52 2015 +0200

    Bug#20929568 PREPARED STATEMENTS NOT NORMALIZED
    
    Prepared statements recorded by the firewall were not
    normalized but stored in the exact form as they were
    recorded. This patch back ports the normalization
    strategy used in 5.7.

commit a2a6d389068dbfc8f7240fd7fcedf4f86a056dba
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jun 10 11:22:43 2015 +0200

    Bug#17818062 PERFORMANCE SCHEMA, ISSUE WITH UPPERCASE ROUTINES NAMES, PERFSCHEMA.MISC FAILS
    
    Post push fix: gtest based unit tests failed to link, with
    "multiple definition" or "missing definition" of system_charset_info

commit 969b69aed0ae2f97a3cd3cccb58c67ae2563fc11
Merge: 401e387 0a716f7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jun 10 10:44:45 2015 +0200

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

commit 0a716f73d57ee955f94f28c73a99c57418654fcc
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Jun 10 10:43:07 2015 +0200

    Bug#20738072 CRASH ON STARTUP WITH MAX-DIGEST-LENGTH OF >=420K
    
    Fix skip test count, pfs_misc-t.
    5.6 has only two ok()s, so it should have skip(2)

commit 401e387dcc8bb44d51865c8ef33dc27eefb89c1f
Author: Libing Song <libing.song@oracle.com>
Date:   Wed May 20 08:12:05 2015 +0800

    BUG#20857660 REPLICATION_APPLIER_STATUS_BY_WORKER SHOWS
                 WRONG WORKER_ID WHEN SLAVE STOPS
    
    Query from replication_applier_status_by_worker table, all worker ids
    were 1 if slave was stopped. When stopping workers, the original
    Slave_work objects of workers will be released. To support performance_schema
    table, new Slave_worker objects are created and part of the infomations are
    copied from the original objects before they are released. internal_id of
    the new Slave_worker objects was not initilaized correctly, all of them were
    intialized as 1.
    
    To fix it, internal_ids are initilaized same to the original objects.

commit 29598be063f77131eb3657ccab9e177e231dcfae
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Wed Jun 10 00:14:19 2015 +0200

    Bug#21211492: ASSERTION FAILED: !THD->IS_ERROR() PARTITIONS
    + OUT OF RANGE VALUES
    
    Post-post fix. Bug#18346750 cannot be hit anylonger.
    Added DBUG_ASSERT(0) to make sure of it and re-recored the results.

commit fd86325459d59c764b5ed9c39dda8c637e66e3b1
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Jun 9 11:44:46 2015 -0500

    Fix two InnoDB compiler warnings.

commit fffad7ef1b0b9d44c3a41ca70de6c3595b60c1ad
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Jun 9 20:18:32 2015 +0530

    BUG#21211524 CRASH IN ACTUAL_KEY_PARTS WITH PARTITIONED TABLES
    
    Problem :
    ---------
    In some rare cases optimizer would prune all partitions for a table
    but won't remove the table and call storage apis to initialize and
    fetch records. In this case we are not setting the active index during
    initialization[ha_innopart::index_init].
    
    For index scan with a begin key, we attempt to calculate key length
    [Partition_helper::common_index_read] using active index which results
    in the access violation. We return EOF error just after this in case
    there is no partition to fetch data from[partition_scan_set_up].
    
    Solution :
    ----------
    Set active index id in ha_innopart::index_init even if there is
    no partition to select from. This is also the way we handle in 5.6.
    
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    
    RB: 9231

commit 58610a0b4289a552764d9b772816d92ca9cdf070
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Tue Jun 9 15:42:27 2015 +0200

    Bug#21211492: ASSERTION FAILED: !THD->IS_ERROR() PARTITIONS
    + OUT OF RANGE VALUES
    
    When an error occurred when evaluating an item
    it was not checked and returned as a failure in
    prune_partitions(), resulting in a DBUG_ASSERT
    was hit later in SELECT_LEX::prepare().
    
    Fixed by returning error if thd->is_error().
    
    rb#9229
    
    Approved by Roy.

commit 8fe5b51bc05e6416aae008e4cfbe798a2d4647ef
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Jun 9 11:14:45 2015 +0200

    Bug#21216275 SOLARIS CLIENT BUILDS DO NOT INCLUDE THE WITH_PERFSCHEMA_STORAGE_ENGINE OPTION
    
    Problem:
    On Solaris SPARC and Intel builds certain tests fail with the sys schema
    These are due to the fact that on Solaris, a "client" build is run after the
    normal "release" build, and this client build does not include the
    WITH_PERFSCHEMA_STORAGE_ENGINE option, causing an empty schema to be created
    rather than the full one, from mysql_upgrade.
    
    Solution: Use applications/scripts from the "release" build.
    
    When building client-only (-DWITHOUT_SERVER=1) do not build
    clients mysql_upgrade mysql_install_db
    
    Similarly: do not generate or install scripts which are part of the
    'Server COMPONENT'

commit adc7085c67432728dfb3102b13f1b26a8c176b0b
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Tue Jun 9 16:02:31 2015 +0530

    Bug #20953265 INNODB: FAILING ASSERTION: RESULT != FTS_INVALID
    
    Problem:
    
    Previously DML operations were cascaded recursively, between tables related
    via foreign key constraints.  The patch in rb#2089 changed this recursive
    approach to iterative approach by maintaining an explicit stack of update
    nodes for cascading.  This patch did not take care of FTS operations, and
    hence the current problem.
    
    Note: The patch rb#2089 is for Bug #16244691 SERVER GONE AWAY ERROR OCCURS
    DEPENDING ON THE NUMBER OF TABLE/KEY RELATIONS
    
    Solution:
    
    The FTS operations are now properly cascaded during iterative DML cascading
    operations.
    
    rb#8987 approved by Marko and Shaohua.

commit ede039f91ec66e9af1c3b2199e9a2c5bb774bbd1
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Mon Jun 8 15:36:30 2015 +0200

    Bug#21067378 GEOMETRIC OPERATION RETURNS ERROR INSTEAD OF RESULT
    
    Problem: A query on a geometry column will return an error instead of
    a result if there exists a UNIQUE index on the column.
    
    The range optimizer temporarily transforms geometry columns of
    specific subtypes to generic geometry columns while using the field
    for type transformation. This only happens if the column is of type
    MYSQL_TYPE_GEOMETRY and key_part->image_type is Field::itMBR. However,
    when there's a spatial index on the column, key_part->image_type is
    Field::itRAW, and the column type is not changed to the geometry
    supertype. When a value is inserted that doesn't match the subtype, an
    error is flagged and the query is aborted.
    
    When the error is avoided, the result is still wrong since the
    predicate is not recognized as a spatial operator.
    
    Fix: Temporarily change all geometry columns to the geometry
    supertype, regardless of image_type. Add COVERS and COVEREDBY to the
    list in is_spatial_operator().

commit 36e6f9c15b3a48501020f2000489b300ce0ebc36
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Tue Jun 9 10:35:07 2015 +0300

    Pass a missing page_size argument to fil_io()

commit 2901f68d0c31ad9bd8d2d4b5bc143d6b82f2e2d0
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Tue Jun 9 10:34:37 2015 +0300

    Dont use a removed bytes() method from page_size_t
    
    The bytes() method was replaced with two methods - physical() and
    logical() with the following meaning (from page0size.h):
    
            /* For non compressed tablespaces, physical page size is equal to
            the logical page size and the data is stored in buf_page_t::frame
            (and is also always equal to univ_page_size (--innodb-page-size=)).
    
            For compressed tablespaces, physical page size is the compressed
            page size as stored on disk and in buf_page_t::zip::data. The logical
            page size is the uncompressed page size in memory - the size of
            buf_page_t::frame (currently also always equal to univ_page_size
            (--innodb-page-size=)). */
    
    So, the size of block->page.zip.data is page_size.physical() and the
    size of block->frame is page_size.logical(), although in the case of non
    compressed pages block->frame is what is in memory and what is stored on
    disk and thus page_size.physical() == page_size.logical().
    
    Thus, use page_size.physical() or page_size.logical() accordingly
    instead of the nonexistent method page_size.bytes() which was removed.

commit 472d3e3d47411f18c1ac6865cc0937197031ec88
Author: Lalit Choudhary <lalit.choudhary@oracle.com>
Date:   Tue Jun 9 12:22:08 2015 +0530

    Wl#7729 MTR Fixed

commit 9373af66fd66fc513734d2b30eaf9c8c878c2fd1
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Mon Jun 8 14:59:59 2015 +0200

    Bug#20855737 USE OF MYSQL_SSL_RSA_SETUP IN INITIALIZATION FOR COMMUNITY EDITION
    
    Adds call to mysql_ssl_rsa_setup in SysV and systemd scripts to
    generate SSL certificate, key files and RSA key-pair required to
    support secure connections by default.

commit 4a20b7df0b9705fd1656598ae0c24fa121863690
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Mon Jun 8 07:37:28 2015 -0500

    Delete unnecessary assert from wl#7943 which is failing on certain
    tests including i_s_files_16.test in weekly-5.7 and weekly-trunk.

commit 424013cbf17cc2da3e4ea544b0a21c9172bd7ba1
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Jun 8 14:15:02 2015 +0200

    Bug#21168681 DAEMON_PLUGIN CHANGELOG AND PLUGIN DECLARATION ARE OUT OF SYNC
    
    Approved by Joro Kodinov <georgi.kodinov@oracle.com> over IM.

commit 5fbaa1c032a7b5a6ee3febcca70a8a38f7396504
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon Jun 8 13:47:42 2015 +0530

    Bug #21081898 INNODB: TABLESPACE RELATED DDLS ARE NOT
                  COMMITTING ONGOING TRANSACTION
    
    Analysis
    --------
    TABLESPACE DDL operations do not implicitly commit active
    transaction leaving them alive after DDL completion.
    
    CF_AUTO_COMMIT_TRANS flag enables implicit commit of active
    transaction at the beginning of new SQL command execution.
    All tablespace DDL operations in SQL engine are mapped to
    SQLCOM_ALTER_TABLESPACE command. CF_AUTO_COMMIT_TRANS flag
    is not set for SQLCOM_ALTER_TABLESPACE causing the issue.
    
    Fix:
    ---
    CF_AUTO_COMMIT_TRANS flag is set for SQLCOM_ALTER_TABLESPACE
    command.

commit 3b97035e4961e4a2def530e203f0c3ebe8a16b42
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Sun Jun 7 22:11:19 2015 +0300

    Bug #20902763 post-push fix. The binlog assert is refined to cover failed test condition.

commit b2562eef70b5c16b3c69f050e49fb962beec9635
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Fri Jun 5 23:55:02 2015 -0500

    Bug#21186946 SHOW GLOBAL STATUS COUNTERS ARE NOT UPDATED FOR SELECT QUERIES
    
    Removed the special case boolean for Com counter aggregation in add_to_status().
    Recent changes from Bug#20811494 make this unnecessary, and it was causing
    inconsisent results between session and global status queries.

commit 3a99a79bf71752311000b914a0ddcce818656a03
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Fri Jun 5 22:49:20 2015 -0500

    Bug#21139458 SHOW [GLOBAL] STATUS RETURNS EMPTY SET WHEN --PERFORMANCE-SCHEMA=0
    
    If the Performance Schema is disabled, then disable all instrumentation
    but retain support for the status and system variable tables, the
    host cache table and the replication tables.

commit ba1642cf62012a8f5b452a600ff99a915d6812f1
Author: Luis Soares <luis.soares@oracle.com>
Date:   Fri Jun 5 16:58:30 2015 +0100

    BUG#20191813
    
    Post-push fix. Hardening the test case. In this particular
    case, it could be that on slow platforms the IO thread did
    not have the chance to initialize its structures for the
    given channel before the server was deliberately shutdown.

commit 20e4770fda8a431b36924ff821d9112f63c05d20
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Mon Apr 20 22:01:04 2015 +0300

    The firing assert's condition were not precise to overreact on
    possibility of empty prepared transaction can be rolled back.
    
    The condition is corrected.

commit c6df97df8c329c69a3f527ce489a8ca47bbc14f2
Author: Mark Leith <mark.leith@oracle.com>
Date:   Fri Jun 5 09:50:06 2015 +0100

    Bug #20971120 MTR TESTS FAIL WHILE CREATING SYSTEM TABLES ON NON PS BUILD
    
    If compiling without performance schema, use a generated empty SQL file, that just contains an empty sys schema (like performance_schema does when not compiled in), to compile in to mysql_upgrade, mysql_install_db, and mysqld --initialize. Set the version as 1.0.0 for the sys schema, so that mysql_upgrade etc. will install the empty schema, but will not overwrite an existing schema.
    
    mysql_upgrade and mysql_install_db still have the --skip-sys-schema options, and can still be used to not create the empty schema if desired.
    
    Also add a --skip-sys-schema option to MTR to allow skipping use of the sys schema. This has to be done in this way, as we can't rely on checking the compile time option. It also leaves the possibility of not using the sys schema when performance schema is compiled in too, should people want to use it.
    
    Like mysql_install_db etc., this currently creates an empty sys schema when used and removes the sysschema suite from the set of default suites to run.
    
    Reviewed-by: Marc Alff <marc.alff@oracle.com>
    Reviewed-by: Bjorn Munch <bjorn.munch@oracle.com>
    RB: 9009

commit e6d8c6e7243159d8c843be13d53eb34fb3802cb8
Merge: 4f49f0d 8f2f30e
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Jun 5 10:46:26 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8f2f30e29dd2ee5b4106d465c0d120b140b1f43b
Merge: ed7ad83 92329be
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Jun 5 10:45:54 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 92329be8ac8451a3ec1000502794cb87e8573560
Merge: f44f1cd ec9c911
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Jun 5 10:45:29 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit ec9c9114fb8acffd13b400b7af181d76f7d53d34
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Jun 5 10:44:33 2015 +0530

    Bug #20605441 : BUFFER OVERFLOW IN MYSQLSLAP
    
    Post push to fix pb2 test case failure.

commit 4f49f0da9e9e7e1aa79fc7511dee1184eb034355
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jun 4 22:06:39 2015 +0200

    WL#7729 Instrumentation of connection type

commit 576d0d20a898fa89419b2a2f8bf9b89a1505bede
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jun 4 21:56:22 2015 +0200

    Test cleanup

commit c7d9b16a4b4a8a0351243ac8276393038dc260d3
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jun 4 11:30:09 2015 +0200

    Merge mysql-5.6 -> mysql-5.7

commit ade94350569444342b4ba828d4ee4dd2f22d254d
Merge: ca496d8 ed7ad83
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Jun 4 11:26:50 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit ed7ad831d90dbc7b1537c02d1084da04a0354124
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Jun 3 11:46:23 2015 +0200

    Bug#20889406 STATEMENTS ELAPSED TIME WITH GOOD TIME RESOLUTION
    
    Before this fix, when a
    - wait
    - stage
    - statement
    - transaction (in 5.7)
    was still executing, respective tables
    - performance_schema.events_waits_current
    - performance_schema.events_stages_current
    - performance_schema.events_statements_current
    - performance_schema.events_transactions_current (in 5.7)
    would display the event with
    - TIMER_START populated
    - TIMER_END as NULL
    - TIMER_WAIT as NULL
    
    This makes it difficult to find for how long an event not yet completed has
    been running.
    
    With this fix,
    - TIMER_START is populated (unchanged)
    - TIMER_END is populated with the current timer value (NOW)
    - TIMER_WAIT is populated with the time elapsed so far (TIMER_END -
      TIMER_START)
    
    Monitoring applications can simply query
      WHERE (END_EVENT_ID IS NULL) and (TIMER_WAIT > X)
    to find out events that are:
    - not yet completed (no END_EVENT_ID)
    - taking longer than X picoseconds already.

commit ca496d80c1dec403df44a216911fef26e872ca5b
Merge: 3265cb4 3cc7474
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Jun 4 12:00:41 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3cc747414271c9a58d82c2620fa1616861090af4
Merge: 5190be2 f44f1cd
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Jun 4 11:57:53 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit f44f1cdbd711fd6500bc868bdd8a2b74fe371b64
Merge: dce5402 8e4fdf9
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Jun 4 11:54:54 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit 8e4fdf97c9055f70aa5cd699ec940d884f67accc
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Jun 4 11:53:17 2015 +0530

    Bug #20605441 : BUFFER OVERFLOW IN MYSQLSLAP
    
    Description:- mysqlslap is a diagnostic utility designed to
    emulate client load for a MySQL server and to report the
    timing of each stage. This utility crashes when invalid
    values are passed to the options 'num_int_cols_opt' or
    'num_chars_cols_opt' or 'engine'.
    
    Analysis:- mysqlslap uses "parse_option()" to parse the
    values specified to the options 'num_int_cols_opt',
    'num_chars_cols_opt' and 'engine'. These options takes
    values separated by commas. In "parse_option()", the comma
    separated values are separated and copied into a buffer
    without checking the length of the string to be copied. The
    size of the buffer is defined by a macro HUGE_STRING_LENGTH
    whose value is 8196. So if the length of the any of the
    comma separated value exceeds HUGE_STRING_LENGTH, will
    result in a buffer overflow.
    
    Fix:- A check is introduced in "parse_option()" to check
    whether the size of the string to be copied is more than
    HUGE_STRING_LENGTH. If it is more, an error, "Invalid value
    specified for the option 'xxx'" is thrown.
    Option length was incorrectly calculated for the last comma
    separated value. So fixed that as well.

commit 3265cb4db51ec956a12da41e72250deed7e7071c
Merge: b3723b1 5190be2
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Jun 4 11:27:30 2015 +0800

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5190be284cc4a0dfae35260955957be0c64e4ceb
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu Jun 4 11:24:32 2015 +0800

    Followup:BUG#20637494 ASSERTION IN RE-CREATING CORRUPTED INNODB FULLTEXT INDEX
    
    Fix the pb2 innodb_fts.fts_compatibility_win failure.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> over IM

commit b3723b10c8857b57ba5eb0628879a42c5df4ede6
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Jun 3 12:30:28 2015 +0200

    Fixed failing mysql_secure_installation test

commit f7b202ff63cb44c63d01b37372aefd1cf77dff05
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Wed Jun 3 15:42:32 2015 +0530

    WL#6940  ADDED VERSION_TOKEN PLUGIN FOR DEBIAN 8 AND UBUNTU 15.04 PLATFORMS

commit 31581692cb49a9568d64e1ce3ea33d782bb75a0e
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Wed Jun 3 15:24:14 2015 +0530

    WL#8161  ADDED LOCKING_SERVICE PLUGIN FOR DEBIAN 8 AND UBUNTU 15.04 PLATFORMS
    WL#7787  UPDATED MISSING CHECKIN FOR FILE packaging/deb-utopic/mysql-community-server.install

commit a8bd5e3cac49e347b5779f786ebc621524eb59fb
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Wed Jun 3 12:45:21 2015 +0530

    WL#8462  ADDED LIBTEST PLUGINS FOR DEBIAN 8 AND UBUNTU 15.04 PLATFORMS

commit c8fdfe23731a4b1c9347cdf2b65406b20bb0de2d
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Wed Jun 3 12:06:04 2015 +0530

    Bug #21169224 : I_MAIN.AUDIT_GENERAL_LOG AND AUDIT_PLUGIN FAILING ON PB2
    
    Fix : Adjusted test script accordingly.

commit 07e512990ba3b0ca4f0e5e0acfc23715fd536c1b
Merge: 55ba9da 98431cbf
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jun 3 11:48:51 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 98431cbff106eb7175583042d463c6ba6c0e0045
Merge: 3732255 dce5402
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jun 3 11:45:58 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit dce54025a62211cc592a9132d22ed0ff2df59e28
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jun 3 11:43:12 2015 +0530

    BUG#21065746 RQG_PARTN_PRUNING_VALGRIND FAILED IN REM0REC.CC
    
    Problem :
    ---------
    This is a regression of Bug#19138298. In purge_node_t::validate_pcur
    we are trying to get offsets for all columns of clustered index from
    stored record in persistent cursor. This would fail when stored record
    is not having all fields of the index. The stored record stores only
    fields that are needed to uniquely identify the entry.
    
    Solution :
    ----------
    1. Use pcur.old_n_fields to get fields that are stored
    2. Add comment to note dependency between stored fields in purge node
    ref and stored cursor.
    3. Return if the cursor record is not already stored as it is not safe
    to access cursor record directly without latch.
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    
    RB: 9139

commit 55ba9da9abd3b050b9a162d848733b1ea1e5ccfa
Merge: a3c7e64 3732255
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jun 3 11:37:12 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3732255c1ddf9b443e2514f32d703e2227e72692
Merge: e196852 148fa69
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jun 3 11:33:11 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 148fa69fa3f20e57c40ee4e2c295a938eadadf36
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Jun 3 11:27:38 2015 +0530

    BUG#21126772 VALGRIND FAILURE IN ENGINES/FUNCS SUITE
    
    Problem :
    ---------
    This is a regression of bug-19138298. During purge, if
    btr_pcur_restore_position fails, we set found_clust to FALSE
    so that it can find a possible clustered index record in future
    calls for the same undo entry. This, however, overwrites the
    old_rec_buf while initializing pcur again in next call.
    
    The leak is reproducible in local environment and with the
    test provided along with bug-19138298.
    
    Solution :
    ----------
    If btr_pcur_restore_position() fails close the cursor.
    
    Reviewed-by: Marko Makela <Marko.Makela@oracle.com>
    Reviewed-by: Annamalai Gurusami <Annamalai.Gurusami@oracle.com>
    
    RB: 9074

commit a3c7e64436fe412391ca220b0ffcc7aafcb97b66
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Jun 3 11:13:43 2015 +0530

    Bug#21183862 : AUTH_SEC.OPENSSL_SKIP_CERT_GENERATION IS FAILING ON WINDOWS
    
    Fixed failing test.

commit eb19e433a666304e0aeb6bd44d4df699bd9354f9
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri May 15 15:02:30 2015 +0300

    Bug #17343687: MYSQL_SECURE_INSTALLATION CONFUSES USER WHILE CHANGING PASSWORD
    
    m_s_i is conecting usign the user from the --user option but in places
    assumes that it's the same as "root".
    Fixed by explicitly saying that it's using the user from the --user
    option in the messages where4 applicable.
    Test cases updated.
    Addressed review comments.

commit 500077a467fadf68bdcbc5fae8d104f5d8714545
Merge: e515b38 e196852
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Jun 2 15:30:57 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit e196852fe0b40276cb4868833ca6261e4b3f6210
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Jun 2 15:28:32 2015 +0200

    Bug#20848324 FIREWALL WITH BINLOGGING LEAD TO READ OF FREED MEMORY
    
    When the firewall reloads a temporary THD is used for loading the
    persistent settings into the memory. The THD gets stored into the
    thread local storage but this storage, but because the initial value of this
    storage was NULL it isn't reset when the firewall is done. When the binlog
    code later attempts to write time codes it uses the thread local storage and
    access the freed THD because it assumes an uninitialized thread storage is
    NULL.
    
    The fix is to properly reset the local thread storage to NULL by calling
    THD::restore_globals()

commit e515b38dbfe23cdd22d76e487cddcbb7b1b3073e
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Wed Apr 15 20:22:30 2015 +0530

    BUG#20887920 ADD SUPPORT FOR DEBIAN 8 AND UBUNTU 15.04 IN MYSQL 5.7

commit ccdb4f12a8294e184db4f21321eb650e80d76d6e
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Jun 2 13:08:28 2015 +0200

    Bug#20921370: NEW CLANG 3.6 WARNINGS - MUST ENABLE -WNO-UNUSED-LOCAL-TYPEDEF
    
    Post-push fix: In the final version of Clang 3.6, the
    warning option was renamed to -Wunused-local-typedefs
    to match the GCC option name. Remove special handling
    of -Wunused-local-typedef as it is not needed.

commit 9119343c1fdea997c6e3f0adc80d04ddcb293a18
Author: Maria Couceiro <maria.couceiro@oracle.com>
Date:   Fri May 29 15:10:01 2015 +0100

    Fixed BUG#21103824 :ENGLISH ERROR IN ER_SLAVE_CHANNEL_MUST_STOP AND ER_SLAVE_CHANNEL_NOT_RUNNING
    
    Problem:
    These error messages should not have the "a" article as they are written in plural: ER_SLAVE_CHANNEL_MUST_STOP and ER_SLAVE_CHANNEL_NOT_RUNNING.
    
    Fix:
    Removed the articles from the messages.

commit 48765dfe1058db975db8bb3eece8d8ad3e1eaa3f
Author: Narendra Chauhan <narendra.chauhan@oracle.com>
Date:   Tue Jun 2 14:18:29 2015 +0530

    Bug#20762557 - RPL.RPL_PERFSCHEMA_APPLIER_STATUS FAILS IN TEST ASSERTION
    
    Problem:
    --------
    The test started failing sporadically in an assert check condition, because
    COUNT_TRANSACTION_RETRIES was setting to value 4 instead of 0.
    
    Fix:
    ----
    The test now compares COUNT_TRANSACTION_RETRIES with Slave_retried_transactions.

commit b8d092121614e396a0781c15b3d9f7b3cefb5099
Merge: f7b23ae 203866c
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Tue Jun 2 14:05:18 2015 +0530

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

commit 203866cf7db3faa0e1019548d636c786c5a302e4
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Tue Jun 2 14:04:38 2015 +0530

    [Mysql-5.7] Bug #18075170 SQL NODE RESTART REQUIRED TO
    AVOID DEADLOCK AFTER RESTORE
    
    Post push test fix.

commit f7b23ae689e389bc703188534278f380671781d4
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Tue Jun 2 13:47:03 2015 +0530

    Bug #18591145: SOME MONOTONICALLY INCREASING STATUS
    VARIABLES DICREASES UNEXPECTEDLY
    
    Post push test fix.

commit f13d184d78c510ef17a71522535880dd0f1de127
Merge: 5a939ee 86b855c
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Tue Jun 2 10:15:04 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    BUG#20887920 ADD SUPPORT FOR DEBIAN 8 AND UBUNTU 15.04 IN MYSQL 5.6

commit 86b855cdc016dc92d4900ec5194df256c9d56e2a
Author: Akhil Mohan <akhil.mohan@oracle.com>
Date:   Wed Apr 15 15:27:08 2015 +0530

    BUG#20887920 ADD SUPPORT FOR DEBIAN 8 AND UBUNTU 15.04 IN MYSQL 5.6

commit 5a939ee399b7d1f2c6eb24fd1d22b75b20d8a6a6
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Fri May 29 13:32:41 2015 -0500

    wl#7943 - InnoDB: Implement Information_Schema.Files
    
    Implement support for information_schema.files in InnoDB so that it can
    be a replacement for i_s.innodb_sys_datafiles. Add similar SELECT
    statements for i_s.files wherever i_s.innodb_sys_datafiles is used in
    all test files.  Gather information from the fil_system in fil0fil.cc
    one file at a time so that the fil_system->mutex is not held very long.
    
    Approved by Marko and Vasil in rb#7396

commit 357bd96f863c2ab17aeff8194b22334c8430be4b
Merge: 429f0a1 8442e72
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon Jun 1 21:23:08 2015 +0530

    Bug #18591145: SOME MONOTONICALLY INCREASING STATUS
    VARIABLES DICREASES UNEXPECTEDLY
    
    Analysis
    --------
    "SHOW STATUS VARIABLES" shows incorrect status values when
    concurrent connection is executing statement to change user
    or is being disconnected.
    
    During switch user/session disconnect session status
    variables are merged to global status variables. After
    this, session variables are not reset for a while. During
    this time select of global status variable from another
    session will result in wrong data as all the session values
    get added to global to calculate final value. Effectively
    current session status variable value gets added twice.
    
    Fix:
    ---
    New flag introduced to represent whether THD::status_var
    addedd to global status. If status_var_aggregated is set,
    THD::status_var is skiped from aggregation.
    Code added to reset session variable after adding to global
    status variable for change user scenario.
    
    Test:
    ----
    mtr test added for switch user flow. Session disconnect
    is tested with debugger as DEBUG_SYNC suite will not
    work during thread disconnect.

commit 8442e7277a995387ae40341637feb010f803a347
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon Jun 1 21:20:49 2015 +0530

    Bug #18591145: SOME MONOTONICALLY INCREASING STATUS
    VARIABLES DICREASES UNEXPECTEDLY
    
    Analysis
    --------
    "SHOW STATUS VARIABLES" shows incorrect status values when
    concurrent connection is executing statement to change user
    or is being disconnected.
    
    During switch user/session disconnect session status
    variables are merged to global status variables. After
    this, session variables are not reset for a while. During
    this time select of global status variable from another
    session will result in wrong data as all the session values
    get added to global to calculate final value. Effectively
    current session status variable value gets added twice.
    
    Fix:
    ---
    Code added to reset session variable after adding global
    status variable for change user and disconnect operations.
    
    Test:
    ----
    mtr test added for switch user flow. Session disconnect
    is tested with debugger as DEBUG_SYNC suite will not
    work during thread disconnect.

commit 429f0a1d6f70c3d72e0a2e56ed3ce515ebcdf6c7
Merge: 070b4f9 7d06b37
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Jun 1 19:13:30 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7d06b3755aa145dbe64719710d3e57b9495f3e47
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Jun 1 19:08:39 2015 +0530

    Bug #18194196: OPTIMIZER EXECUTES STATEMENT INPERFORMANT
    
    Problem:
    While choosing the join order, the cost for doing table_scan
    is wrongly calculated. As a result table_scan is preferred
    over eq_ref, thereby choosing a bad plan.
    
    Analysis:
    
    While calculating the fanout in semijoin_dupsweedout method,
    if an inner table is ahead of the outer table in the join order,
    fanout is not calculated correctly. This is what is happening
    w.r.t the query in the bugpage.
    
    As seen from the trace, a table scan is preferred over eq_ref.
    This is because when calculating the cost for eq_ref, optimizer
    takes into consideration the correct prefix_row_count calculated
    in prev_records_read. In this case the first table emailstorerel
     has around 42000 records and the next one is a ref scan with 1 row as
    fanout and the next one is also 1. Cost for eq_ref is calculated
    based on this.
    
    While in table_scan, cost is calculated based on row_count
    passed to best_access_path which ideally should be the prefix_row_count
    based on the partial plan chosen. In this case it should be more than
    42000. It is currently 1. This changes to "1"  after semi-join strategy
    for dups_weedout is checked after choosing emailstore as the second table
    in the following part of trace.
    
                        "plan_prefix": [
                          "`emailstoreorel`"
                        ],
                        "table": "`emailstore`",
                        "best_access_path": {
                          "considered_access_paths": [
                            {
                              "access_type": "ref",
                              "index": "PRIMARY",
                              "rows": 1,
                              "cost": 42092,
                              "chosen": true
                            },
                            {
                              "access_type": "scan",
                              "using_join_cache": true,
                              "rows": 70554,
                              "cost": 5.94e8,
                              "chosen": false
                            }
                          ]
                        },
                        "cost_for_plan": 67583,
                        "rows_for_plan": 42092,
                        "semijoin_strategy_choice": [
                          {
                            "strategy": "DuplicatesWeedout",
                            "cost": 76004,
                            "rows": 1,
                            "duplicate_tables_left": true,
                            "chosen": true
                          }
                        ],
    So after Optimize_table_order::semijoin_dupsweedout_access_paths(), the
    current_rowcount now becomes "1" because the prefix_row_count is
    calculated solely on outer fanout (from table emailstore) which in this case
    is 1. The inner fanout from table emailstoreorel is not considered at all.
    
    Solution:
    Change the current formulas to the one's mentioned in the todo text.
    The formulas now take into consideration all the scenarios which can have inner
    tables ahead of outer tables in a join order. In such a scenario, if
    inner_fanout is more than 1, this will be moved to outer_fanout and inner_fanout
    is re-calculated.
    max_outer_fanout is introduced to keep a cap on outer_fanout not to exceed the
    cardinality of the cross product of outer tables.
    
    changes to test files:
    Two sets of changes can be noted.
    1. When a inner table with full table scan is chosen as the first table in the join
    order, earlier fanout was wrongly calculated. As a result the cost for doing
    dups weedout was less. With the current formulas, the cost for doing writes become
    more because of increased outer fanout in these cases. As a result the cost is not less
    than materialized scan.
    
    2. Optimizer now calculates the cost of table scan correctly. As a result, eq_ref
    is preferred over table scan in these cases.

commit 070b4f95f08f9c2e0be84d940424fa3e1839e7b7
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Jun 1 11:44:01 2015 +0200

    Fixed build warnings

commit f06f8cc3046c6eeaf5043156f6766033cb10fb44
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Mon Jun 1 13:57:41 2015 +0530

    Bug#20834483 - ASSERTION: TABLE->SPACE == FIL_SPACE_GET_ID_BY_NAME( TABLE->TABLESPACE())
    
    Problem:
    --------
    Truncate on tables with FTS indexes using General Tablespace assume the
    tablespace name is always populated correctly in table cache(dict_table_t).
    
    Fix:
    ----
    Do not assume the table->tablespace() is always populated. We now fetch the
    real name if table->tablespace() is NULL or if the name is "innodb_general"
    
    Reviewed-by: Kevin Lewis<kevin.lewis@oracle.com>
    RB: 9063

commit 207bf1d727bd20a4133b578395bda041cc5a14cc
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Mon Jun 1 08:16:06 2015 +0200

    Test blocked from running on windows

commit 3cf7519387c2e82e63253195e2560399d75cf0bd
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Mon Jun 1 10:31:40 2015 +0530

    Bug #20602572: EXPIRED-PASSWORD MESSAGE IS OUT OF DATE.
    
    Post push fix.

commit adf09fa5c384040b1658d8cab997e474a03510b0
Merge: f0df0eb e162052
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Mon Jun 1 10:43:49 2015 +0800

    Merge branch 'mysql-5.6' into mysql-5.7

commit e1620520738b302bf2a1bf21092e4cf9d43b57e4
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Mon Jun 1 10:42:08 2015 +0800

    Followup:BUG#20637494 ASSERTION IN RE-CREATING CORRUPTED INNODB FULLTEXT INDEX
    
    Fix the pb2 innodb_fts.fts_compatibility failure.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> over IM

commit f0df0ebd9fba903e6bd627b11790659ff0d7e414
Merge: 13abe84 fc49359
Author: Aditya A <aditya.a@oracle.com>
Date:   Sun May 31 06:53:07 2015 +0530

    Bug #20535517 INCORRECT HANDLING OF UNSIGNED NOT NULL INTEGERS
    	      IN INNODB_MEMCACHED
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit fc493596b5ad816c6a0374b01865f29a9f3fd4d7
Author: Aditya A <aditya.a@oracle.com>
Date:   Sun May 31 06:48:24 2015 +0530

    Bug #20535517 INCORRECT HANDLING OF UNSIGNED NOT NULL INTEGERS IN
                  INNODB_MEMCACHED
    
    PROBLEM
    
    1)Column attribute can be both IB_COL_UNSIGNED and IB_COL_NOT_NULL,
      but in the code many times we are checking unsigned attribute in
      column meta data using "==" operator which will lead to wrong results.
    
    2) When setting up the field value for unsigned integer we are calling
       innodb_api_write_uint64() without checking the column length which
       causes assert in innodb_api_write_uint64() if length is less than 8.
    
    FIX
    
    1) Check if the unsigned attribute in a column is set by using
       binary & operator.
    
    2) Check column length before calling innodb_api_write_uint64()
       for unsigned integer
    
    [ rb#9043 and rb#9054 Approved by Jimmy ]

commit 13abe8470a7a099acbf69b86b1419c07f3d148f3
Merge: f7b1e8b 2f418a5
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sat May 30 12:50:30 2015 +0200

    Upmerge of the 5.6.25 build

commit 2f418a59d32d7515a799fea7eed94db07e710347
Merge: dd339f7 9294a49
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Sat May 30 12:45:21 2015 +0200

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

commit f7b1e8b1e5512e7618c62bfd723fd259f949a3b3
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue May 12 10:12:36 2015 +0200

    Bug #21025587: SSL EVEN ENABLED FOR UNIX SOCKETS FOR NO GOOD REASON
    
    Description:
    When correct set of certs are available during MySQL server startup,
    server even sets up SSL connections for UNIX sockets.
    
    Fix:
    Don't enable SSL connections over UNIX sockets by default.

commit 954142cd307955581eae4810ee0743f672dd9fad
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu May 28 13:43:25 2015 +0200

    Bug#21156155 UNION GEOMETRY TYPE: UNITIALIZED VALUE IN
    ITEM_TYPE_HOLDER::JOIN_TYPES
    
    Problem: Valgrind warns that Item_type_holder::geometry_type may be
    uninitialized when used in Item_type_holder::join_types().
    
    The warning is bogus since the preceding test guarantees that
    geometry_type is set. The code that triggers the warning was
    introduced by the fix for bug #19471564.
    
    Fix: Assign a default value to geometry_type in
    Item_type_holder::Item_type_holder().

commit 85d58483ee187ed9a7ed0c352a2d66676c62e36e
Merge: 922aec1 dd339f7
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Fri May 29 09:35:32 2015 +0200

    Empty version change upmerge

commit dd339f7b1bb7c000b15f4796ffa0c9dae8aecd04
Merge: b9837ef ec1c911
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Fri May 29 09:33:56 2015 +0200

    Empty version change upmerge

commit ec1c91173df70f88a53b04cfd2ad08056ecd23e5
Merge: a0984e4 4654f1f
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Fri May 29 09:32:32 2015 +0200

    Empty version change upmerge

commit 4654f1f13004ce9db010c28994999d81564a29b5
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Fri May 29 09:28:53 2015 +0200

    Raise version number after tagging 5.1.75

commit 922aec1b23713fd9f72de1655aa7e5accf5154ac
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Fri May 29 08:43:51 2015 +0530

     bug#20985298: performance fix ahi by splitting the single search system mutex
     into n parts.
    
      Follow-up fix:
      - Max threshold for innodb_adaptive_hash_index_parts is bumped to 512
        (from 64 before)

commit 57fdf1f2df4f2470e67fc810679ff36889e78979
Merge: 0651cab b9837ef
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri May 29 09:53:53 2015 +0800

    Merge branch 'mysql-5.6' into mysql-5.7

commit b9837efb02aa91fd578ec4b3b0dd390c105dd7ae
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri May 29 09:45:14 2015 +0800

    Followup:BUG#20637494 ASSERTION IN RE-CREATING CORRUPTED INNODB FULLTEXT INDEX
    
    Fix the pb2 failure.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> over IM

commit 0651cabe8cb9e3f05a8eb636824a91005fe6a407
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu May 28 14:59:55 2015 +0200

    Bug#20949117: Remove obsolete code from UNION processing
    
    After the last refactoring work in preparation and optimization,
    there are some unused code blocks in sql_union.cc.
    This bug fix eliminates those code blocks completely and performs
    some simple additional refactoring.
    
    - Added an interface st_select_lex_unit::is_simple() that wraps
      testing for !(is_union() || fake_select_lex)
    
    - Cleaned up global_parameters() a bit: Only ORDER BY/LIMIT/OFFSET
      should be accessed through it, otherwise use fake_select_lex.
    
    - Initialization of JOIN::do_send_rows was moved from optimization to
      execution, since it is used only in the latter.
    
    - st_select_lex_unit::prepare() has mostly cosmetic changes and improved
      comments. Call to set_current_select() eliminated for error case.
    
    - Deleted unused function Query_result::reset_offset_limit_cnt
    
    - st_select_lex_unit::optimize() had an unused code block started with
      if (sl == global_parameters() && is_union()).
      It was unused because global_parameters() always return the "fake" object
      for a UNION query. Besides, with the introduction of
      Query_result_union_direct, LIMIT/OFFSET handling is correct without
      adjusting offset_limit_cnt and select_limit_cnt.
    
    - An equivalent code block is removed from st_select_lex_unit::execute().
      Variable rows_at_start was found to be redundant.
      Calls to set_current_select() were removed in error case.
      offset_limit_cnt did not need to be assigned here, since it is done
      in set_limit().
      Call info(HA_STATUS_VARIABLE) was moved to a more logical place
      (used to get row count from temporary table used by UNION).
      add_rows was never assigned so it could be removed:
      sl->join->calc_found_rows is never true for a query block that is
      part of a UNION (either braces=true or m_select_limit=HA_POS_ERROR,
      see JOIN::optimize()), search for comment "Calculate found rows if".
      join->examined_rows is reset in JOIN::exec() so assignment is deleted.
    
    - Added more extensive tests for LIMIT and OFFSET to limit.test
    
    (cherry picked from commit b50c7dc66c6c894772d5da463cd08b9cd9ebd154)
    
    Conflicts:
    	sql/query_result.h
    	sql/sql_union.cc

commit 7de7665ce23df8b2a345803541fcf509085caf3b
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu May 28 16:16:59 2015 +0200

    Fixed link issue with building without performance schema

commit ca4c12aa39e37253d199ba07a46062f3dddff5f9
Author: David Zhao <david.zhao@oracle.com>
Date:   Thu May 28 16:54:48 2015 +0800

    Bug#21153716 ST_CONVEXHULL RETURNS WRONG RESULT
    
    Issue:
    
    The colinear check algorithm requires the collection of points given are
    unique, otherwise the result may or may not be correct. In this case
    duplicate points are given and they happen to reveal the issue.
    
    Fix:
    
    When seeing if a collection of points are colinear, make them unique first.

commit 6e9f13da731ed7677594b4ea6e4ebcc669845125
Merge: d878908 43f3134
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu May 28 19:03:43 2015 +0800

    Merge branch 'mysql-5.6' into mysql-5.7

commit 43f313427d99b0ad14fdc598bc9827e9250f7eed
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Thu May 28 19:02:33 2015 +0800

    BUG#20637494 ASSERTION IN RE-CREATING CORRUPTED INNODB FULLTEXT INDEX
    
    The fts index is corrupted after importing, we need to drop it before
    we recreate it.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 9077

commit d8789081ea389175495ffe47960cdebee165fab3
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu May 28 13:56:09 2015 +0300

    Remove an #include of a removed empty file.
    
    (cherry picked from commit 0b759a068d077db9bcd84f7d86d6553110371a87)

commit 1295605656ce43170beae11cf530d28c37137067
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Thu May 28 15:55:16 2015 +0530

    Bug #20929339 : PREPARED STATEMENTS NOT RECORDED BY FIREWALL
    
    Issue :
     General Logging code refactoring has caused this behavior change.
     For more information, please look at bug page.
    
    Fix :
     Adjested code accordingly.
     For more information, please look at bug page.

commit 3d5d957de54c1c255579449dbabe3d6f62785e48
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Thu May 28 12:09:23 2015 +0200

    - bug#20985298: performance fix ahi by splitting the single search system mutex
      into n parts.
    
      Checkin related to it broke Windows build due to data-type inconsistency.

commit 233ad1837a39244c24c692ea61b2adf8ee506820
Author: Neha Kumari <neha.n.kumari@oracle.com>
Date:   Thu May 28 15:26:02 2015 +0530

    Post-push fix: Deleting an empty file(uuid.cc) left after WL#7440

commit e5e808b45a2585781aded0d8645526482e69241b
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu May 28 11:51:31 2015 +0200

    Adjust tests after addition of system variable
    INNODB_ADAPTIVE_HASH_INDEX_PARTS

commit 3410cef8525d6d5421112a91e79c4944bd80f85e
Author: David Zhao <david.zhao@oracle.com>
Date:   Thu May 28 16:44:11 2015 +0800

    Bug#17846865 HANDLER READING INDEX ON GEOMETRY COLUMN CRASH
    
    Issue:
    
    In the test case query, we are scanning an btree index built upon a
    geometry column, but target value is 1. When trying to store 1 into
    the geometry field of the record buffer, there is a type conversion
    error because integers can't be used as a GEOMETRY byte string, and the
    record buffer's geometry field has nothing stored in.
    
    However we didn't stop the index search in case of this error condition,
    but always tried to fetch the target row by creating the index key
    to search, and then search the index for it. And in this case the blob
    pointer in the field can be any value, so we got an memory access
    violation when building the target index key.
    
    Fix:
    
    Do not search index if target index value is not stored into row buffer
    successfully.

commit fe8ae74cfe9ee79d4789534d5d226a0209451b21
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu May 28 10:56:52 2015 +0200

    Test cleanup for 32bit / release

commit 70c2cc6619083066bad1c449f4799f134180dc1d
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Thu May 28 10:31:07 2015 +0200

    - bug#20985298: performance fix ahi by splitting the single search system mutex
      into n parts.
    
      Before this patch AHI search system was protected using single mutex named
      "btr_search_latch". It often use to cause contention resulting in performance
      hit.
    
      With this patch we are introducing ahi-partitioning that will split search
      systems into n parts and each index will be bound to a specified part based
      on its attributes (index_id and space_id).
    
      This will reduce contention and will help improve performance when AHI is
      heavily used.
    
      Reviewed by: Sunny Bains (sunny.bains@oracle.com)
      RB: 8773

commit 130eaba7c00142b3aa020718d22655a584cb9fcb
Merge: c83fe45 be0a1a3
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Thu May 28 10:18:54 2015 +0200

    Merge branch 'mysql-5.7-wl8462' into mysql-5.7

commit be0a1a396f193d553f65e05e0141924716002a60
Author: Horst Hunger <horst.hunger@oracle.com>
Date:   Tue May 19 15:13:58 2015 +0200

    Final patch with test services plugind for 5.7

commit c83fe45a9f9128a92264dd8c1c7f70b0dff23252
Author: Thayumanavar <thayumanavar.x.sachithanantha@oracle.com>
Date:   Tue May 26 13:57:26 2015 +0530

    BUG#20171740 - OVERRIDE DEFAULT SERVICE START/STOP
                   TIMEOUT USED BY SYSTEMD FOR MYSQL.
    
    Server startup and shutdown time is not constant
    and bounded and may take several minutes. This
    is because of InnoDB which does disk I/O operations
    that depend on InnoDB log file size, preload and dump
    of dump buffer pools, purge threads being active during
    shutdown etc. The default service start and stop timeout
    specified by systemd has a small value and this triggers
    the restart logic of systemd causing another instance of
    the mysqld to be spawned.
    
    The fix is to disable the service start/stop timeout logic of
    systemd by specifying TimeoutSec=0 in the service file for
    mysqld service. Also fix the comment in mysys_err.h.

commit 130b1498e987d8e3844d5ea429b8272c720426d4
Author: David Zhao <david.zhao@oracle.com>
Date:   Wed May 27 17:21:45 2015 +0800

    Bug#20712775 GEOMETRY OBJECT CONSTRUCTION FUNCTIONS ACCEPT ILLEGAL INPUT
    
    Report error if component type is wrong in geometry constructor functions;
    Also, catch similar errors when creating an geometry object from WKB string,
    and catch wrong byte order value in wkb headers.

commit 08d5fa8ec0ba19f9740d53411a354e0d87332bf9
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu May 28 02:58:11 2015 +0200

    Revert changes in compress_gtid_table

commit f736ce70af0a39ba14475e044660c66147515785
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu May 28 00:51:27 2015 +0200

    Tentative cleanup

commit 89a83370fd43009b4bf2857b31278fd143931b71
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue May 26 18:03:16 2015 +0200

    Bug#17473077 EVER INCREASING MEMORY USAGE REPORTED FOR EVENT SCHEDULER
    
    Before this fix, statistics for the memory instrumentation
    were inaccurate, in the following scenario:
    
    At T1, thread A allocates some memory, of size N
    At T2, thread A gives ownership of the allocated memory to thread B
    At T3, thread B de allocates the block memory, of size N
    
    The event at T1 is instrumented with the performance schema,
    and an allocation of size N is counted against thread A.
    
    The event at T2 is not instrumented.
    The performance schema is unaware of the memory transfer.
    
    The event at T3 is instrumented with the performance schema,
    and a de allocation of size N is counted against thread B.
    
    The problem with this approach is with statistics maintained by thread.
    
    When the same code is executed many times (in a loop with the event
    scheduler),
    - thread A appears to use an ever increasing amount of memory
    - thread B appears to consume an ever increasing amount of memory
    - the global statistics for the server diverge.
    
    To resolve this bug, two different fixes are implemented.
    
    Which fix to use depends on the nature of the instrumented memory.
    
    FIX NUMBER 1
    
    For memory instruments that are by nature measuring a global resource,
    there is no point in maintaining per thread (and per account, per user, per
    host) statistics.
    
    A typical example of such usage are shared, global structures,
    like the query cache.
    
    For these memory instruments, the performance schema now supports
    defining the instrument with PSI_GLOBAL_FLAG.
    
    For instruments defined as global, the performance schema
    only maintains the global memory statistics.
    
    In this case, nothing needs to be done for event T2,
    as instrumentation for the allocation (T1) and de allocation (T3)
    is enough to maintain everything.
    
    FIX NUMBER 2
    
    For memory instruments that are by nature measuring a local resource,
    maintaining statistics per thread is desirable.
    
    In order to do so, the performance schema needs to be told about event T2,
    which is now instrumented explicitly in the code.
    
    A new entry point in the instrumentation, PSI_MEMORY_CALL(memory_claim),
    is used to instrument the change of ownership of a block of memory.
    
    When a thread in the server allocates a data structure,
    starts a child thread, and gives ownership of the memory structure to the
    child, the code in the child thread now needs to claim ownership of the
    data.
    
    With this added instrumentation, performance schema statistics now
    reflect more closely how memory is actually used in the server.
    
    Various claim_memory_ownership() methods are implemented to support this.

commit 993fe09eb33f6707090e97f22cf2fb6f60db0000
Merge: 8623718 e100918
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed May 27 23:40:10 2015 +0800

    Merge branch 'mysql-5.6' into mysql-5.7

commit e1009181bdd331a1a0dccc6cf4485b01c8457b47
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed May 27 23:16:59 2015 +0800

    BUG#20878735 IN IBUF_BITMAP_GET_MAP_PAGE_FUNC, BUF_PAGE_GET_GEN FAILS
    
    We fail to read an ibuf page for merging in an io thread, and another
    user thread is trying to delete the table. In this case, we should
    enable the sync read operations in fil_io, other than returning error
    "DB_TABLESPACE_DELETED".
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> over IM

commit 862371864402df6880475d610302ff2c73256e23
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed May 27 20:38:15 2015 +0530

    BUG#21086257 INNODB: ONLY ONE DATAFILE PER TABLESPACE IS DISPLAYED
    
    Problem :
    ---------
    In WL#6205 we added sys tablespace information to SYS_TABLESPACES
    and SYS_DATAFILES. The case when we have multiple files in sys
    tablespace only one row is successfully inserted into SYS_DATAFILES
    as there is unique index on SYS_DATAFILES(SPACE).
    
    Solution :
    ----------
    WL#7943 would keep all details for system table space information
    in i_s.files and we should no longer store the sys tablespace
    information in SYS_TABLESPACES and SYS_DATAFILES.
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    
    RB: 9060

commit 3c64a86960667c4ec251767df35dd57c1cca9f7d
Merge: c04279d 7709706
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed May 27 19:42:53 2015 +0530

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

commit 7709706c1a56813562c10f7f270b0def15fe47f7
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed May 27 19:41:45 2015 +0530

    Revert "Bug#20597981 WRONG RELEVANCE RANKING FOR FULL TEXT SEARCHES"
    
    This reverts commit 2e0a82d5071eb1702f1ba8646a2307adeefad1ba.

commit c04279d9fc4227dc42c39920713e2198e2137b91
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed May 27 15:19:24 2015 +0200

    Bug#20914786 : MYSQL_UPGRADE FAILS WITH SHOW_COMPATIBILITY_56 = OFF
    
    This is a rework on the previous fix for mysl_upgrade.
    
    mysql_upgrade can -- not -- use performance_schema tables
    to read the server version,
    or use SHOW VARIABLES that rely on the same tables,
    because these tables might not even be installed (by the upgrade script)
    yet.
    
    Use
      SELECT @@global.version
      SELECT @@global.datadir
    which is robust and also works for in place upgrades.

commit 4d337d8e41b9b4ca35a9a8bfdf1b0d77bec30f9f
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Wed May 27 15:09:30 2015 +0200

    Bug#21073014 SET LIMITNOFILE OPTION IN SYSTEMD SERVICE TO MATCH OPEN_FILES_LIMIT WANTED
    
    Default value of LimitNOFILE is often set to 1024 (by operating
    system), this is too low for common use cases.
    
    This change lift limit to 5000 by default, which match wanted value of
    open_files_limit by server.
    
    Note:
    
    When using native systemd support mysqld_safe script is not used.
    
    This have several side effects for various options and changes in
    behavior:
    
     o open-files-limit
    
    mysqld/mysqld_safe config open_files_limit set config files are
    ignored. To adjust value, systemd config files must be used. The
    corresponding systemd service option is called LimitNOFILE=
    
     o pid-file
    
    Similar issue exists for MySQL option pid-file. If changing default
    value in MySQL config files, make sure systemd service option PIDFile=
    matches. Failing to do this may cause service to fail during startup.
    
     o core-file-size
    
    MySQL config option core-file-size is replaced by systemd service
    option LimitCore=
    
     o nice
    
    MySQL config option core-file-size is replaced by systemd service
    option Nice=
    
     o timezone
    
    Using the timezone mysqld_safe option environmental variable TZ will
    be set. Use systemd Environment= option or /etc/sysconfig/mysql do the
    same: Environment="TZ=<timezone>"
    
     o malloc-lib
    
    With this option mysqld_safe can change library to use for memory
    allocation. To do this with MySQL native systemd support set
    environmental variable LD_PRELOAD to wanted library:
    Environment="LD_PRELOAD=/path/to/some/library or set LD_PRELOAD in
    /etc/sysconfig/mysql
    
     o syslog
    
    mysqld_safe have various syslog related options.  MySQL 5.7 and newer
    have native support for syslog, these options are called: log_syslog,
    log_syslog_facility, log_syslog_include_pid and log_syslog_tag. Use
    these mysqld option to control syslogging of MySQL server.
    
     o restart logic
    
    mysqld_safe tries to restart the server when an error occurs, this
    logic is replace by a similar native systemd feature.
    
    -- Adding or changing systemd options
    
    To add or change systemd options create directory called
    
     /etc/systemd/system/mysqld.service.d/
    
    and add a file with .conf suffix in this directory,
    for example named local.conf with contents:
    
    [Service]
      LimitNOFILE = <max-open_files>
      PIDFile = /path/to/pidfile
      LimitCore= <core-file-limit>
      Nice=<nice-level>
      Environment="LD_PRELOAD=/path/to/some/library"
    
    Then execute:
    
     systemctl daemon-reload
    
    and finally restart MySQL service to let changes take effect:
    
     systemctl restart mysqld
    
    If only changing TZ or memory allocator, add file /etc/sysconfig/mysql
    and set variables:
    
    TZ=<timezone>
    LD_PRELOAD=/path/to/some/library
    
    -- Passing options to mysqld without modifying config files:
    
    Contents of variable MYSQLD_OPTS is sent as option string to mysqld.
    
    Set variable with systemctl. For example like this:
    
    systemctl set-environment MYSQLD_OPTS="--general_log=1"
    
     Remember to restart server to let action take effect.
    
    Clear variable and restart server to get default settings:
    
     systemctl unset-environment MYSQLD_OPTS
     service mysqld restart

commit 94021df14f32c168ea33e975982c462085d0aea5
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Wed May 27 16:40:46 2015 +0600

    This is a patch for Bug#19771769 - --TC-HEURISTIC-RECOVER OPTION VALUES ARE BROKEN
    
    The reason for the bug was that the options parser assigned values of
    enumeration type starting from 0 whereas the source code
    enumerating them starting from 1. For COMMIT value of the option
    tc-heuristic-recover there is the internal constant
    TC_HEURISTIC_RECOVER_COMMIT that had value 1 and for ROLLBACK value
    of the option tc-heuristic-recover corresponding internal constant
    TC_HEURISTIC_RECOVER_ROLLBACK had value 2. When the option
    tc-heuristic-recover is handled by the parser the values assigned
    by parser for literals COMMIT and ROLLBACK has values 0 and 1.
    It means that in case a user specified the literal ROLLBACK the actual
    value assigned by parser had value 1 corresponding to literal COMMIT.
    
    To fix the bug additional possible enumeration constant= OFF for the option
    tc-heuristic-recover has been added. This constatnt has value 0 and
    is the default value for the option tc-heuristic-recover.
    
    Another possible approach to fix the bug is to enumerate option values
    so that the constant for TC_HEURISTIC_RECOVER_COMMIT has value 0.
    Such approach was considered but it has bad side effect, namely
    no way to display default value for the option, as a result an output of
    the command
      mysqld --help --verbose
    shows the '?' as a default value for the option tc-heuristic-recover.
    Such strange default option value considered as undesirable and therefore
    this approuch wasn't implemented.
    
    MTR test isn't added since there isn't currently any other engine with
    XA feature enabled aside from INNODB. I tested my patch using the fake
    second engine with XA feature enabled that I created from ha_example.cc.
    I think it won't be correct to modify ha_example.cc just for the sake of patch
    test coverage.

commit f65735b3750efcbd2ba5200361bd549764678da9
Merge: cde3176 4aebaf4
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed May 27 14:09:37 2015 +0530

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit 4aebaf4911cbc94ee55ee99a4696591a0a2688b2
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed May 27 13:00:53 2015 +0530

    BUG#20938915	2PC SUCCEEDS EVEN THOUGH BINLOG FLUSH/SYNC FAILS
    
    Fixing post push pb2 failure

commit f9af2cb24dc78a837ae037d29154f1fcb0c75d4e
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed May 27 00:35:56 2015 +0200

    Bug#17479887: test update
    
    (cherry picked from commit 05af2e01a91a17129edc60e6ada7fa675d137118)

commit cde3176f23856d1d559e379371f27b743b7b1bb0
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Wed May 27 12:54:37 2015 +0530

    Bug #20602572: EXPIRED-PASSWORD MESSAGE IS OUT OF DATE
    
    With WL#6409 SET PASSWORD statement is deprecated. However error message
    ER_MUST_CHANGE_PASSWORD still refers to SET PASSWORD which is not correct.
    This patch modifies error message asking user to use ALTER USER statement
    whenever password needs to be reset.

commit 28e67da2ca0566bde21a36a77a137bede811b7ab
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed May 27 12:48:01 2015 +0530

    Bug#21087116 : MYSQL_SSL_RSA_SETUP CREATES CLIENT-CERT.PEM WITH INCORRECT CN
    
    Description : Common Name of client certificate generated by
                  mysql_ssl_rsa_setup should be
                  MySQL_Server_<suffix>_Auto_Generated_Client_Certificate.
                  Instead, it is
                  MySQL_Server_<suffix>_Auto_Generated_Server_Certificate.
    
    Solution : Corrected common name for client certificate.
    
    Reviewed-By : Kristofer Pettersson <kristofer.pettersson@oracle.com>

commit 670ad80bb574dff9fa9d78c06838c3cfa5287913
Merge: 90281d3 2e0a82d
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed May 27 11:56:15 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 2e0a82d5071eb1702f1ba8646a2307adeefad1ba
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed May 27 11:55:19 2015 +0530

    Bug#20597981 WRONG RELEVANCE RANKING FOR FULL TEXT SEARCHES
    		WHEN FTS_DOC_ID IS PRIMARY KEY.
    
    Problem:
    
       In InnoDB full text search produces the wrong relevancy ranking
    in case when FTS_DOC_ID is user created column, primary key.
    Optimiser chooses the secondary index which contains FTS_DOC_ID as
    a part of index. But there is no function to get the fts_doc_id
    from secondary index.
    
    Solution:
    	Extract the FTS_DOC_ID value from the secondary index record.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 8595

commit 90281d3b7dd67090af5cc2307ab6930e605c2b52
Merge: dfa187f b164000
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Wed May 27 11:48:19 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit b164000608e9210f17b939e651fee844b52b1be3
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Wed May 27 11:41:10 2015 +0530

    Bug#20369401: MTS STOP SLAVE TAKES WAY TOO LONG
    (WHEN WORKER THREADS ARE SLOW)
    
    Analysis:
    ========
    STOP SLAVE waits workers to catch up the queue, which may
    take a lot of time for the command to finish. STOP SLAVE
    must be executed quickly, even if workers are slow.
    
    Fix:
    ===
    Once receiving STOP instruction the coordinator will notify
    all workers to STOP by setting their running_status=STOP.
    
    Upon receiving the STOP command, the workers will identify a
    maximum group index already executed (or under execution).
    
    All groups whose index are below or equal to the maximum
    group index will be applied by the workers before stopping.
    
    The workers with groups above the maximum group index will
    exit without applying these groups by setting their running
    status to "STOP_ACCEPTED".
    
    The coordinator will then wait for workers to exit in the
    nearest state where GAPs are only possible if some worker
    fail to apply a pending group.

commit dfa187f8b497afa4c42a2cebc27087e3f96824ba
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Tue May 26 17:08:57 2015 +0200

    Bug#17479887 Create_tmp_table memory leak
    
    The problem is caused because a DO statement is not following the
    same handling procedure as a regular DML statement.
    Among other things, we open and lock tables in the same operation,
    whereas for regular DML statements, we open tables first, then
    resolve the statement, then lock the statement. For DO statements
    containing more than one expression, in particular those with
    subqueries, it is a big problem that we do not follow the same phases
    as for regular DML statements.
    
    This particular problem is caused because closing a DO statement
    is irregular.
    
    The problem is solved by refactoring DO statement handling to execute
    it like a SELECT statement. Thus, the following statement:
    
      DO expr1, expr2, ... exprN;
    
    is executed as
    
      SELECT expr1, expr2, ... exprN FROM DUAL INTO /dev/null;
    
    Instead of generating a list of expressions and evaluating them one
    by one, we generate a SELECT statement where the expressions are
    each evaluated exactly once. The difference compared to a regular
    SELECT statement is that a specific Query_result object that does
    not send back any results are generated.
    
    There is one semantic change in this patch: DO statements do not
    normally cause errors; they are instead converted to warnings.
    In this patch, errors are generated as for regular SELECT statements
    and returned to the client. Because of this, a few test results have
    been changed to report errors.
    
    Summary of changes:
    
    - The function Item::evaluate() that evaluates an Item tree with
      type as given by field_type() is implemented.
    
    - A new constructor for parse tree class PT_select_part2 is called
      when parsing a DO statement.
    
    - PT_select constructor now takes an sql_command argument
      (for distinguishing between SELECT and DO).
    
    - Preparing a DO statement is handled by mysql_test_select(),
      the same function as used for preparing SELECT.
    
    - mysql_do() now creates a Query result subclass object and calls
      handle_query().
    
    - The subclass Query_result_do has the following important functions:
    
      # ::send_data() calls Item::evaluate() but does not send any values.
    
      # ::send_eof() calls ::my_ok() in case of success in execution.
    
      # ::send_result_set_metadata() does nothing.

commit d44bb80f1f9d309598b8edc5e693fdb15ce72451
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Tue May 26 15:32:25 2015 +0200

    Bug#21140111: Explain ... match against: Assertion failed: ret ...
    
    The problem here is missing error check in Item_func_match::init_search()
    after the handler call ft_init_ext_with_hints(), and missing error
    propagation in the call stack.
    
    The fix also includes a new inlined query block property function
    has_ft_funcs() that is used to avoid an unnecessary and costly
    function call to optimize full-text searches.

commit 8310653aa2b7ddf38273f1bcceafdcbc66a61142
Merge: 2b7504b d5d2381
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue May 26 14:20:41 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit d5d2381bb96801a4752968077576214634c3a82d
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue May 26 14:16:09 2015 +0200

    Bug#20571317 TRUNCATE_STRESS TIMES OUT WHEN RUN IN PARALLEL
    
    Abandoning the test.
    
    mysql-test-run is not the proper tool to perform stress tests,
    this script is bound to fail under load or under valgrind.

commit 2b7504b30496eb4c91729e98dccc50d2c49fb48d
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Tue May 26 14:07:46 2015 +0200

    BUG#20841874 Fix assertion failure in Boost.Geometry buffer().
    
    Tweak the test case to avoid failures on some of the platforms.

commit 93d2e96c8604215db70d3009a79769deb8d63abb
Merge: b308c5e b5a752a
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue May 26 11:48:33 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit b5a752aef3976a21cf59f467d723bf20f8d98088
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue May 26 11:47:00 2015 +0200

    Bug21146234 DETECTING MODE IS INCREASING SUSPICIOUS COUNTER FOR RECORDED STATEMENTS
    
    * When setting the firewall in DETECTING mode all statements are increasing
    the suspicious counter, even if they are recorded.
    * The "granted access" is not increased for statements which are granted by
    the firewall in DETECTING mode
    * The install scripts did not have the DETECTING mode enumerated in the table
    definition

commit b308c5e43bc0f278419d9576389cc2ff2867b76b
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue May 26 09:20:20 2015 +0200

    Bug#18412756 BOGUS ERROR FOR MYISAM SPATIAL INDEX: INCORRECT KEY FILE
    FOR TABLE
    
    Problem: Deleting rows from an empty table with a MyISAM spatial index
    results in an error message about a corrupt index.
    
    The problem is that mi_rkey() treats all errors returned by
    rtree_find_first() as corruption errors.
    
    Fix: Don't raise an error if rtree_find_first() didn't find any rows.

commit a77fd31e13585419befaae6832fa1308cbb593d0
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Tue May 26 11:07:34 2015 +0530

    Bug#20693153 : ACCESS DENIED WITH SSL CONNECTION FROM MYSQL CLIENT
    
    Description : cli_establish_ssl() tries to establish SSL connection
                  with server. While establishing SSL it calls my_net_writes
                  which writes data into net->buff buffer.
                  In case of optimized binary, if --general-log=0 and
                  --slow-query-log=0 is set, write operation would overwrite
                  portion of the scramble data sent by server. This happens
                  because when above mentioned variables are set to OFF,
                  server version string does not contain "--log" suffix
                  which otherwise would have prevented overwrite of scramble.
                  This data is yet to be read by authentication plugin on
                  client side. Hence, once control reaches to authentication
                  plugin, it consumes wrong scramble which leads to
                  authentication error if user account has a password.
    Solution : In case of SSL connection, copy scrambe data into new
               buffer and pass new buffer to run_pluggable_auth.
    
    Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By: Robert Golebiowski <robert.golebiowski@oracle.com>

commit 20b53c68940b9f5b40eaabd2ed94d4ffb296b2c0
Merge: a945942 420894e
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue May 26 10:59:38 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 420894ed51ebe74243f9ecc8a8bb61356235a191
Author: Shishir Jaiswal <shishir.j.jaiswal@oracle.com>
Date:   Tue May 26 10:56:29 2015 +0530

    Bug #20359808 - OUT OF BOUNDS WRITE (OFF BY ONE)
    
    DESCRIPTION
    ===========
    /strings/ctype.c:
    
    In cs_value() for one of the cases (Rules: Context), the
    length check condition is flawed. With current behaviour
    it allows the program to write even if length of "attribute"
    is equal to size of "context" which results in memory
    corruption. This happens since the extra terminating NULL
    is written at the start of the adjacent variable.
    
    ANALYSIS
    ========
    The program should allow to write it only if the length of
    former is less than size of latter. So the "+ 1" should be
    dropped from the following condition:
    
    if (len < sizeof(i->context) + 1)
    
    In the regular scenario when program writes well within its
    boundary, this corruption doesn't happen.
    
    FIX
    ===
    Dropped "+ 1" from the condition so that the required check
    is made correctly.

commit a945942f1093b85d54380602218da9900be65dff
Merge: cc377bf 4bcf5eb
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Mon May 25 18:38:12 2015 +0200

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit cc377bf5bf075521c7016ad17b24f40089f62cd7
Author: Adam Wulkiewicz <adam.wulkiewicz@oracle.com>
Date:   Mon May 25 18:27:26 2015 +0200

    BUG#20841874 Fix assertion failure in Boost.Geometry buffer().
    
    Add the latest bugfixes and improvements from Boost.Geometry
    which will be released in Boost 1.59.0.
    
    Also add a rule into .gitignore allowing to add boost/geometry/core directory.
    
    Add the test previously failing for buffer().

commit 4bcf5ebf84774231c37ca8770400a8ac39629531
Merge: b02bb6d 4844c7f
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon May 25 13:18:25 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4844c7ffa32a204250541766f391fcf75fee5fba
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon May 25 13:17:08 2015 +0530

    BUG#20938915	2PC SUCCEEDS EVEN THOUGH BINLOG FLUSH/SYNC FAILS
    
    Problem: When flushing cache to binary log fails, the error is not getting
    caught by group commit logic.
    
    Analysis: Leader of a group in group commit logic tries to flush cache to
    binary log file. If it fails (which is very rarely happens due to some low
    level errors like disk failure or disk full), error is thrown to the higher
    level. This error is not checked properly and the transaction is getting
    committed in storage engine as the error is not checked and not propagated
    to the higher level. No error to client and no information in binary logs
    is making users to get confused when they see inconsistencies between Master
    and Slave data.
    
    Fix: Using binlog_error_action variable, Server will decide the action to do
    if this situation happens.
    If binlog_error_action == ABORT_SERVER, then it will abort the server after
    informing the client with 'ER_BINLOGGING_IMPOSSIBLE' error.
    
    If binlog_error_action == 'IGNORE_ERROR', then it will ignore the error
    and disable the binlogging further until server is restarted again.
    The same will be mentioned in the error log file.

commit b02bb6df29f0ad73bfce93347886142ba7da63c8
Author: David Zhao <david.zhao@oracle.com>
Date:   Mon May 25 13:57:25 2015 +0800

    Bug#21127270 CAN NOT CREATE EMPTY GEOMETRY WITH GEOMETRYCOLLECTION()
    
    Issue:
    
    We can't create an empty geometry with GeometryCollection(), because parser
    thinks this is an illegal construct.
    
    Fix:
    
    In parser allow GeometryCollection() as a valid construct, and in
    Item_spatial_collection::val_str(), create an empty geometry if no components
    given to the GeometryCollection being constructed.

commit 8578684b4968085246e65691dbd943477afcaa58
Author: Bin Su <bin.x.su@oracle.com>
Date:   Mon May 25 14:51:38 2015 +0800

    Fix the incorrect null-merge from 5.6 in previous commit of
    'Follow up commit for BUG#21121164 to fix compile error.'

commit a33ef96f6c6d91d3772663231d56e3cc9f315461
Merge: 48190d8 28cbb50
Author: Bin Su <bin.x.su@oracle.com>
Date:   Mon May 25 13:59:53 2015 +0800

    Merge branch 'mysql-5.6' into mysql-5.7

commit 28cbb502604f6fa1854ef1d3c6413e4c4fd9d179
Author: Bin Su <bin.x.su@oracle.com>
Date:   Mon May 25 13:56:33 2015 +0800

    Follow up commit for BUG#21121164 to fix compile error.

commit 48190d8983ab55bcc9d450510f4915910a542312
Author: Benny Wang <benny.wang@oracle.com>
Date:   Sat May 23 04:21:00 2015 +0200

    Fixed bug#21081742 :ASSERTION !TABLE || (!TABLE->WRITE_SET ||
                       BITMAP_IS_SET(TABLE->WRITE_SET
    
    In join_read_const_table, table->read_set is changed but misses to
    make virtual generated columns writable.

commit 705a136758a060c17024718b121fe84209c3cc83
Author: Benny Wang <benny.wang@oracle.com>
Date:   Sat May 23 03:48:17 2015 +0200

    Fixed bug#20757211: GENERATED COLUMNS: ALTER TABLE CRASHES IN
    FIND_FIELD_IN_TABLE
    
    Block subselect in generated expression.
    
    In current wl411, the generated expression is just do a parse and doestn't
    open any table. If an subquery exists in generated expression, the tables used
    for the subquery can't be opened, which can result in such an error like bug
    reported. Before this fix, wl411 is trying to use has_subquery() to block
    subquery during fix_fields_gcol_func. However assertions might be triggered
    before this block because of the unopened table.
    
    In order to fix such a bug, we have to block the subquery before
    fix_fields_gcol_func. Moreover, we don't need has_subquery() any more after we
    block the subuqery at the early time.

commit e126de61dabf2ce492ff201912d73040ac3442f4
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Mon May 25 11:08:54 2015 +0530

    Bug#21088793 : MYSQLDUMP: OPTION '-T' USED, BUT IS DISABLED
    
    Before this fix:
      In non-debug mode, when mysqldump is executed with 'T' option,
      it clashes with --debug-info option's shortcut 'T'. Therefore
      returns an error mentioning this option is used but is disabled.
    
    After this fix:
      Make 'T' to be used as a shortcut for debug-info except mysqldump.
      For mysqldump, 'T' is always considered an option given for
      tab-separated data files.

commit 7eccdbff03a344d064451e41dac42333c4fc8bcb
Merge: 06cabb9 46d5b0c
Author: Bin Su <bin.x.su@oracle.com>
Date:   Mon May 25 10:56:00 2015 +0800

    Merge branch 'mysql-5.6' into mysql-5.7

commit 46d5b0c6de6113bcd1bc224226b82e3934129753
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu May 21 11:44:33 2015 +0800

    BUG#21121197 - IB_CURSOR_MOVETO() DOESN'T ACCEPT SEARCH TUPPLE WITH SMALLER
    N_FIELDS
    
    We should accept the tuples with less fields than what's defined on the index.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    Approved over IM
    
    (cherry picked from commit 3bbda42e6f389320b9282a198137d8a87e317311)

commit 7b051fb3f1fdca1870a4b89a18a3208967b46a97
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu May 21 11:20:36 2015 +0800

    BUG#21121164 - IB_TABLE_TRUNCATE() DOESN'T RELEASE TRX AND CAUSE HANGUP OF
    SHUTDOWNING MYSQLD
    
    We should call ib_trx_release() in both case.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    Approved over IM
    
    (cherry picked from commit db9cbe5a557506a922b6ed5754b5501186abfeed)
    
    Conflicts:
    	storage/innobase/api/api0api.cc

commit 3102d5d8ef5805f2e089cb9b3d50b32ee2422825
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu May 21 11:03:39 2015 +0800

    BUG#21121084 - IB_OPEN_TABLE_BY_ID() GIVES WRONG ARGUMENT FOR
    DICT_TABLE_OPEN_ON_ID()
    
    Since we have hold the dict mutex, we should pass TRUE instead of FALSE to
    dict_table_open_on_id()
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    Approved over IM
    
    (cherry picked from commit 270bf0d4d435b9b7aa10d004ceb52c37ad007df8)

commit 06cabb9e5b25e71b5cbdb141cbfd517ab560c2db
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon May 25 03:14:31 2015 +0200

    WL8510 Firewall
    * post merge fix: add copyright message

commit ec0d3161c0a2cd5ab32347fc50595b8891069c2c
Merge: a102663 7f13afa
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon May 25 03:08:21 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7f13afac11ddb3aaa1c2cbc3b6bab62ba6ba5ef9
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Mon May 25 02:56:08 2015 +0200

    WL8510 MySQL Firewall milestone 2
    Bug21021875 NON-EXISTENT USERS ARE ADDED TO FIREWALL_USERS TABLE DESPITE GIVING ERROR
    
    * Fixed: SP returns error on illegal usernames but creates them anyway.
    
    * FR-1 New firewall mode: Intrusion detection
    A new mode, "DETECTING", is introduced. This mode logs the suspicious query to the error log, but doesn't deny them access. This mode overrides the setting of the mysql_firewall_trace variable but only for those users which are in "DETECTING" mode.
    
    * FR-2 New stored procedure for adding or updating rules from the mysql.firewall_whitelist table
    The SP needs to RESET the in-memory rules and use the read_firewall_whitelist() UDF to reload them again.
    
    * FR-3 New counter for detected but not denied statements
    name: Firewall_access_suspicious
    The number of statements which triggered the "DETECTING" user mode for any user.
    
    * FR-4 New UDF for resetting plugin status variables
    name: mysql_firewall_flush_status()
    Resets the following variables to 0
     Firewall_access_suspicious
     Firewall_access_denied
     Firewall_access_granted

commit a102663577febd368103a9530dcfd4dad3c1576e
Author: Luis Soares <luis.soares@oracle.com>
Date:   Sun May 24 22:56:36 2015 +0100

    BUG#20236305: MSR: CRASH ON 'START/STOP SLAVE' CMD I.E. ER1794 -> ER1201 -> CRASH
    BUG#20191813: MSR + MTS: IF WE HAVE ANY INACTIVE CHANNEL, POST RESTART START SLAVE HITS ER1794
    
    (Patch and commit messages addapted from Rith's cset draft.)
    
    Observations:
      1. Till 5.6, an active_mi always existed unless the server was started
         in bootstrap mode.
      2. Multisource introduces new mi<->rli for each channel.
      3. Combining above 2 points, MSR code was written in such a way that
         following shall hold for backward compatibility:
           a) create a default channel always (exept for bootstrap mode)
           b) Create all other channels.
      4. Bullet #3 above was accomplished like this:
           a) Read the repositories and create channels
           b) If default channel not created, create one.
      5. Initialiation of default channel failed when 4.i) failed.
      6. When 4.a) failed, we deleted the master_info for that channel
    
    Notes about bug#19021091:
      - If proper postions are not given, --relay-log-recovery fails and
        hence initialization fails, after the behavioir introduced in
        bug#19021091
      - Hence 4.a) above failed.
    
    The bug exists because the default channel was never created, thence
    START SLAVE crashes as it expects a default channel and that is not
    found.
    
    The solution for this bug two-fold: (i) make sure that default channel
    is always created in rpl_info_factory.cc; (ii) when the init of
    repositories into master_info failed, don't delete the master info for
    that channel.
    
    Note:
    - Seems that there is room for refactoring this part of the code, but
      this should be done outside of the scope of this bug.
    - Fixed minor things in a couple of tests.

commit b31889dd2d80adc3fb63c3b0f2f972c11bc26431
Author: Luis Soares <luis.soares@oracle.com>
Date:   Sun May 24 22:52:28 2015 +0100

    BUG#21053526 (Post-push fix for the test case.)
    
    Post-push fix. Fixing the test case binlog_xa_handling,
    making it more robust.
    
    Clean up the binlog (RESET MASTER) before running this
    particular test case (since it iterates over the log to
    find the correct event). Otherwise, it might take too
    long or exhaust the loop_count and bail out with a
    (false positive) failure.

commit d9076610ffe8d4dcaffff9edd694c9640acedbcb
Author: Luis Soares <luis.soares@oracle.com>
Date:   Sun May 24 17:54:09 2015 +0100

    BUG#20980271: FIX GTID MODE TO WORK CORRECTLY IN --BOOTSTRAP/--INITIALIZE MODE
    
    Patch to enable the needed GTID infrastructure when in
    bootstrap mode.
    
    The server was not starting the necessary memory structures
    to setup GTIDs when on bootstrap mode. This patch makes the
    server generate the auto.cnf file and set up GTID sets and
    the sidmap when operating in bootstrap mode.
    
    It also changes MTR. It needs to because the bootstrap of the
    server is done once, and then the same install dir is used
    for initializing the master and slave. Thence, we need to
    remove the auto.cnf file (which holds the UUID generated
    UUID at bootstrap time), before copying the install dir for
    provisioning the new server that MTR spawns. This was not
    needed before, because mysqld --initialize would not
    setup the UUID for the server, i.e., the auto.cnf file.

commit 20790ed30cd53b62658c564cb0731b82f26025b7
Merge: d610018 f12c531
Author: Susan Koerner <susan.koerner@oracle.com>
Date:   Fri May 22 22:14:30 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit f12c531003b60d0077d21dec14b92f3ff103064f
Merge: aa98f90 a0984e4
Author: Susan Koerner <susan.koerner@oracle.com>
Date:   Fri May 22 22:10:33 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit a0984e474f9f977eab5387f3d29f5132c879972b
Author: susan.koerner@oracle.com <>
Date:   Tue Jun 10 10:57:30 2014 -0600

    20140609 - skoerner - changed innodb-thread-concurrency from 1000 to 50 to support the server release testing for 5.5, 5.6, and 5.7.
    
    (cherry picked from commit ff9206e6fe856d96eb7faccf53a94e4495bd4e3f)

commit d6100183af1c2486a82b93aff50af3fdb4b6eeec
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri May 22 16:44:08 2015 +0200

    Bug#18411494 WRONG COMPARSION ON BIG DECIMAL VALUES
    
    Post-push fix: Avoid negative zero when converting from float to decimal.

commit 3466da5b0677430ad93e8321d2506b788a4ec925
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Fri May 22 19:40:53 2015 +0530

    Bug #21103101	SORTING SKIPPED WHEN DROPPING THE
    		SINGLE COLUMN PRIMARY KEY
    Description:
    	- Don't skip sorting during rebuilding of the table
    when single column primary key is dropped.
    
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    Approved via IM.

commit 6ff8307eae32b672d895a1de9e13e7bd80bc692e
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri May 22 14:59:11 2015 +0100

    Bug#21121042: CODE TESTING MYSQL_VERSION_ID IS BRITTLE
    
    Several places in the code we do compile-time checks of
    MYSQL_VERSION_ID without including mysql_version.h where
    MYSQL_VERSION_ID is defined.
    
    This patch makes such checks less brittle by:
    - Removing them where possible
    - Explicitly including mysql_version.h otherwise
    
    The patch also fixes a similar problem where some
    files related to MyISAM full text search use the
    HA_KEYTYPE_FLOAT symbol without including my_base.h
    where it is defined.
    
    These problems were identified by studying the output
    from the -Wundef Clang compiler warning option.

commit 06c71ee80df53eeefde704c97adcf3803151d7bf
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri May 22 09:39:41 2015 +0200

    Bug#21126726 MAIN.TYPE_ENUM IS UNSTABLE ON PB2 VALGRIND
    
    Fix: analyze table

commit 7732f624968a7c1fdb34c28ff911b1f5d7cde55c
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Fri May 22 14:11:08 2015 +0300

    Bug#13740934: ASSERTION FAILED: ARGS[0]->FIXED ITEM_FUNC_CONV_CHARSET::ITEM_FUNC_CONV_CHARSET
    
    Item is not fixed since it's Item_outer_ref.
    Item_oter_ref is fixed later. The fix is to use
    is_fixed_or_outer_ref() function for assert.

commit c077bfef72dbb02e67b3412b5ef80b2d100b321f
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri May 22 12:17:03 2015 +0200

    Fix vardir paths for InnoDB compression tests in default.weekly
    
    Approved by Bjorn Munch <bjorn.munch@oracle.com> over IM.

commit b49e7bde20fd88757ec166c1b54d821789f636fb
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri May 22 10:48:02 2015 +0200

    Silence a few tests that are unstable in valgrind.
    
    Approved by Jon Olav Hauglid <jon.hauglid@oracle.com> over IM.

commit 5a4f670e091a3e0b09d4e915ba2b785b8c945bf5
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Fri May 22 11:26:05 2015 +0200

    BUG #21120300 SOLARIS 10 WON'T START MYSQLD ON X86 CPUS WITHOUT SSE4.2 CAPABILITY
    
      Add "-Wa,-nH" to compile flags the two places this source file is
      being compiled. This tells gcc to pass -nH on to as which in turn
      makes as not generate a Hardware Capabilities section in this .o file.
    
      This is only needed on Solaris x86. Should we ever change compiler
      back to Sun Studio, it would have to me modified.
    
      Tested manually on an "old enough" box.

commit 5d832d5c5da4a71e076e766f9dadbf4e3dd7b896
Author: Benny Wang <benny.wang@oracle.com>
Date:   Fri May 22 04:03:18 2015 +0200

    Fixed bug#20454979: CRASH IN ACTUAL_KEY_PARTS
    
    Because the index on hash_field is not unique, check_unique_constraint
    function helps to eliminate the duplications. During such an elimination, the
    index on hash_field is always needed.
    
    In order to get the count of rows with blob fields, server will call
    ha_records(). This function requires to close all indexes before calling it.
    So we have to re-initialize the index on hash_field after this call.

commit 9ffde5eec7f5ba185cec1cfc8a9e79733477714b
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri May 22 12:14:39 2015 +0800

    BUG#20981684 DEBUG BUILD ON WINDOWS USING UNDOCUMENTED SYNCHRONOUS IO
    CAUSES STL ASSERT
    
    The assert is encountered because although the SimulatedAIOHandler::m_slots
    has space reserved for it in the SimulatedAIOHandler constructor, its size
    is still zero.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com> over IM

commit 1467ee7eb07d4b76ae215034eb99867884511763
Author: Benny Wang <benny.wang@oracle.com>
Date:   Wed May 20 04:50:54 2015 +0200

    Fixed bug#21098119: GCOL WITH MATCH/AGAINST --> ASSERTION FAILED:
    TR && TR->TABLE->FILE
    
    Function allows_search_on_non_indexed_columns checks whether the storage engines
    support non-index columns to do fulltext search, which requires a Not-Null
    TABLE_LIST pointer as its argument.
    
    During alter...table, a temporary table is created to help to support inplace
    operation and Item_field->table_ref is NULL for tempoaray table. If old
    table has generated columns which include match()...against expression,
    allows_search_on_non_index_columns will be called during open the temporary table.
    Therefore, the Item_field->table_ref is NULL at this moment, which triggers the
    assertion.
    
    The solution to fix this bug is to replace the TABLE_LIST pointer arugument into
    TABLE pointer.

commit edd4a684af1f09bf38957c1462ebc6215f1a7a48
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed May 20 16:42:18 2015 +0200

    Bug#18411494 WRONG COMPARSION ON BIG DECIMAL VALUES
    
    Post-push fix: Avoid negative zero when converting from string to decimal.

commit e72453b5ed0bc7070acf3ae34e7e4e236f30c611
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Tue Apr 28 16:40:30 2015 +0200

    BUG#20883676: ASSERT `THD->OWNED_GTID.SIDNO == THD::OWNED_SIDNO_ANONYMOUS' AT BINLOG.CC:1144
    
    Background:
    
    For 5.7 binary logs (after WL#7592), the slave applier thread sets
    GTID_NEXT according to the Gtid_log_event or Anonymous_log_event
    preceding every transaction.  For 5.6 binary logs using GTID_MODE=ON,
    it does the same.  But for 5.6 binary log using GTID_MODE=OFF, or for
    5.5 or earlier binary logs, there are no Gtid_log_events or
    Anonymous_gtid_log_event.  In order to set gtid_next correctly also
    for this case, we use a special mechanism: when any
    Format_description_log_event is applied, it sets
    thd->variables.gtid_next.type=NOT_YET_DETERMINED_GROUP.  The next
    statement to execute then sets the real value for gtid_next: if the
    next statement is SET GTID_NEXT, then gtid_next is set accordingly. If
    the next statement is anything else, it assumes that this is an old
    binary log and changes NOT_YET_DETERMINED_GROUP to ANONYMOUS_GROUP.
    
    The code that changes NOT_YET_DETERMINED_GROUP to ANONYMOUS_GROUP
    invoked for SQL statements (from mysql_parse). This normally covers
    also the RBR case, because RBR transactions begin with a
    query_log_event(BEGIN), so it will set gtid_next=ANONYMOUS for the
    BEGIN statement.
    
    However, if the applier thread begins execution in the middle of a
    transaction, it is possible that a row event is processed when
    gtid_next.type is NOT_YET_DETERMINED_GROUP.  This can happen if
    an explicit CHANGE MASTER TO RELAY_LOG_POS statement positions the
    applier thread after the BEGIN statement, or if an explicit CHANGE
    MASTER TO MASTER_LOG_POS statement positions the receiver thread in
    the middle of a transaction.  Therefore, even Rows_log_events need to upgrade
    NOT_YET_DETERMINED_GROUP to ANONYMOUS.
    
    Problem:
    
    Rows_log_events did not upgrade NOT_YET_DETERMINED to ANONYMOUS.  This
    was a regression introduced by WL#7592 step 14.  Prior to WL#7592 step
    14, this logic was invoked from the function
    gtid_pre_statement_checks, which was invoked from Rows_log_event.
    However in WL#7592 step 14, gtid_pre_statement_checks was split into
    two functions, gtid_pre_statement_checks and
    gtid_pre_statement_post_implicit_commit_checks, where the latter
    contained the logic to upgrade NOT_YET_DETERMINED to ANONYMOUS.  The
    place where Rows_log_event calls gtid_pre_statement_checks was not
    updated so it still only called gtid_pre_statement_checks.
    
    Fix:
    
    Call gtid_pre_statement_post_implicit_commit_checks from
    Rows_log_event.

commit f14661194d61c33a68a36bb2bca4773a68dca402
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed May 20 21:03:10 2015 +0200

    Bug#20665051 SQL_SHOW.CC:7764: ASSERTION `QEP_TAB->CONDITION() == QEP_TAB->CONDITION_OPTIM()
    
    The scalar subquery is uncorrelated, so it's evaluated during top
    JOIN's optimize(). This evaluation (JOIN::exec) calls JOIN::prepare_result()
    which materializes the I_S content into a tmp table then sorts this table.
    Then EXPLAIN explains the subquery: it calls JOIN::prepare_result() a
    second time, causing again materialization and sorting.
    This is inefficient, and causes an assertion failure because the
    I_S materialization expects to run before sorting (so it crashes because
    of the previous sorting).
    
    Fix: don't prepare result if already done.

commit 66f32095c3099e526ce0d69b44639e265d0fc554
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Thu May 21 14:22:39 2015 +0530

    BUG#21075892 SHUTDOWN HANG, WAITING FOR ASYNC ROLLBACK TO FINISH
    
    Problem :
    ---------
    In case of lock conflict, a high priority transaction(certified)
    attempts to rollback other transactions(optimistic). We have two
    different paths here and two distinct symptoms causing shutdown/rollback
    hang.
    
    1. The ASYNC rollback happens while handling DB_LOCK_WAIT error and
    for semi-consistent read we change the wait state to success and return
    the last committed version to SQL. If sql condition skips the row then
    we never rollback the transaction.
    
    2.If the blocking transaction is wating for some other lock, we mark the
    transaction for abort/ASYNC rollback and deadlock victim and wake it up.
    We are overwriting the DB_DEADLOCK state in following two cases
        A. When the transaction is interrupted by shutdown [DB_INTERRUPTED]
        B. When the lock wait timeout is over [DB_LOCK_WAIT_TIMEOUT]
    In both cases we exit innodb without doing the rollback.
    
    3. Another independent issue was observed during debugging where the
    server crashed while printing some info for the victim thread after
    doing ASYNC rollback.
    
    Solution :
    ----------
    1.Check and kill blocking transaction for high priority transaction
    in success path.
    
    2.After wake up from a wait state check if the transaction is already
    marked as deadlock victim and if so don't overwrite the state.
    
    3.Get the victim transaction information before doing ASYNC rollback
    trx_kill_blocking.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 8994

commit 2c3d4cd2365c680e3b153ec856dcdccf583e18d8
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Thu May 21 10:12:10 2015 +0100

    Bug#20712720 CRASH IN _ZN22REPLICATION_THREAD_API18INITIALIZE_CHANNEL
    
    Post fix:
    The previous patch included a var only used in a debug context causing
    compilation failures in some cases.

commit 7ed0f0613d84f668ce6b74091fd1225a689dca72
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu May 21 12:18:01 2015 +0200

    BUG#20956599 CAN'T SET PERFORMANCE_SCHEMA=OFF IN 5.7
    
    Additional cleanup for the embedded build.

commit ac8064082bf544a48001aa3ecdb14e2ce1c1f486
Author: git <yashwant.sahu@oracle.com>
Date:   Thu May 21 12:34:12 2015 +0530

    Bug #20785409:  SSL AND NAMED PIPES FAILURE
    
    Post patch fix.

commit 43078fc3a1dcb52980cca64433615732124da0a5
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Thu May 21 09:50:58 2015 +0300

    Fixed opt_hints_lowercase.test failure on MacOS

commit 1f11b3d349401eb12ea448c57563f381014e02f3
Author: Thayumanavar <thayumanavar.x.sachithanantha@oracle.com>
Date:   Thu May 21 11:59:53 2015 +0530

    BUG#21069721 - ASSERT IN DEBUG_SYNC(THD*, CONST CHAR*, SIZE_T)
                   ASSERTION `DS_CONTROL`
    
    Post push fix to fix valgrind warnings.

commit ffe3354107a6d4a3d213d643c776ddc528d33957
Merge: 3bbda42 aa98f90
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu May 21 12:01:20 2015 +0800

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	storage/innobase/os/os0file.cc

commit aa98f9001659cca5f1a7b75cf9241425f4c47545
Merge: abab080 b44a99d
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu May 21 11:53:44 2015 +0800

    Merge branch 'mysql-5.5' into mysql-5.6
    
    Conflicts:
    	storage/innobase/os/os0file.c

commit b44a99d750a426ad295c73927e7f67ca49466715
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu May 21 11:52:17 2015 +0800

    Bug#21113036 - MYSQL/INNODB MIX BUFFERED AND DIRECT IO
    
    As man page of open(2) suggested, we should open the same file in the same
    mode, to have better performance. For some data files, we will first call
    os_file_create_simple_no_error_handling_func() to open them, and then call
    os_file_create_func() again. We have to make sure if DIRECT IO is specified,
    these two functions should both open file with O_DIRECT.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    RB: 8981

commit 3bbda42e6f389320b9282a198137d8a87e317311
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu May 21 11:44:33 2015 +0800

    BUG#21121197 - IB_CURSOR_MOVETO() DOESN'T ACCEPT SEARCH TUPPLE WITH SMALLER
    N_FIELDS
    
    We should accept the tuples with less fields than what's defined on the index.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    Approved over IM

commit db9cbe5a557506a922b6ed5754b5501186abfeed
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu May 21 11:20:36 2015 +0800

    BUG#21121164 - IB_TABLE_TRUNCATE() DOESN'T RELEASE TRX AND CAUSE HANGUP OF
    SHUTDOWNING MYSQLD
    
    We should call ib_trx_release() in both case.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    Approved over IM

commit 270bf0d4d435b9b7aa10d004ceb52c37ad007df8
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu May 21 11:03:39 2015 +0800

    BUG#21121084 - IB_OPEN_TABLE_BY_ID() GIVES WRONG ARGUMENT FOR
    DICT_TABLE_OPEN_ON_ID()
    
    Since we have hold the dict mutex, we should pass TRUE instead of FALSE to
    dict_table_open_on_id()
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    Approved over IM

commit 998856a1e2e64c7b765aeb5d35dc4f626c41ded7
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed May 20 11:47:20 2015 +0200

    Bug#20956599 CAN'T SET PERFORMANCE_SCHEMA=OFF IN 5.7
    
    Before this fix,
    
    For a server compiled with performance schema support,
    when starting the server with the performance schema
    disabled at startup time, as in:
      performance_schema = OFF
    
    the server would fail to create performance_schema tables,
    which in turn causes the creation of views provided by sysschema to fail.
    
    The root cause is as follows:
    - during the server startup, the code detects that
      the performance schema is not initialized.
    - the variable load_perfschema_engine stays as false as a result
    - later, when loading the performance schema plugin,
      the plugin is loaded with the option PLUGIN_OFF (aka, not loaded)
    - during the database initialization in mysql_system_tables.sql,
      the scripts looks for entries in table information_schema.engines,
      and finds none, leading the script to assume the server is not compiled
      with performance schema support.
    - performance schema tables are not created during the install.
    - installation of the sysschema views fail.
    
    The fix is to simplify and streamline the entire process,
    which is too convoluted.
    
    In particular,
    
    - a server compiled with performance schema support always
      load the performance schema engine, now mandatory,
      regardless of the runtime configuration.
    
    - a server compiled with performance schema support always
      create the performance schema tables during install.
    
    The database layout of the installed product should depend only on build options
    (to compile with of without the performance schema),
    and never depend on runtime configurations options
    (to start the server with or without instrumentation)
    
    When the performance schema is not used during server startup,
    no data will be collected and no memory allocated,
    so there is no performance impact: there are no changes here.
    
    The only change is to always create performance schema tables
    when the server is compiled with performance schema support.

commit 8e39c462b5f9ef4480ad0c374b8491fc13a1adbf
Author: Pedro Gomes <pedro.gomes@oracle.com>
Date:   Wed May 20 18:26:50 2015 +0100

    Bug#20712720 CRASH IN _ZN22REPLICATION_THREAD_API18INITIALIZE_CHANNEL
    
    Whenever a channel initialization was attempted using the new channel
    service interface and the server had its server-id set to 0 a crash
    would happen. This is because the server had not properly initialized
    some replication structures.
    
    To solve this, the existing method for the initialization of the
    interface will now check the server-id and it improper return an error
    code. We also check if the relay log and master info respositories are
    set to table, another required condition for the creation of channels.
    This method shall then be used to check if the channel service
    interface can be used or not.

commit 89cb3bbcd371b82cade86843d06f5123ec3d94ca
Merge: cf5092a abab080
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed May 20 16:30:52 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit abab0804127457e33e66b0e1ff08bf844cc87346
Author: Aditya A <aditya.a@oracle.com>
Date:   Wed May 20 16:28:32 2015 +0530

    Bug #21086723	PAGE_ZIP_VERIFY_CHECKSUM() RETURNS FALSE FOR A
    		VALID COMPRESSED PAGE
    
    PROBLEM
    
    While copying the dirty page from uncompressed page to a compressed page
    we call page_zip_verify_checksum() before setting the LSN of the
    compressed page,because of this LSN of compressed page is zero and if
    the calculated checksum also is zero (which can happen for a valid page)
    we think it is empty page and assert.
    
    FIX
    
    Move page_zip_verify_checksum() after setting the LSN of compressed page.
    Since checksum algorithm will not consider the change in header while
    calculating the checksum,this will not effect the checksum calculation.

commit cf5092a10a170565c628f2feec7d50bd05a8b052
Author: Olav Sandstaa <olav.sandstaa@oracle.com>
Date:   Fri Apr 24 09:12:24 2015 +0200

    Bug#20947871 INDEX SCAN COST IN TEST_IF_CHEAPER_ORDERING() DOES NOT USE COST CONSTANTS
    
    The cost calculation for the cost estimate of doing index scan in
    test_if_cheaper_ordering() does not use the configurable cost constant
    for the io cost of accessing a block from the table. Instead it assumes
    that all accesses to a block cost 1:
    
      const double index_scan_time= select_limit / rec_per_key *
         min<double>(rec_per_key, table_scan_time.total_cost());
    
    The the last rec_per_key in this formula corresponds to the number of
    page reads that is needed to read from the base table.
    
    This can cause unintended changes to query plans if the cost constant
    for io block read is changed. The fix for this issue is to use the
    configurable cost constant.

commit 587335b4f229b6ac16b5258023da504a9a21d7e1
Merge: bff8f51 0ceb0b7
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Wed May 20 10:31:31 2015 +0100

    Merge /home/tnuernbe/forest/mysql-5.6-20642505 into mysql-5.7

commit 0ceb0b73a115973e789696bc0fc5e1c4b966a283
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Wed May 20 10:28:03 2015 +0100

    Bug#20642505:
    Don't run unit test on 64 bit Windows (64 bit size_t, 32 bit long)

commit bff8f51db9f106d0948b58936799867523f7e0bd
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed May 20 17:11:31 2015 +0800

    BUG#21111301 INNODB FTS: ERROR DUPLICATE ENTRY IN FTS_DOC_ID_INDEX ON UPDATE CASCADE
    
    It's a regression of rb#2089: make cascade operation iterative.
    
    trx->fts_next_doc_id is used by two cascade operations in
    row_ins_cascade_calc_update_vec(), so we have duplicated
    entry error. The fix is simple: allocate a doc id from
    cascade heap for each operation.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 8973

commit 7b4036175e51e1abd2f1688e66f6e25eef9a60ab
Author: Sergey Glukhov <sergey.glukhov@oracle.com>
Date:   Wed May 20 12:11:32 2015 +0300

    Bug#21056644 OPTIMIZER HINTS DO NOT RESPECT LOWER_CASE_TABLE_NAMES
    
    Table aliases comparison is case insensitive. It's incorrect for Unix
    since table aliases are case sensitive on this OS. The fix is to
    use table_alias_charset for alias comparison.

commit 300dbcf8ba0282a03ae969541559148f88ee77fa
Author: Thayumanavar <thayumanavar.x.sachithanantha@oracle.com>
Date:   Wed May 20 13:56:40 2015 +0530

    BUG#21069721 - ASSERT IN DEBUG_SYNC(THD*, CONST CHAR*, SIZE_T):
                   ASSERTION `DS_CONTROL`
    
    InnoDB handlerton close connection code path uses DEBUG_SYNC
    during connection disconnect. Debug Sync control structures
    relating to the connection are deallocated after which
    handlerton close connection method is called. This results in
    an assert.
    The fix is to move deallocation of debug sync control structures
    past the handlerton close connection.

commit 3d7f9f6f3aca66d11c9629a6991461073b11c655
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed May 20 09:26:17 2015 +0200

    Bug#20819199 ASSERTION FAILED IN TEST_IF_SKIP_SORT_ORDER
    
    When test_if_skip_sort_order("GROUP BY") runs:
    get_best_group_min_max() ignores the "keys_to_use" mandate, so it
    returns a QUICK with an unwanted index, hence the assertion failure:
            DBUG_ASSERT(tab->quick()->index==(uint)best_key);
    Fix: scan the param->keys list instead of scanning the list of all
    keys.
    By doing this, one function's argument becomes unneeded.
    
    There was no apparent problem in 5.6 (i.e. before WL#6016) because
    there was a call to prepare_for_position() before
    test_if_skip_sort_order(), which WL#6016 moved to make_join_readinfo()
    i.e. to after test_if_skip_sort_order(); this led to different bits in
    read_set, and thus different index usage.
    
    Test result changes:
    
    1) in opt_trace, some indexes are not considered anymore which is
    normal
    
    2) in order_by*:
    I added more coverage of IGNORE INDEX and simplified the logic which
    counts tmp tables; I also fixed a problem: the primary key index,
    is always named "PRIMARY", so listing "a" in the IGNORE INDEX
    clause was pointless, it didn't make the primary key index be ignored
    ("a" was interpreted as "ab", because of prefix matching in the hint code,
    filed as Bug 21104060 ).
    Fixed by using name PRIMARY in hints (also filed bug 21105266).
    I compared the output of this modified test, before and after my code
    change: there is no difference.
    
    If we analyze this output (again: identical pre- and post-patch):
    EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR GROUP BY (PRIMARY, ab) GROUP BY a;
    1	SIMPLE	t1	NULL	range	PRIMARY,ab	ab	4	NULL	13	100.00	Using index for group-by; Using temporary; Using filesort
    EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY, ab) ORDER BY a;
    1	SIMPLE	t1	NULL	index	NULL	PRIMARY	4	NULL	128	100.00	Using index; Using filesort
    EXPLAIN SELECT a FROM t1 IGNORE INDEX (PRIMARY, ab) GROUP BY a;
    1	SIMPLE	t1	NULL	ALL	PRIMARY,ab	NULL	NULL	NULL	128	100.00	Using filesort
    EXPLAIN SELECT a FROM t1 IGNORE INDEX (PRIMARY, ab) ORDER BY a;
    1	SIMPLE	t1	NULL	ALL	NULL	NULL	NULL	NULL	128	100.00	Using filesort
    This supports this interpretation:
    - for IGNORE INDEX FOR GROUP BY/ORDER BY: user wants indexes to not be
    used for GROUP BY/ORDER BY, but he still allows to use indexes for
    reading. So we have range access on "ab", or covering index scan on
    "primary", for reading, and a filesort for grouping/ordering.
    - for IGNORE INDEX, index cannot be used for anything, so we have
    table scan + filesort.
    
    Thus, the following exception, documented in the manual, seems to not
    exist in fact:
    https://dev.mysql.com/doc/refman/5.7/en/index-hints.html
    "However, if there is a covering index for the table and it is used
    to access the table, the optimizer ignores IGNORE INDEX FOR
    {ORDER BY|GROUP BY} hints that disable that index."; also
    mentioned in process_index_hints() (though I could not find the
    code which implements it).
    So I remove it from the comments in table.cc and will suggest removing
    it from the manual.

commit 7dc0c6361346d55945edd1158fb867f5c5385d9c
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed May 20 12:43:16 2015 +0530

    Bug# 20785409:  SSL AND NAMED PIPES FAILURE

commit 09aa7d7ef26fbc5e9c58b486fdd29cf7250f751a
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed May 20 12:55:29 2015 +0800

    BUG#21103446	THERE IS NO CLEAR ERROR MESSAGE IF INNODB_DATA_FILE_PATH IS WRONG
    
    Print error message: syntax error in file path.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> over IM

commit d4a7d7351ea7bf7524f0bca03535026e6be3875c
Author: Luis Soares <luis.soares@oracle.com>
Date:   Tue May 19 17:35:54 2015 +0100

    BUG#21053526 XA: 'XA COMMIT..ONE PHASE' IS BINLOGGED INCORRECTLY AS 'XA PREPARE'
    
    SHOW BINLOG EVENTS was not showing the correct
    statement for XA COMMIT ... ONE PHASE.

commit db74dfedc502efaf3593f4b5d4389d196633d20b
Author: Luis Soares <luis.soares@oracle.com>
Date:   Tue May 19 17:00:18 2015 +0100

    Bug #16621582: REPLICATION FAILS WITH ERROR 1837 WHEN DOING MULTI-TABLE UPDATES WITH SAVEPOINTS
    
    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 09a6233032fab7f6d51804bd696ac72582cc40e7
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Mon May 18 18:00:12 2015 +0400

    Bug #21095608: OPTIMIZER HINT PARSER DOESN'T ACCEPT NUMBER-PREFIXED
                   QUERY BLOCK NAMES AFTER @
    
    Optimizer hint parser didn't recognize query block name identifiers
    with numeric prefixes in the <table-name>@<query-block-name> syntax.

commit 6bfd81b647b03e0efe29f38a24e5d6ed5f7c02c5
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Tue May 19 15:33:39 2015 +0200

    Bug#20982756: Crash in Table_list::fetch_number_of_rows
    
    The root problem here is that for a SET command with subqueries,
    st_select_lex::apply_local_transforms() is not called after resolving
    the subqueries. Because of this, "first_execution" is not cleared,
    and a materialized table is never set up for execution, see
    st_select_lex::resolve_derived() for details.
    
    The fix is thus to call this function for SET commands with subqueries.
    To cover all possible uses of subqueries within SET, this is done
    by extending the test for when to call apply_local_transforms()
    inside st_select_lex::prepare().
    
    The reason why we have a materialized table in the first place also
    requires some comments: There are two views involved, and in a
    SELECT statement they would both be merged into the query.
    
    We will first try to merge table v3 into v2. But since
    LEX::can_use_merged() returns false for a SET command, and
    the outer query (the view v2) is not a subquery, the view is
    materialized and not merged. When attempting to merge table v2 into
    the outer query, LEX::can_use_merged() still returns false, but
    the view is referenced in a subquery, so this view is actually merged.
    
    This practice is a bit strange: SET commands apparently do not
    allow view merging, but since the view is contained in a subquery,
    the merge is allowed anyway. But the view inside view is not allowed
    to be merged, even though it would be merged into the same subquery.
    
    Thus, we seem to have two additional problems:
    
    1. View merging should generally be allowed for SET commands, and
    
    2. LEX::can_use_merged() may erroneously cause views contained in
       views to not be merged.
    
    None of these problems are handled in the current bugfix.
    
    sp.test was changed because some errors are now discovered in the
    prepare phase instead of in the execute phase.

commit ba957f682055b63d11a2bfb84f855cae39485c88
Author: David Zhao <david.zhao@oracle.com>
Date:   Mon May 18 15:35:55 2015 +0800

    Bug#21061746 ASSERTION `GET_WKB_GEOTYPE(P + 1) == GEOMETRY::WKB_LINESTRING' FAILED
    
    Issue:
    
    In BG_geometry_collection::merge_one_run(), the wkbres String buffer was
    overwritten because the buffer was used across multiple executions of the
    loop and it's state made wrong by such reuse.
    
    Fix:
    
    Define the wkbres String object in the scope where it's used so that it always
    has a clean state and the memory it holds won't be overwritten.

commit f2a9c31eb73068899f3a9c6c79562d14be5d95b9
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue May 19 15:07:26 2015 +0200

    Bug#20684424 SHOW_COMPATIBILITY_56 SHOULD SHOULD BE OFF BY DEFAULT
    
    Before this fix, the default value for SHOW_COMPATIBILITY_56 was ON.
    
    With this fix, the default value is OFF, as originally intended
    when implementing this new feature.

commit c3235c2adb338c80983de50970fc09d6dcb36bbe
Author: David Zhao <david.zhao@oracle.com>
Date:   Tue May 19 11:23:32 2015 +0800

    Bug#18422162 THE FIND_FLAG PASSED TO MYISAM AND INNODB ARE DIFFERENT
    
    Issue:
    
    The enum items in ha_rkey_function and key_range_flags are bitwise OR'ed
    to store into one integer field during range optimization when the
    key range flag is GEOM_FLAG, i.e. when doing spatial range optimization.
    
    Fix:
    
    We should not bitwise-or ha_rkey_function enum items with key_range_flags
    items.
    
    So we now add a 'gis_rkey_func' field in SEL_ARG, QUICK_RANGE and
    RANGE_SEQ_ENTRY structures or classes to pass around the
    ha_rkey_function flag for GIS ranges during range optimization,
    and pass it to the handler interface for target rtree index scans.

commit 36e8450dbdce7f51bfb50fd4c665569ce0b46144
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Wed May 13 16:55:55 2015 +0200

    Bug#18320371 GIS: MISLEADING ERROR MESSAGE,WHEN TRY TO CREATE A
    SPATIAL INDEX ON MULTICOLUMN
    
    Problem: Trying to create a spatial index with more than one column
    results in a not helpful error message.
    
    Fix: Return ER_TOO_MANY_KEY_PARTS, which is the error message used
    when other indexes have too many columns.

commit d91536b05fe3df762eb13980356eba53c40679a1
Author: Benny Wang <benny.wang@oracle.com>
Date:   Mon May 18 05:48:37 2015 +0200

    Fixed bug#20746926: GENERATED COLUMNS: INVALID READ OF THD WHEN WARNINGS
    
    This bug is caused by cached THD pointer of some Item objects.
    
    There are several kinds of Item objects which cache the THD pointer to try to
    lessen the impact of current_thd. However, generated column expression is only
    parsed and fixed once during open table first time. Moreover, the table is
    cached and shared by all sessions. If the Items which cache THD pointer as
    part of generated expression, obviously, such an generated expression can't be
    shared by all sessions. If they were, it would result in invalid read and
    memory leak.
    
    Because there are only 3 Item objects which have effect on generated
    expression. The solution is to remove to cache THD but use current_thd
    instead.

commit 1565377352abc6a6ac18ce93eb859859f1390706
Author: Dmitry Shulga <dmitry.shulga@oracle.com>
Date:   Tue May 19 12:48:10 2015 +0600

    This patch fixes the bug#21041908 - EVENTS+RPL: VOID CLOSE_THREAD_TABLES(THD*): ASSERTION THD->GET_TRANSACTION()
    
    The issue is related to the automatic dropping of the event (since the end of
    event's lifetime) and the use of row based binlogging.
    
    After a row for event being dropped has been deleted from the table
    mysql.event the function binlog_log_row is called to record a new entry
    into the binlog. In case row based binlogging is on the following
    sequence of calls are happen to start a new statement-level transaction:
    binlog_log_row --> write_locked_table_maps -->
      THD::binlog_write_table_map --> binlog_start_trans_and_stmt
    
    Latter when open tables are closed the following assert
      DBUG_ASSERT(thd->get_transaction()->is_empty(Transaction_ctx::STMT) ||
                  thd->in_sub_stmt ||
                  (thd->state_flags & Open_tables_state::BACKUPS_AVAIL));
      is fired since there is a statement-level transaction.
    
    To fix the bug simple refactoring has been done to move turning off
    row binlogging inside Event_db_repository::drop_event() that is
    called both when DROP EVENT and automatic dropping are executed.

commit ffcdb462f937a14079c5dc99de76f498cb14eb8a
Merge: 53b1631 5475d09
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue May 19 08:02:04 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5475d09d19f5b83c1a6cb843f7126212b3478365
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue May 19 08:00:12 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.

commit 53b1631e73662d09d1044ab548fb00b5047adc75
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Tue May 19 09:59:20 2015 +0800

    Followup: Bug#20972309 ASSERT FAILURE WHILE INITIALIZING THE DATABASE
    WITH INNODB_PAGE_SIZE=64K
    
    Fix i_innodb.innodb_create_db failure on pb2.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com> on IM

commit 2e8acc835e29066916944a0bbbec175c3ead5c07
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Apr 21 08:32:31 2015 +0200

    Bug#18411494 WRONG COMPARSION ON BIG DECIMAL VALUES
    
    Problem: integer literals may be converted to floats for
    comparison with decimal data. If the integers are large,
    we may lose precision, and give wrong results.
    
    Fix: for
      <non-const decimal expression> <cmp> <const string expression>
      or
      <const string expression> <cmp> <non-const decimal expression>
    we override the compare_type chosen by item_cmp_type(), and
    do comparison as decimal rather than float.

commit 38a7e5b983ec3cb64d5a1a8741ccf336a64e81c6
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon May 18 15:35:01 2015 +0200

    Bug#20348824 PERFSCHEMA.SOCKET_SUMMARY_BY_EVENT_NAME_FUNC HAS SPORADIC
    FAILURES ON PB2
    
    Before this fix, the test suite had sporadic failures when
    testing statistics related the the socket instruments.
    
    A possible root cause is now identified:
    in table_all_instr::rnd_next(), which is executed
    when selecting from table EVENTS_WAITS_SUMMARY_BY_INSTANCE,
    the code that returns a row for a socket waits is:
    
        case pos_all_instr::VIEW_SOCKET:
          {
            PFS_socket_iterator it=
    global_socket_container.iterate(m_pos.m_index_2);
            socket= it.scan_next(& m_pos.m_index_2);
            if (file != NULL)
            {
              make_socket_row(socket);
              m_next_pos.set_after(&m_pos);
              return 0;
            }
          }
          break;
        }
    
    The if statement is incorrect, and uses uninitialized memory.
    It should be if (socket != NULL) instead.

commit 0a9c4ef4fa1a9cea28cf173df855d7a1e8d78abf
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Mon May 18 14:18:41 2015 +0300

    Bug#21044191 INNODB UPDATES SYS_TABLESPACES, SYS_DATAFILES ON EVERY STARTUP
    
    dict_replace_tablespace_in_dictionary(): Do not modify SYS_TABLESPACES
    or SYS_DATAFILES if the record already exists in SYS_DATAFILES and
    SYS_DATAFILES.PATH matches the current value.
    
    RB: 8957
    Reviewed-by: Krunal Bauskar <krunal.bauskar@oracle.com>

commit a211cd58cc37da5c2a71ad62dc1dc4208f2d8d75
Merge: d675866 fb23584
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon May 18 12:50:02 2015 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit fb23584bc0c83d4a26a845b7f2c9dd9dd2f91b18
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon May 18 12:48:51 2015 +0300

    Addendum 2 to bug #14588145: fixed an error message typo

commit d675866e42b77ea2ce0111185cc9166b22cbfe9c
Author: David Zhao <david.zhao@oracle.com>
Date:   Fri May 15 17:45:04 2015 +0800

    Bug#21096161 SOME ST_BUFFER TESTS HAVE PLATFORM SPECIFIC RESULTS
    
    Issue:
    
    The literal differences are harmless in practice, and they are caused by
    rounding errors in float point calculations.
    
    Fix:
    
    Eliminate the literal differences using --replace_regex.

commit d5ca775fff815af1d45e9c08da980de5e2647ea7
Merge: 1f4f88b 22b94d5
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Mon May 18 08:14:35 2015 +0100

    Merge /home/tnuernbe/forest/mysql-5.6-20642505 into mysql-5.7

commit 22b94d59b21bee2ab9048e52f9810256320a9883
Merge: 52ccefd ca1f80e
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Mon May 18 08:13:32 2015 +0100

    Bug#20642505: HENRY SPENCER REGULAR EXPRESSIONS (REGEX) LIBRARY
    
    The MySQL server uses Henry Spencer's library for regular
    expressions to support the REGEXP/RLIKE string operator.
    This changeset adapts a recent fix from the upstream for
    better 32-bit compatiblity. (Note that we cannot simply use
    the current upstream version as a drop-in replacement
    for the version used by the server as the latter has
    been extended to understand MySQL charsets etc.)
    
    (Adds unittest to 5.5 mergeset.)

commit ca1f80e778d81e9c5a5215416c9deef448947bd6
Author: Tatiana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
Date:   Mon May 18 08:09:02 2015 +0100

    Bug#20642505: HENRY SPENCER REGULAR EXPRESSIONS (REGEX) LIBRARY
    
    The MySQL server uses Henry Spencer's library for regular
    expressions to support the REGEXP/RLIKE string operator.
    This changeset adapts a recent fix from the upstream for
    better 32-bit compatiblity. (Note that we cannot simply use
    the current upstream version as a drop-in replacement
    for the version used by the server as the latter has
    been extended to understand MySQL charsets etc.)

commit 1f4f88b99a8f194added9afbd600a5d1b5c56a38
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon May 18 12:03:06 2015 +0530

    Bug#20741572 : CAN'T DISTINGUISH SECURE_FILE_PRIV = NULL AND ""
    
    Description : @@secure_file_priv display "NULL" if --secure-file-priv is set to "" or "NULL".
                  This makes it impossible to know actual value of --secure-file-priv.
    
    Solution : Set secure_file_priv to "" or "NULL" based on actual value of
               --secure-file-priv.
    
    Reviewed-By : Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By : Yashwant Sahu <yashwant.sahu@oracle.com>

commit 9f898703b3546147f2c1549d64b7fd4120d492aa
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Sun May 17 07:45:26 2015 +0530

    Bug #20654023 	MYSQL_OPT_SSL_ENFORCE REQUIRED FOR LIBMYSQLCLIENT FROM MYSQL 5.7.6
    
    MYSQL_OPT_SSL_ENFORCE REQUIRED FOR LIBMYSQLCLIENT FROM MYSQL 5.7.6

commit b07fdaca35d8119de3fbcabced2f0a96509e0077
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Thu May 14 19:48:21 2015 +0400

    Bug #21035515: PARSE_GCOL_EXPR SHOULD BE A KIND OF RESERVED WORD, NOT A KEYWORD
    
    The new PARSE_GCOL_EXPR_SYM token behaves as a keyword in the
    main grammar: we can't use the "PARSE_GCOL_EXPR" name for plain
    table/column names, user variable/function/procedure etc. names.
    Such a limitation is not necessary and unwanted.
    
    Details of the fix:
    
    1. Mention the PARSE_GCOL_EXPR in the list of reserved words that
       allowed as column/table/variable/function/procedure names:
       see the "keyword" rule in the grammar.
    2. Update the error message on unexpected standalone PARSE_GCOL_EXPR
       statements in the main grammar for a more precise output.

commit 8a2396c7d8e016d94d22aad1cc60781e0be43128
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Fri May 15 15:57:13 2015 +0200

    Bug#21045724: Assertion '!table || !table->read_set ...
    
    WL#5275 removed some code from Item_direct_view_ref::fix_fields()
    which was introduced by the bugfix for bug#47150, and the case for
    that bug no longer failed. However, it was possible to trigger the
    same bug with a similar query.
    
    The problem may occur for multi-table UPDATE of view where the same
    column is used in SET clause and JOIN clause, used as a prepared
    statement. The bug does not show with JOIN ... ON, only JOIN ... USING
    or NATURAL JOIN.
    
    The problem is that we share Item_field objects underneath several
    Item_direct_view_ref objects. Item_field is fixed on first use.
    On second use, when Item_field is already fixed, we do not invoke
    the code that mark the underlying Field as used. This causes problem
    when one use is for reading and another is for writing.
    The problem does not occur for base table fields, since then we have a
    distinct Item_field for each field.
    The problem does not occur for non-prepared execution since the preparation
    order is then different (joined fields before fields to be updated).
    
    Fix: Re-introduce code in fix_fields() that explicitly marks code
    when underlying item is fixed.

commit b2e242607cc7223f90e4f89a1e54be693c5d8cf7
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri May 15 14:25:47 2015 +0300

    Addendum #1 to bug #14588145:
    
    Added the extra scope argument to the status variables.

commit 94110db2d75eb9368ee2d96afc5301889514d9af
Merge: 3ddcebc 52ccefd
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri May 15 12:39:42 2015 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 52ccefd205a2a9263a5429dfca1a183f19caf70e
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri May 15 11:57:38 2015 +0300

    Bug#14588145: NEED ABILITY TO FLUSH PASSWORD VALIDATION DICTIONARY FILE
    
    PROBLEM: Once validate_password plugin is loaded
    any change made to dictionary file was
    not accepted. File content is cached and
    it cannot be flushed without re-loading
    the plugin.
    
    SOLUTION: Dictionary file can be flushed.
    Changing the validate_password_dictionary_file
    variable from a readonly to a dynamic variable.
    We can specify the new dictionary file name by
    setting validate_password_dictionary_file. It
    will flush the previous dictionary file and
    load the new one.
    
    Also added 2 new status variables:
    * validate_password_dictionary_file_last_parsed :
      a YYYY-MM-DD HH:MM:SS OS local time string on when
      the last password file update took place.
    
    * validate_password_dictionary_file_words_count
      an integer containing the exact number of words
      in the dictionary.
    
    Both status variables are updated when
    a password file is parsed.
    
    Test cases added.
    Also updated the existing test to not restart the
    server to change the dictionary file.

commit 3ddcebcc3905cae27cab476a6bd1cad86ed8c1fe
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Fri May 15 14:20:20 2015 +0800

    Followup patch of bug#20734998 to fix valgrind test of
    innodb_gis.rollback hang.

commit 7378a5cf373a2e586ff07c086f9e58eea2120ead
Merge: b3c6785 c8cbb97
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri May 15 10:51:18 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit c8cbb97b6c813d1db32a21e546d273cab5289f43
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Fri May 15 10:49:09 2015 +0530

    Bug#19316063: MAKE MTS WORK WITH RELAY_LOG_RECOVERY=1 WHEN
    GTID IS ENABLED
    
    Fixing a post push test issue

commit b3c6785f43aa2e7aca53431dffb57dab580472ff
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Fri May 15 11:07:25 2015 +0800

    Bug#20972309 ASSERT FAILURE WHILE INITIALIZING THE DATABASE
    WITH INNODB_PAGE_SIZE=64K
    
    Analysis:
    We require block1 or block2 in doublewrite buffer should be in the same
    data file, but in the test, block2 crosses two data files.
    
    Solution:
    Enforce minimum size of first data file to be TRX_SYS_DOUBLEWRITE_BLOCK_SIZE * 3,
    so that the doublewrite buffer blocks are in the first data file.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 8916

commit a80719fdbd9b6f25b94555f3ae85cd7220b2ec89
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Thu May 14 13:13:42 2015 +0400

    Bug #20720615: GEN_LEX_HASH FAILS WITH MEM.LEAK ERRORS IF COMPILED WITH CLANG-3.5 + ASAN
    
    If we use clang-3.5+ instead of gcc and enable its AddessSanitizer (ASAN),
    the gen_lex_hash utility aborts on clang's LeakSanitizer memory leak
    checks.
    
    This patch adds memory deallocation to gen_lex_hash.cc to make
    LeakSanitizer happy (normally this is superfluous, since gen_lex_has is
    a compile-time utility, and OS does the job itself).

commit a1a02dec52e00fad4705e7734c1a5bc09a1166b1
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu May 14 16:54:06 2015 +0300

    Bug#17339009 --HELP DOES NOT PRINT ALL THE OPTIONS WHEN USED WITH MYSQL_SECURE_INSTALLATION
    
      Problem: mysql_secure_installation supports option-file
               options like --defaults-file, --print-defaults etc.
               which are not printed as part of help text.
    
      Solution: Added a call print_defaults() which prints the
                missing options. Also added a newline character
                at one place for better readablity.

commit 9fe5b89cbc92eec3ee956e122754e83c030059db
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Wed Apr 22 15:10:23 2015 +0300

    Fix Bug#20783098 INNODB_CHECKSUM_ALGORITHM=CRC32 IS NOT BYTE ORDER AGNOSTIC
    
    The CRC32 checksum generation code interprets portions of the byte
    string to checksum as a 8-byte integer so that it can process 8 bytes
    at a time (rather than 1 byte at a time). For this, the code uses the
    native byte order of the machine:
    
      crc ^= *(ib_uint64_t*) buf;
    
    and then does numerical calculations with the result (e.g. crc >> N).
    Thus the resulting checksum depends on the byte order of the machine
    and is different on big and little endian machines. This means that
    files written to with --innodb-checksum-algorithm=crc32/strict_crc32 on
    big (little) endian machines are not readable on little (big) endian
    machines because the checksum, though valid, is not recognized.
    
    The simplest solution would be to start writing only e.g. big endian
    checksums and recognize only such ones, but this would introduce an
    unacceptable backwards incompatibility.
    
    The solution implemented is to recognize both big and little endian
    CRC32 checksums during verification, while first calculating and
    checking the little endian one.
    
    Swapping the byteorder in order to calculate "the other" CRC32 checksum
    slows down the checksum calculation by about 1-2% (e.g. recognize
    big-endian-CRC32 on little endian machines or recognize
    little-endian-CRC32 on big endian machines).
    
    When generating the checksum (when writing to disk) we now always use
    little endian byteorder (no change in little endian machines, and an
    extra step of swapping the byteorder on big-endian machines).
    
    Reviewed-by: Debarun Banerjee <debarun.banerjee@oracle.com>
    RB: 8781

commit 81daa5df54d8859d9e801b7755c342f92a5b0608
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Thu May 14 10:33:47 2015 +0200

    Bug#20819189: ASSERT IF .FRM EXISTS BUT NO PARTITIONED INNODB TABLE.
    
    Post-push test fix.

commit 124afa1c6464631c7b876fb7c2da1d5b9339d1f7
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu May 14 11:22:15 2015 +0530

    Bug#20561087 : REPLACE_USER_TABLE() DOES NOT CHECK ERROR WHEN READING FROM MYSQL.USER
    
    Problem : Code responsible for reading/writing from/to acl tables
              assume that storage engine is always MYISAM. Hence, some
              errors reported by different storage engines (e.g. ndb)
              are not processed correctly.
    
    Solution : Handle errors thrown by storage engine and bail out if
               error is not acceptable. This change also signals
               transaction rollback to storage engine in case of an
               unexpected error by storage engine.
    
    Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By: Dmitry Lenev <dmitry.lenev@oracle.com>
    Reviewed-By: Magnus Blåudd <magnus.blaudd@oracle.com>

commit 880a1cb7e92a37dd22b846fa0d2249eb28c919b0
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Mon May 11 16:29:50 2015 +0200

    Bug#20819189: ASSERT IF .FRM EXISTS BUT NO PARTITIONED INNODB TABLE.
    
    If a native partitioned innodb table with more than one partition
    was opened when only the .frm file existed (but no .ibd files or
    innodb internal data dictionary records of it) it hit an assert.
    This was due to uninitialized array of m_table_parts.
    
    Fix by initializing it to zero.
    Replaced the bad update_bit and set_bit and clear_bit.
    
    rb#8513 Approved by Marko and Shaohua.
    
    non-functional changes:
    Whitespace changes (Alignment/indentation).
    
    Using UT_BITS_IN_BYTES and removing "<<" for concatenating
    static strings.

commit 6f756e9e32fea5a986c8a42e5baf0c810b4264c1
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Tue Apr 21 14:55:05 2015 +0200

    BUG#19706455: RESET MASTER SHOULD RESET GTID STATE AND NOT ERROR OUT WHEN BINLOG IS OFF
    
    The GTID state (GTID_EXECUTED and GTID_PURGED) can be reset using
    RESET MASTER.
    
    RESET MASTER only works when the binary log is enabled. If the binary
    log is disabled, RESET MASTER fails with an error. This did not limit
    the GTID feature in 5.6, since GTIDs could only be enabled when the
    binary log was enabled.
    
    However, since WL#6559 was pushed to 5.7.5, GTIDs can be enabled even
    when the binary log is disabled. So in this case there is no way to
    reset the GTID state.
    
    Fix: Make RESET MASTER reset gtid_executed and gtid_purged even when
    binary logging is disabled.
    
    @sql/rpl_master.cc
    - Fix the server bug.
    
    @mysql-test/suite/binlog/t/binlog_anonymous_ownership.test
    - Fix unrelated test race (test failed by coincidence when testing
      this bug). The test disconnected a session that was in the middle of
      an anonymous transaction and then immediately asserted that the
      counter of anonymous transactions has decremented. However, the
      counter is decremented in thread cleanup code that runs
      asynchronously, so it might not have executed at the time the
      condition was checked.  Added a synchronization step where the test
      waits for the thread to disappear.
    
    @mysql-test/suite/sys_vars/t/gtid_purged_basic.test
    - Test that RESET MASTER works even when binary log is disabled.
    
    @mysql-test/include/rpl_init.inc
    - Make tests call RESET MASTER even if binary log is disabled.
    
    @mysql-test/suite/rpl/t/rpl_binlog_errors.test
    @mysql-test/t/disabled_replication.test
    - RESET MASTER no longer generates an error when binlog is disabled.
    
    Most other test files:
    - Many tests don't need to force a server restart now that
      rpl_init.inc executes RESET MASTER even on a binlog-less slave.
      (Removed force-restart from some unrelated cases too, where that
      was easy.)
    
    @mysql-test/suite/rpl/t/rpl_simulate_create_trunk_failure.test
    @sql/rpl_gtid_set.cc
    - Don't force restart. Also corrected typo trunk->chunk.

commit 7c38a302e86b0787a252b836a9da50bb27353a52
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed May 13 16:00:36 2015 +0200

    Test suite cleanup

commit 47e456f18a900a21a174d775224fdd806e26c323
Merge: 5259c07 4a2b7ed
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed May 13 15:06:02 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4a2b7edf0f7776260a385f1d6177dea7791a0184
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed May 13 15:02:57 2015 +0200

    Test cleanup

commit 5259c07d1e22e81c895003bb82a36193a138906f
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed May 13 13:30:48 2015 +0100

    Bug#21074643: SERVER SETS OPEN_FILES_LIMIT UNCONDITIONALLY
    
    The problem was that when open_files_limit was set as part of
    server startup, the non-Windows check for if this value made
    sense didn't work. The problem is that the check only worked
    of RLIMIT_NOFILE was defined while not including the system
    header (sys/resource.h) that actually defines the symbol.
    This made it possible to e.g. set the value to 1000000 even
    on a system where the open files OS limit was 1024.
    
    This is a 5.7 regression. On 5.6 the header file was
    included indirectly via other header files.
    
    This patch fixes the problem by including the missing header
    file + removing the check on if the symbol is defined so
    that similar regressions in the future will give
    compilation error.

commit 8f03e02d385ac3d06840cbbe6490b2340883454e
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed May 13 13:53:54 2015 +0200

    Fix for build failure after pushing a767e483e9496e8427d50f59dfa4842d4895e08a

commit da6bffd8b9e5f2eab6211d56f6b87ba4ee231da1
Merge: 8da6ded 5e706c6
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed May 13 16:15:45 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5e706c6cd95c9c1e8d661791a689265e9bc52e1e
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed May 13 16:13:32 2015 +0530

    Bug #20857652 : SERVER CRASHES WITH CREATE/DROP USER
                    STATEMENT WITH A PARTICULAR SEQUENCE
    
    Post push for the bug fix.

commit 8da6ded6e7d158d1e228970f08ade49200fd710d
Merge: 0bbbfc7 fd5c24a
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed May 13 09:55:57 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit fd5c24a408a3e092daad3c8e4251f754a8567022
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon May 11 15:11:07 2015 +0200

    Bug#20896539 - A QUERY DIGEST SOMETIMES CONTAIN BACKTICKS AND SOMETIMES NOT
    DEPENDING ON CS
    
    Before this fix, queries like
      SELECT * from t1
    would be instrumented:
    - sometime with a digest text of SELECT * from t1, and a digest hash H1
    - sometime with a digest text of SELECT * from `t1`, and a digest hash H2
    
    The root cause is in the parser, which, for the same query text t1,
    returns:
    - sometime an IDENT token
    - sometime an IDENT_QUOTED token,
    depending on both:
    - whether the identifier is strictly a 7bit string or not
    - whether the character set used to express the query text is multi byte or
      not
    
    For use of digests and digest texts, such as:
    - aggregation statistics by digest in the performance schema
    - query match in the query rewrite plugin
    - query match in the firewall plugin
    the code fails to identify similar queries,
    because of the difference in computed digest.
    
    With this fix, both tokens:
    - IDENT
    - IDENT_QUOTED
    are reduced to the same value, and printed the same way,
    so that digests and digests texts are the same for similar queries.

commit 0bbbfc71f5779637b27be205dd0844747e8ebc94
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed May 13 09:22:58 2015 +0200

    Post push cleanup

commit 9ad98fb1aaee379cdc703b9604822e44189db2c5
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Wed May 13 12:00:17 2015 +0530

    PB2 failures (valgrind and result mismatch) fixes.

commit 44c2eaa7ffb9ecb0ed7bfb4f379a58d82f64f4da
Author: Allen Lai <zheng.lai@oracle.com>
Date:   Wed May 13 12:24:34 2015 +0800

    Follow up patch of bug20734998 for fixing Werror failure.

commit 9d6810d6365e77bcac3c134b15f62e6df7791128
Merge: db50709 471635d
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed May 13 05:20:56 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 471635d5680da7fe1b9b35c25c6f827adf07138f
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed May 13 05:09:54 2015 +0200

    Bug#20738072 CRASH ON STARTUP WITH MAX-DIGEST-LENGTH OF >=420K
    
    Fix skip test count, pfs_misc-t.

commit db507092dc6932eb6bc004d545128e7db2a4ccca
Merge: c8565bb 58d7fc6
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed May 13 05:15:36 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 58d7fc6a7e7e29a0df611769ec99895762110535
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed May 13 05:09:54 2015 +0200

    Bug#20738072 CRASH ON STARTUP WITH MAX-DIGEST-LENGTH OF >=420K
    
    Fix skip test count, pfs_misc-t.

commit c8565bbbdcffa75619c972e9f6c67b741f8abbd3
Merge: bf14191 3aabeae
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Tue May 12 21:48:23 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3aabeae03faa152fd2533940343ec17a3b7f7b56
Merge: cf6b425 49c3c54
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Tue May 12 20:42:47 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 49c3c543e755dc963d277fc9ccbde9d9a805807e
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Tue May 12 20:27:26 2015 +0530

    Bug #18075170 SQL NODE RESTART REQUIRED TO
    AVOID DEADLOCK AFTER RESTORE
    
    Test Failure Fix.

commit bf1419165ad8bb82bf36f7274a1259c3893e221d
Author: Hemant Dangi <hemant.dangi@oracle.com>
Date:   Tue May 12 19:21:09 2015 +0530

    Bug#20980885: ENSURE THAT START/STOP GROUP REPLICATION ALWAYS REQUIRE SUPER PRIVILEGE
    
    Group replication commands:
    - START GROUP_REPLICATION
    - STOP GROUP_REPLICATION
    doesn't require super privilege to be executed, which could be a issue in some situations.
    Only a user with super privilege should have the permission to start and stop group replication.

commit 464b5f981add1ea3729dd3dbfae238c2f4b67bd3
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue May 12 13:38:44 2015 +0200

    Partial backport from mysql-trunk to mysql.5.7 of
    Bug#21041451: ENABLE AND FIX ADDITONAL WARNINGS REPORTED BY CLANG
    in order to fix Clang 3.4 warnings in release build.
    No new warning options are added in the backport.

commit 0b9d1a15b03e98857f2d65bbd87496482be9bf43
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue May 12 12:59:08 2015 +0200

    Bug#21074358: SOME NEW 5.7 SOURCE FILES ARE D0S FORMATTED
    
    Convert
       client/check/mysqlcheck.h
       client/check/mysqlcheck_core.cc
       client/upgrade/mysql_query_runner.cc
       client/upgrade/mysql_query_runner.h
       client/upgrade/program.cc
       client/upgrade/show_variable_query_extractor.cc
       client/upgrade/show_variable_query_extractor.h
    to use UNIX line endings. This makes them consistent with the
    rest of the code base and makes it easier to apply GIT patches
    to them.

commit d279f3f6b952b441515ce6af86cf118e018e82b0
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue May 12 15:02:57 2015 +0200

    Bug #17818062       PERFORMANCE SCHEMA, ISSUE WITH UPPERCASE ROUTINES NAMES, PERFSCHEMA.MISC FAILS
    
    Post push fix: gtest based unit tests failed to link, with
    "multiple definition of `system_charset_info'"

commit a245a5052d64da8fdf04d6e850034ea05a61417b
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Tue May 12 17:53:03 2015 +0530

    Bug #17818062 	PERFORMANCE SCHEMA, ISSUE WITH UPPERCASE ROUTINES NAMES, PERFSCHEMA.MISC FAILS
    
    Before this fix:
     key generation for program hash was case sensitive and it uses
     object_name/schema_name for key generation. On windows,
     lower_case_table_names was ON and on Linux it was OFF by
     default. So causing inconsistency on key generation for
     stored programs.
    
    After this fix:
     Key generation has been made case insensitive i.e. object/schema_name
     are converted to lowercase before being used for key generation for
     stored programs.

commit f18b6e969c4a40f52307c3f794956c219f87d92a
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Tue May 12 12:07:14 2015 +0200

    Bug#17832047: Crash in calculate_materialization_costs
    
    The problem occurs because we attempt to access an array inside
    the executor using a wrong index. The index is calculated based
    on table number, but the table number is incorrect after a
    semi-join materialization. This is due to the column in question
    being wrapped inside an Item_cache object, which does not have
    functionality for Item::fix_after_pullout().
    
    The fix is to create an implementation of Item::fix_after_pullout()
    for class Item_cache that goes down into member "example" if it is
    non-null.

commit a767e483e9496e8427d50f59dfa4842d4895e08a
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Mar 3 11:08:56 2015 +0100

    Added openssl multithreading to client.

commit 48acaa86187d766e08275ce909ad67f5108a1f48
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Fri May 8 15:45:15 2015 +0200

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

commit d0cb63df6564a17f9b1babf356b173c820454050
Author: Allen.Lai <zheng.lai@oracle.com>
Date:   Tue May 12 16:06:50 2015 +0800

    Bug#20734998 FAILING ASSERTION: !CURSOR->INDEX->IS_COMMITTED()
    
    This bug is caused by a wrongly undel-marked rec in rollback.
    The solution in this fix is, we need to skip undo those unmodified
    spatial index recs, since they're not modified yet.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    RB: 8802

commit f00e2cedf4b40e0cc5941e3e11ad06087568ae71
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue May 12 09:25:49 2015 +0200

    Bug #21047137 REMOVE -GCC FROM NAME OF SOLARIS PACKAGES/TARBALLS
    
      Just remove the few lines that append -gcc to the generated package name
    
      Sys QA alterted, apparently not affected. RE will need to update one
      script before next 5.7 release. No other impact expected.

commit 2932b562c764f42380c2c1b73377fa2871ae34f5
Merge: d286e46 cf6b425
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue May 12 10:36:52 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit cf6b425bf5d87db9cd75d539ffdaf5d513e367dd
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Wed May 6 17:16:39 2015 +0530

    Bug#19316063: MAKE MTS WORK WITH RELAY_LOG_RECOVERY=1 WHEN
    GTID IS ENABLED
    
    Analysis:
    ========
    When GTID is enabled, MTS don't need to care about gaps.
    
    If the auto position replication protocol is enabled, it
    will make dump thread handle all of the gaps on master side.
    
    If the auto position replication protocol is not enabled,
    the dump thread will start replicating from the first gap
    and the GTID auto skip feature will make sure that the
    already applied transactions will not be applied twice.
    
    Fix:
    ===
    During relay log recovery process check if GTID mode is
    enabled or not. If enabled reset the MTS recovery process
    so that GTID protocol can fill the MTS gaps.

commit d286e4643815ae293fb7afb89945186a6d20ed8b
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue May 12 08:17:17 2015 +0530

    Bug# 19823076 : READ OF FREED MEMORY IN MY_MB_WC_SJIS WITH
                    SOUNDS LIKE OPERATOR IN SUBQUERY
    
    ISSUE:
    ------
    A correlated subquery with a having clause in the inner
    query, that refers to a column in the select-list of the
    outer query should return an error.
    
    SOLUTION:
    ---------
    
    The column in the inner query is incorrectly resolved to
    a column in the select-list. This happens because
    Item_ref::fix_fields and Item_field::fix_outer_field looks
    to resolve the column in the outer context's select-list.
    In this case, since the inner query is located in the outer
    query's where-clause, the resolution should happen in the
    from-list. The parsing_place flag needs to be taken into
    account before an attempt at resolution is made.
    
    Alias from select list can be referred from only having,
    group by and order by.

commit f8095e8c3af895b74f03d009457b104f4192a15f
Merge: 63ff4bb 15b2ac9
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Tue May 12 03:29:03 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 63ff4bbdcb099530552b0c05eb57c8d5d9265214
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Tue May 12 03:21:45 2015 +0200

    Bug#20738072 CRASH ON STARTUP WITH MAX-DIGEST-LENGTH OF >=420K
    
    Fix unit test count, pfs_misc-t.

commit 15b2ac9386cf5f0736238baa0d8f479ff57f1da9
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Tue May 12 03:21:45 2015 +0200

    Bug#20738072 CRASH ON STARTUP WITH MAX-DIGEST-LENGTH OF >=420K
    
    Fix unit test count, pfs_misc-t.

commit 095db8d047a344fefa9397f8eff26b1d57d67a55
Author: Luis Soares <luis.soares@oracle.com>
Date:   Mon May 11 22:16:26 2015 +0100

    BUG#20743468: ASSERTION `OLD_VALUE >= 1' FAILED. | ABORT (SIG=6) IN GTID_STATE::END_ANONYMOUS_
    BUG#20748502: ASSERTION `THD->VARIABLES.GTID_NEXT.TYPE== ANONYMOUS_GROUP' FAILED.
    
    With the binary log turned off, the server, due to a combination of
    statements (which included a BINLOG statement executing an
    Format_description_log_event), would hit an assertion. The reason is
    that the server would incorrectly run the routine to handle the end of
    a gtid violating transaction. Incorrectly, since the binary log is
    disabled, the transaction should not have been handled as an offending
    transaction.
    
    In a nutshell:
    
    - One transaction got flagged as GTID-violation, even though it
      should not since the binary log was disabled. The flag was not
      cleared at the end of the transaction;
    
    - BINLOG statement changed GTID_NEXT to ANONYMOUS for the next
      transaction to be executed;
    
    - The second transaction had the GTID-violation flag set and
      GTID_NEXT set to anonymous when it ended. This triggered an assertion
      when decreasing the counter of GTID-violation transactions.
    
    This patch extends the condition that makes the
    is_ddl/dml_gtid_compatible skip the compatibility testing. It now
    checks if the binary log is open or not (in addition to checking if
    the user has temporarily disabled it). If it not open, then the
    compatibility checks are skipped. This makes the server not activate
    flags that would then trigger the incorrect run of the routine to
    handle gtid violating transactions, ultimately resulting in an
    assertion.
    
    Added test cases.
    
    This patch also fixes the assert observed on BUG#20748502 .

commit 12943a84d834cb66b89c90a2a98561f0cb7d9990
Merge: 41af03c 4945eaf
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Mon May 11 20:17:22 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 41af03c409218763fa978f82449f8a65650950ba
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Mon May 11 16:50:25 2015 +0200

    Bug#20738072 CRASH ON STARTUP WITH MAX-DIGEST-LENGTH OF >=420K
    
    Fix unit test.

commit 06df22c93a4dabf2c34703f263a7b39e8942f1ba
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Mon May 11 18:17:44 2015 +0200

    WL#7589: Updated the README file.

commit 4945eafe6724cdda46612e5b35719aa231e7ec51
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Mon May 11 16:50:25 2015 +0200

    Bug#20738072 CRASH ON STARTUP WITH MAX-DIGEST-LENGTH OF >=420K
    
    Fix unit test.

commit 76a53adf909800dab62d16ca7fe142509e18e224
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Mon May 11 13:51:05 2015 +0200

    Bug#20753620: DBUG: DICT_LOAD_FOREIGN, HA_INNOPART::CHECK,
    HA_INNOPART::CREATE_NEW_PARTITION
    
    Missing DBUG_RETURN after DBUG_ENTER was called in
    function.
    
    rb#8446 approved by Kevin.

commit 1d418d6a877297c94778f46459bbbb395204f59e
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon May 11 15:54:16 2015 +0200

    Silence rpl.rpl_xa_survive_crash_debug in Valgrind
    
    Test takes too much time and creates trouble for daily runs.
    
    Patch approved by Jon Olav Hauglid <jon.hauglid@oracle.com> over IM.

commit c865f5df5ade528483ea7d8269a4ac21570d9ac8
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon May 11 17:41:14 2015 +0530

    Bug#21021894 : UNHELPFUL ERROR FOR MYSQL_SSL_RSA_SETUP WHEN DATADIR DOESN'T EXIST
    
    Post push fix : Fixing a platform specific test issue.

commit 84c2a226bb297183e7e513923de600c30f11296d
Author: Ajo Robert <ajo.robert@oracle.com>
Date:   Mon May 11 16:05:50 2015 +0530

    Bug #18075170 SQL NODE RESTART REQUIRED TO
    AVOID DEADLOCK AFTER RESTORE
    
    Analysis
    --------
    Accessing the restored NDB table in an active multi-statement
    transaction was resulting in deadlock found error.
    
    MySQL Server needs to discover metadata of NDB table from
    data nodes after table is restored from backup. Metadata
    discovery happens on the first access to restored table.
    Current code mandates this statement to be the first one
    in the transaction. This is because discover needs exclusive
    metadata lock on the table. Lock upgrade at this point can
    lead to MDL deadlock and the code was written at the time
    when MDL deadlock detector was not present. In case when
    discovery attempted in the statement other than the first
    one in transaction ER_LOCK_DEADLOCK error is reported
    pessimistically.
    
    Fix:
    ---
    Removed the constraint as any potential deadlock will be
    handled by deadlock detector. Also changed code in discover
    to keep metadata locks of active transaction.
    
    Same issue was present in table auto repair scenario. Same
    fix is added in repair path also.

commit 7ea4d94bc97eaa1747e201e4830fceae3f82d8c7
Author: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Mon May 11 15:55:38 2015 +0530

    Bug#21021754 - OPTION FOR MAX_STATEMENT_TIME IS MISSING
    
    Issues here is, option to set max_statement_time from
    server command line is missing.
    
    Modified code to set max_statement_time from command line.

commit 374eebdb970402e40a70dfda640907f844cca10c
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon May 11 12:59:38 2015 +0530

    Bug#20963082 : AUTO_GENERATE_CERTS PREREQUISITE TESTING NOT CORRECT
    
    Post push fix : Fixing test timeout issue.

commit 485486212e81d6698445d6618414d897a0e8b163
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Mon May 11 09:54:35 2015 +0530

    BUG#20921940 DEBUG ONLY-CODE MAY HAVE SIDE EFFECTS IN HA_INNOBASE::
    
    Problem :
    ---------
    Debug only code sets m_prebuilt, which may alter the behavior from
    non-debug builds.
    
    Solution :
    ----------
    Don't use m_prebuilt to store intermediate value in debug-only code.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 8870

commit 8a5aad728f93d6fb7a154b1b63d8232aed670ce3
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Mon May 11 08:55:25 2015 +0530

    - Bug#21046781: WHILE TRUNCATE UNDO-TABLESPACE FILE COULD BE CLOSED IN BACKGROUND
    
      If number of undo-logs < undo-tablespaces then few trailing undo-tablespaces
      are not made active (and in turn are no open). "undo-truncate" logic was even
      considering these un-opened tablespaces for truncate which lead to an assert.
      Fixed by keeping track of number of active undo tablespaces.
    
      Reviewed by: Sunny Bains (sunny.bains@oracle.com)
      RB:8447

commit bf09476d3b1160e750a3479153be9737db662a00
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Mon May 11 09:13:02 2015 +0800

    BUG#21041449 ASSERT IN I_INNODB.INNODB_BUG16244691
    
    It's a regression of BUG#20926253 VALGRIND FAILURE IN INNODB
    .ALTER_MISSING_TABLESPACE(rb#8717).
    
    We allocated space from table heap in dict_load_foreign, but didn't
    add the length to dict_sys->size.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 8850

commit fbcb0e94c45ec5d9fa0d9f0261fcdbbd4a5944c6
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Sun May 10 03:10:29 2015 +0200

    Bug#20738072 CRASH ON STARTUP WITH MAX-DIGEST-LENGTH OF >=420K
    
    Resolve compiler warnings.

commit 715da5602fbd1f60f5d223c1db7aa1af167b03c5
Author: Aditya A <aditya.a@oracle.com>
Date:   Sat May 9 20:14:55 2015 +0530

    Bug #20445525	ADD A CONSISTENCY CHECK AGAINST DB_TRX_ID BEING IN THE FUTURE
    
    PROBLEM
    
    There was no assertion or warning message of corruption being
    displayed to the user if the DB_TRX_ID stored in the record
    was set greater than max_trx_id.
    
    FIX
    
    Print a warning mesasge to the user in release build and a assert
    in debug build if trx_id is greater than max_trx_id

commit cecc9cb360b92a9dcec1438459bad7a272c171c1
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Sat May 9 14:02:53 2015 +0530

    Bug #19138298 RECORD IN INDEX WAS NOT FOUND ON ROLLBACK, TRYING TO INSERT
    
    Scenario:
    
    1. The purge thread takes an undo log record and parses it and forms
       the record to be purged. We have the primary and secondary keys
       to locate the actual records.
    2. Using the secondary index key, we search in the secondary index.
       One record is found.
    3. Then it is checked if this record can be purged.  The answer is we
       can purge this record.  To determine this we look up the clustered
       index record.  Either there is no corresponding clustered index
       record, or the matching clustered index record is delete marked.
    4. Then we check whether the secondary index record is delete marked.
       We find that it is not delete marked.  We report warning in optimized
       build and assert in debug build.
    
    Problem:
    
    In step 3, we report that the record is purgeable even though it is
    not delete marked.  This is because of inconsistency between the
    following members of purge_node_t structure - found_clust, ref and pcur.
    
    Solution:
    
    In the row_purge_reposition_pcur(), if the persistent cursor restore
    fails, then reset the purge_node_t->found_clust member.  This will
    keep the members of purge_node_t structure in a consistent state.
    
    rb#8813 approved by Marko.

commit 2014a98200a9b841e158566397d6f98e86cd9021
Merge: 761ba1f 17a69ab
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Sat May 9 13:58:14 2015 +0530

    Bug #19138298 RECORD IN INDEX WAS NOT FOUND ON ROLLBACK, TRYING TO INSERT
    
    Null merge from mysql-5.6 to mysql-5.7

commit 17a69ab5bccd783f7a6bfaf5ddd5ef4f8a612fae
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Sat May 9 13:38:32 2015 +0530

    Bug #19138298 RECORD IN INDEX WAS NOT FOUND ON ROLLBACK, TRYING TO INSERT
    
    Scenario:
    
    1. The purge thread takes an undo log record and parses it and forms
       the record to be purged. We have the primary and secondary keys
       to locate the actual records.
    2. Using the secondary index key, we search in the secondary index.
       One record is found.
    3. Then it is checked if this record can be purged.  The answer is we
       can purge this record.  To determine this we look up the clustered
       index record.  Either there is no corresponding clustered index
       record, or the matching clustered index record is delete marked.
    4. Then we check whether the secondary index record is delete marked.
       We find that it is not delete marked.  We report warning in optimized
       build and assert in debug build.
    
    Problem:
    
    In step 3, we report that the record is purgeable even though it is
    not delete marked.  This is because of inconsistency between the
    following members of purge_node_t structure - found_clust, ref and pcur.
    
    Solution:
    
    In the row_purge_reposition_pcur(), if the persistent cursor restore
    fails, then reset the purge_node_t->found_clust member.  This will
    keep the members of purge_node_t structure in a consistent state.
    
    rb#8813 approved by Marko.

commit 761ba1fc6532b900d9bc4328f3cd2336ecd9c8dd
Merge: d739910 4989847
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Sat May 9 13:27:21 2015 +0530

    Bug #19138298 RECORD IN INDEX WAS NOT FOUND ON ROLLBACK, TRYING TO INSERT
    
    Null merge from mysql-5.6 to mysql-5.7

commit 49898471457c79eb10f10ef167480338b954e190
Merge: 6d69e63 7af2bc7
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Sat May 9 13:25:54 2015 +0530

    Bug #19138298 RECORD IN INDEX WAS NOT FOUND ON ROLLBACK, TRYING TO INSERT
    
    Null merge from mysql-5.5 to mysql-5.6

commit 7af2bc729cd22bcbc2dc133d33dcbafdf1717658
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Sat May 9 13:24:01 2015 +0530

    Bug #19138298 RECORD IN INDEX WAS NOT FOUND ON ROLLBACK, TRYING TO INSERT
    
    Scenario:
    
    1. The purge thread takes an undo log record and parses it and forms
       the record to be purged. We have the primary and secondary keys
       to locate the actual records.
    2. Using the secondary index key, we search in the secondary index.
       One record is found.
    3. Then it is checked if this record can be purged.  The answer is we
       can purge this record.  To determine this we look up the clustered
       index record.  Either there is no corresponding clustered index
       record, or the matching clustered index record is delete marked.
    4. Then we check whether the secondary index record is delete marked.
       We find that it is not delete marked.  We report warning in optimized
       build and assert in debug build.
    
    Problem:
    
    In step 3, we report that the record is purgeable even though it is
    not delete marked.  This is because of inconsistency between the
    following members of purge_node_t structure - found_clust, ref and pcur.
    
    Solution:
    
    In the row_purge_reposition_pcur(), if the persistent cursor restore
    fails, then reset the purge_node_t->found_clust member.  This will
    keep the members of purge_node_t structure in a consistent state.
    
    rb#8813 approved by Marko.

commit d7399104dfe992653161842fee96ad532af10877
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Sat May 9 05:03:25 2015 +0200

    Bug#20738072 CRASH ON STARTUP WITH MAX-DIGEST-LENGTH OF >=420K
    
    Check for multiplication overflow before allocating Performance Schema arrays during server initialization.

commit 9826852fc305e274f96ed108730d56e01e1c29f3
Merge: 6886917 6d69e63
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Sat May 9 04:52:02 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	sql/sql_class.h
    	storage/perfschema/pfs_account.cc
    	storage/perfschema/pfs_con_slice.cc
    	storage/perfschema/pfs_digest.cc
    	storage/perfschema/pfs_events_stages.cc
    	storage/perfschema/pfs_events_statements.cc
    	storage/perfschema/pfs_events_waits.cc
    	storage/perfschema/pfs_global.h
    	storage/perfschema/pfs_host.cc
    	storage/perfschema/pfs_instr.cc
    	storage/perfschema/pfs_instr.h
    	storage/perfschema/pfs_instr_class.cc
    	storage/perfschema/pfs_setup_actor.cc
    	storage/perfschema/pfs_setup_object.cc
    	storage/perfschema/pfs_user.cc

commit 68869178079fbd01c019435e28d9fc797b9314a9
Author: Haixiang Li <haixiang.li@oracle.com>
Date:   Sat May 9 03:55:10 2015 +0200

    Bug#20835095 CRASH AT CREATE_REF_FOR_KEY IN SQL/SQL_SELECT.CC
    
    Description:
    ------------
    After bug#19695490 was fixed, a special case missed, that leads to this bug.
    
    For a VARCHAR type, if MySQL uses it as a key of temp table, MySQL will add
    HA_KEY_BLOB_LENGTH to the store length in order to calculate the key length
    in init_from_field(), so we add HA_KEY_BLOB_LENGTH to the length of a
    possible index to prevent the optimizer to use to materialized lookup.
    If we don't do this, MySQL would triggers an assertion, which was added in
    bug#19695490.
    
    Fix:
    ----
    Add HA_KEY_BLOB_LENGTH to 'lookup_index_length' in order to get the right
    index length in semijoin_types_allow_materialization() when the field is
    VARCHAR, BLOB or GEOMETRY.
    
    Test case added.

commit 6d69e63fe09d326797f850734d736da9d3def58a
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Sat May 9 03:22:39 2015 +0200

    Bug#20738072 CRASH ON STARTUP WITH MAX-DIGEST-LENGTH OF >=420K
    
    Check for multiplication overflow before allocating Performance Schema arrays during server initialization.

commit 505f7bfab99a4f04465bd9d51fbe8d5f1af1338d
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Fri May 8 23:39:30 2015 +0200

    Bug#20980217 - TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE DOES NOT SHOW CORRECT INDEX NAMES
    
    Regression from  WL#7698 - REDUCE MEMORY USAGE FOR TABLE IO/LOCK.
    Create index stat entries during CREATE/ALTER TABLE.

commit 9d8e02257d1493baf2f6bd22d0aacb95d0e316e7
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri May 8 18:30:53 2015 +0530

    Bug#20923066: SSL AND RSA KEY MATERIAL EXPIRATION SHOULD BE EXTENDED
    
    Description : Validity of X509 certificates generated through option
                  --auto_generate_certs is 1 year. This is too short and
                  may create surprises for users at the end of validity
                  period.
    
    Solution : Extending certificate validity to 10 years. This is inline
               with certificates generated by mysql_ssl_rsa_setup.
    
    Reviewed-By: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    Reviewed-By: Georgi Kodinov <Georgi.Kodinov@Oracle.com>

commit bece62f4c251d9e20381145fc19bb66ba2ef3132
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Apr 21 10:03:14 2015 +0200

    Corrected validate_password_strength and export_set functions

commit c0030e892f00d56ec6c4c7f99d4e0f39b199720a
Merge: 3748e6d b1a2619
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri May 8 12:57:44 2015 +0100

    Merge post push fix from 'mysql-5.6' into mysql-5.7
    
    Fixed also an issue with rpl_multi_source_init_failure test case.

commit b1a2619292078d06ed0c8037e733dec08125519b
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Thu May 7 01:45:43 2015 +0100

    Post push fix for BUG#18731252
    
    Fixed some issues with rpl_server_uuid test case.

commit 3748e6d56520aed16b12cec339cd9a1317841667
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Fri May 8 09:22:21 2015 +0200

    Bug#21046582 GEOMETRYCOLLECTION COLUMNS CAN'T STORE SUBTYPES
    
    Problem: A GEOMETRYCOLLECTION column should be able to store
    MULTIPOINT, MULTILINESTRING and MULTIPOLYGON values, but they are
    rejected as invalid.
    
    The restrictions were introduced by the fix for bug #19593342.
    
    Fix: In Geometry_well_formed_checker::on_wkb_start(), allow subclasses
    of GEOMETRYCOLLECTION to pass.

commit 225091c0a9684c9ac91717caf70d2171956853b6
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri May 8 16:31:07 2015 +0530

    Bug#20963082 : AUTO_GENERATE_CERTS PREREQUISITE TESTING NOT CORRECT
    
    Post push fix : Fixing a typo in message related to auto detection.

commit cb5b0d548d89c7bf2fd7b3e9f7730296bcbd6f4a
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Fri May 8 16:15:05 2015 +0530

    Fix for PB2 test failure.

commit 51ff683769bdabe83336cdec102bc885944fd18a
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri May 8 15:54:33 2015 +0530

    Bug#20963082 : AUTO_GENERATE_CERTS PREREQUISITE TESTING NOT CORRECT
    
    Description : If --auto_generate_certs is set to TRUE, X509
                  certificates should be generated if and only
                  if none of the following artifacts are present
                  in data directory:
                  1. ca.pem
                  2. server-cert.pem
                  3. server-key.pem
    
                  However, at present, automatic generation is
                  skipped when all of the above mentioned files
                  are missing.
    
    Solution : Skip automatic generation if one or more of above
               mentioned files are present in data directory.
    
    Reviewed-By: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    Reviewed-By: Georgi Kodinov <Georgi.Kodinov@Oracle.com>

commit 9a8f39b0c07763978238faaeb33507f7e8e4fedb
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Fri May 8 12:56:48 2015 +0530

     - Bug#21053486: TRUNCATE_RECOVER FAILING IN MYSQL-TRUNK
    
       While recovering undo tablespace from crash during truncate
       of undo-tablespace, undo-tablespace is re-created and pages
       for it are written/flush to disk immediately.
    
       Flush to disk logic regressed after introducing observer
       in trx object which was not initialized in the path mentioned
       above which caused non-flushing of undo-tablespace and related
       metadata.
    
       trx object is not needed while force flushing undo-tablespace
       during recovery so removed requirement for the same and
       now started passing NULL.
    
       Approved by: Sunny Bains (sunny.bains@oracle.com)
       RB: over IM

commit 59be02af881baf1296e9063e894ad0259edfa486
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri May 8 12:18:57 2015 +0530

    Bug#21021894 : UNHELPFUL ERROR FOR MYSQL_SSL_RSA_SETUP WHEN DATADIR DOESN'T EXIST
    
    Description : In case of invalid/inaccessible directory
                  pointed by --datadir, mysql_ssl_rsa_setup
                  throws error with text "Failed to normalize
                  the argument for --datadir". This is not
                  very helpful.
    
    Solution : Modified error message to display possible
               reasons for the error.
    
    Reviewed-By: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    Reviewed-By: Georgi Kodinov <Georgi.Kodinov@Oracle.com>

commit 8a09e67129ece23a10262a470b5b53bbce771dca
Author: Praveenkumar.Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Fri May 8 11:08:17 2015 +0530

    Bug#20705648 - max_statement_time leaks memory on windows
    Bug#20705642 - max_statement_time: assertion failed: pending || thd_timer->thread_id
    
    Description:
    -------------
    Both of these issues are related to deletion of timer from the
    Timer-queue.
    
    Issue in bug20705648 is, the timer object created in windows is
    not deleted after the timer expiration. Hence memory leak is seen
    on the windows.
    
    Issue in bug20705642 is, the timer reset operation sets state of
    timer as "not expired" when the timer is already expired and the
    callback function execution of it is completed. This is resulting
    in the assert condition failure.
    
    Analysis:
    -------------
    In the current code, for the set timer operation new Timer-queue
    timer is created. For timer cancel and destroy operations, timer
    -queue timer is deleted from the Timer-queue. But when timer is
    expired, assumption was timers of type "WT_EXECUTEONLYONCE" are
    deleted. But these timer objects are not delete from Timer-queue
    on expiration. Hence the memory leak is observed in the current
    code.
    
    The windows API to delete timer-queue timer,
    
        1 Fails when timer is expired or callback function is in
          execution.
    
        2 Succeeds when timer is *not* expired.
    
        3 Succeeds when timer is expired and callback function
          execution is completed.
    
    In the current code, case 1 and 2 are handled properly but
    case 3 is not handled. Because of which windows timer reset operation
    returns timer state as not expired. If timer is not expired then
    non zero thread_id value is expected (as notify function for timer
    expiration is not called) in reset timer code. Assert condition to
    check the same fails in debug build because of not handling
    condition 3. In non-debug build, timer object is just set for the
    reuse.
    
    Fix:
    ------
    To fix memory leak, if timer is expired then deleting it from the
    queue on next timer set or timer destroy operations.
    
    To fix assert issues, new timer_state member is introduced in the
    my_timer for windows.
    
    timer_state is set to "TIMER_SET" in timer set operation and
    in timer_callback  to "TIMER_EXPIRED".
    
    With timer_state, setting timer expired/not expired state in
    timer reset operation is handled as below,
    
    Timer reset operation (my_timer_cancel()):
      Windows API DeleteTimerQueueTimer is used to delete m
      the timer queue. This API,
    
      * Succeeds when timer is *not* expired.
          state is set to *not expired* as timer_state is TIMER_SET.
    
      * Succeeds when timer is expired and callback function
        execution is completed.
          state is set to *expired* as timer_state is TIMER_EXPIRED.
    
      *  *Fails* when timer is expired or callback function is in
         execution.
           state is set to *expired*.
           timer_state value is *not* checked in this case.
    
    So to fix assert condition failure, "timer_state" value is
    checked to set timer expired or non expired state. Now if
    timer cancellation is called after timer callback execution
    then "expired" state is returned.
    
    Testing:
    --------
    Without patch, memory leak of around 400kb/sec is observed with
    mysqlslap.exe -hlocalhost --number-of-queries=10000000000 --query="select
    max_statement_time=1 sleep(rand()) ;" --iterations=1000000
    --create-schema=test
    
    With patch no memory leak or crash is observed,
    \bin>time
    The current time is: 11:21:03.07
    Enter the new time:
    
    \bin>tasklist /FI "IMAGENAME eq mysqld.exe"
    
    Image Name                     PID Session Name        Session#    Mem Usage
    ========================= ======== ================ =========== ============
    mysqld.exe                   11304 RDP-Tcp#28                 2    119,244 K
    
    \bin>time
    The current time is: 11:28:35.59
    Enter the new time: .
    
    \bin>tasklist /FI "IMAGENAME eq mysqld.exe"
    
    Image Name                     PID Session Name        Session#    Mem Usage
    ========================= ======== ================ =========== ============
    mysqld.exe                   11304 RDP-Tcp#28                 2    119,244 K

commit 8519b89eec7078fdcc90c0c9d86bed3eb05c849b
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Thu May 7 18:06:39 2015 +0200

    Bug#20996273 ALTER USER REWRITE CAUSES DIFFERENCES ON SLAVE
    
    Problem:
    ACCOUNT UNLOCK clause has been always rewritten as the result of the ALTER USER query. This happened even it has not been explicitly used in the original query. This caused every locked user to unlock after execution of the ALTER USER.
    
    Solution:
    ACCOUNT LOCK|UNLOCK is rewritten for the ALTER USER query only if it has been explicitly used in the query.
    
    Reviewed by:
    Bharathy Satish <bharathy.x.satish@oracle.com>
    Robert Golebiowski <robert.golebiowski@oracle.com>

commit 44c83be0c63f0b831eb92ff345fb7a397c57eaa9
Author: Sreedhar.S <sreedhar.sreedhargadda@oracle.com>
Date:   Thu May 7 21:33:38 2015 +0530

    Fix to remove data dir reference

commit 897a5b86cfed8b69bbe6c22db9ab82424ef8ad86
Author: David Zhao <david.zhao@oracle.com>
Date:   Thu May 7 17:18:29 2015 +0800

    Bug#20379981 ST_CONTAINS(GEOMETRYCOLLECTION(POLY,POLY), LINESTRING) RETURNS WRONG RESULT
    
    Follow-up fix:
    1. Update result of a neglected test file;
    2. Eliminate literal differences between osx10.8-x86-64bit and the rest
    platforms in result of spatial_analysis_functions_buffer.test

commit 66060daf66a6875961341aa2b04f484f278e6124
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Thu May 7 11:16:58 2015 +0200

    Bug#20987568 - INCREASE STOP TIMEOUT OF COMMUNITY RPM SHUTDOWN SCRIPT /ETC/INIT.D/MYSQLD

commit f461d16f4f2a98fc12f41ffa3c1ad34d626c5e99
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Thu May 7 14:39:15 2015 +0530

    - Bug#21046968 : POSSIBLE RACE IN THE TRUNCATE CODE
    
      - While truncating tablespace, if tablespace is not open
        then truncate will try to open it before executing actual
        truncate operation.
    
      - Opening of tablespace is done in protected mode using fil_system->mutex.
        But closing of tablespace (if opened locally by truncate routine)
        was not being done in protected mode. Was done after fil_system->mutex
        was released.
    
      - This could potentially lead to race if system closes the file
        immediately after truncate releases fil_system->mutex.
    
        That would cause attempt to re-close the already closed file.
    
      - Fixed by expanding span of mutex release. Mutex is now released
        after file is closed.
    
      Reviewed by: Marko
      RB: over IM

commit 7942c9d18088d264715463d7d7e21b03fb5e9f51
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue May 5 09:24:17 2015 +0200

    Bug#20918881 CRASH WITH CENTROID - INVALID FREE
    
    Problem: Computing the centroid of a geometry collection containing an
    invalid polygon may crash the server.
    
    When computing the centroid, Item_func_centroid::bg_centroid discovers
    that the input parameter is geometrically invalid and sets null_value
    to true. This causes it to skip the call to post_fix_result(), but it
    still calls bg_resbuf_mgr.set_result_buffer() with the return
    string. The result is that both the string and bg_resbuf_mgr believe
    they have ownership of the memory in question.
    
    Later, when cleaning up, the memory is freed twice.
    
    Fix: Don't call bg_resbuf_mgr.set_result_buffer() when null_value is
    true. Also fix similar cases in
    Item_func_convex_hull::bg_convex_hull().

commit 5e3ec0c468f471e40ff1da8d9110b21e006d0973
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed May 6 11:14:08 2015 +0200

    Bug#20854952 SHOW GLOBAL VARIABLES RETURN WARNING ABOUT SQL_LOG_BIN BEING
    DEPRECATED
    
    Before this fix,
      SELECT @@GLOBAL.SQL_LOG_BIN
    did produce a deprecation warning, as expected.
    
    However,
      SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
    also produced a deprecation warning about SQL_LOG_BIN.
    This warning is causing confusion, and is not desirable.
    
    With this fix,
      SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
    does not produce any warnings caused by the
    deprecation of system variables.

commit 75fbf8b5c4f2ab52f093b23763d247e56427341e
Author: Praveenkumar.Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Thu May 7 12:58:22 2015 +0530

    Bug#21021670 - MISLEADING WARNING WHEN PER-QUERY STATEMENT TIME IS EXCEEDED
    
    Issue here is, error reported on exceeding statement time contains
    session variable "max_statement_time" in it. This error message
    is misleading when max_statement_time is *not* set and timeout
    value is set at statement level.
    
    The timeout value can be set either at session level using
    max_statement_time variable or at statement level. If execution
    of statement takes more than timeout value then following
    error is reported,
    
      "Query execution was interrupted, max_statement_time
      exceeded".
    
    When session variable max_statement_time is not set and timeout
    value is set at statement level then error message with
    max_statement_time in it on timeout is misleading.
    
    Fix:
    Modified error message so that max_statement_time is not used
    in it. Now on error following error message is reported,
    
    "Query execution was interrupted, maximum statement execution time
    exceeded"

commit 462762c2de0f18798f49e83c62225ec023457410
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Thu May 7 11:11:49 2015 +0530

    Bug #20692556 : PREPARED STATEMENTS DO NOT TRACK STATUS LIKE STATISTICS
    
    Issue:
     Execution statistics of prepared statements were not captured correctly.
    
    Fix:
     Adjust code accordingly to capture execution statistics of prepared
     statements.

commit 6361d011931928c9e79bc6844e2a3367c23c0f8f
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Thu May 7 11:11:02 2015 +0530

    - Bug#20023425: EMBEDDED SERVER FAILS TO BOOTSTRAP/START UP WITH
      INNODB_UNDO_TABLESPACES=2
    
      Follow-up consistency fix based on post-fix review comment.

commit ad6514278765f9d900ce88904d80d01f15987ffc
Author: David Zhao <david.zhao@oracle.com>
Date:   Thu May 7 13:36:32 2015 +0800

    Bug#20379981 ST_CONTAINS(GEOMETRYCOLLECTION(POLY,POLY), LINESTRING) RETURNS WRONG RESULT
    
    Follow-up fix:
    1. Make sure geometry collection component merge algorithm can safely end;
    2. Modify buffer test to eliminate tiny differences across platforms;

commit 8c57005543a8399c9d3765cd4ed85300320253ac
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu May 7 08:13:37 2015 +0530

    Bug #20376498: MAX_ALLOWED_PACKET ERROR DESTROYS ORIGINAL
                  DATA
    
    Issue:
    -----
    When a string exceeds the max_allowed_packet size, a null
    value is returned and a warning issued. In an update
    statement, this can result replacing of existing value with
    a null value.
    
    Essentially, resulting in a loss of existing data.
    
    SOLUTION:
    ---------
    An error is thrown if all the below conditions are
    satisfied:
    1) max_allowed_packet is exceeded.
    2) Operation involves a table write.
    3) Strict mode is set.

commit 72544f829c4e26b9a191c5554234e87f8e956e38
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Apr 10 11:59:37 2015 +0100

    BUG#20753463 HANDLE_FATAL_SIGNAL (SIG=11) IN __STRLEN_SSE2_PMINUB ON
                 CHANGE MASTER
    
    A server cannot be configured as a slave when it was started
    with server_id not configured (as the default is 0) or configured
    as 0.
    
    The server was properly working when changes were requested to the
    replication default channel, but was failing if the requested
    change was for other channel than default.
    
    Analysis
    ========
    
    The server behavior previous to multi source replication was:
    
    (a) A slave initialized with "server_id = 0" will not initialize the
        slave and will not allow CHANGE MASTER statements even after
        someone changes @@GLOBAL.server_id to a value greater than 0
        after startup.
    
    (b) A slave initialized with "server_id > 0" will initialize the slave
        and will allow CHANGE MASTER statements even after someone changes
        @@GLOBAL.server_id to 0 after startup.
    
    The multi source replication server was failing by not verifying if the
    slave was initialized properly (server started with server_id > 0) before
    trying to create a new replication channel.
    
    Fix
    ===
    
    Once initialized, a slave server will add the default channel master_info
    into the msr_map. Without having its slave initialized, a server will have
    an empty msr_map (msr_map.get_num_instances() == 0).
    
    The server code already has a 'is_slave_configured()' function that relies
    on the above condition. The change_master_cmd function now verifies if the
    slave was configured before trying to issue the CHANGE MASTER statement.

commit 8a1e15c46826c3178ecdba579f344f7eb6aec6cf
Author: Dmitry Lenev <dmitry.lenev@oracle.com>
Date:   Tue Apr 28 12:51:53 2015 +0300

    Bug#20507804 FAILING ASSERTION: TRX->READ_ONLY && TRX->AUTO_COMMIT && TRX->ISOLATION_LEVEL==1.
    
    Attempts to kill statements using attachable transaction (e.g.
    statements using CONVERT_TZ() function, setting time_zone variable,
    HELP statements) sometimes led to assertion failures/improper
    functioning of further transactions. The same problem might have
    occurred when such statements were aborted due to max_statement_time
    timeout.
    
    The problem occurred when statement was aborted after attachable
    transaction opened and called ha_innobase::external_lock() for some
    tables, but before any data was read from these tables.
    
    Attachable transaction implementation on SQL-layer relied on InnoDB
    to commit transaction implicitly when ha_innobase::external_lock(F_UNLCK)
    is called for last table in the transaction. But InnoDB code in
    ha_innobase::external_lock(F_UNLCK) treated aborted-before-any-read
    transactions as not started and didn't do anything about them.
    OTOH InnoDB transaction was still marked as registered on SQL-layer
    using trx_t::is_registered flag in this case. As result this flag
    was not reset properly when such attachable transaction ended.
    
    Further transactions which tried to reuse the same trx_t object
    (with incorrect trx_t::is_registered flag) behaved wrongly and
    eventually led to assertion failures.
    
    Note that similar problem doesn't occur for statements in auto-commit
    mode which don't use attachable transaction. This is because SQL-layer
    doesn't rely on InnoDB doing commit on last external_lock(F_UNLCK)
    for them. Instead we always call trans_commit_stmt() explicitly.
    This correctly clears trx_t::is_registered flag even though InnoDB
    might think that transaction is not started.
    
    This patch solves the problem by making attachable transactions
    implementation similar to normal statements. Now we call
    trans_commit_stmt() at the end of attachable transactions as well,
    so InnoDB's internal transaction state is reset correctly.

commit 481f95eba6e9147c99ceddac1625956e2fbcea7e
Merge: ec89d74 d51899d
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed May 6 18:41:12 2015 +0100

    Merge fix for BUG#18731252 from 'mysql-5.6' into mysql-5.7

commit ec89d746bbae074e19ab1f34a919d82a2c43341d
Author: David Zhao <david.zhao@oracle.com>
Date:   Wed May 6 22:39:16 2015 +0800

    Bug#20379981 ST_CONTAINS(GEOMETRYCOLLECTION(POLY,POLY), LINESTRING) RETURNS WRONG RESULT
    
    Follow-up fix: the previous patch for this bug turned out to be the last straw
    that made the build on Solaris fail because virtual memory is exhausted when
    building item_geofunc_buffer.cc. The root cause for such failure is not the
    changes made in previous patch for this bug,
    but how we made use of boost::geometry::buffer when implementing ST_Buffer---
    we used boost::variant to hold 5 types of buffer strategies to call different
    versions of boost::geometry::buffer according to the strategy combinations
    without having to enumerate all the combinations.
    Such usage takes much memory to compile the source code.
    
    Now no longer use boost::variant, and dispatch boost::geometry::buffer calls
    according to the strategies specified in an efficient way.
    
    And such a change also fixed an issue:
    
    Before this change, if a type of strategy, e.g. end_strategy,
    isn't specified using st_buffer_strategy() call, and it's useless for the type
    of input argument, the strategies given to boost::geometry::buffer() is not
    what we defined for ST_Buffer.
    
    Taking below query as example:
    
    	ST_Buffer(ST_GeomFromText('Point(0 0)'))
    
    here the end strategy and join strategy applied to boost::geometry::buffer
    is end_round and join_round with a BG internally defined 'points_per_circle'
    value rather than the default value(32) we defined for ST_Buffer.
    
    Although logically it doesn't make sense for the end and join strategies to be
    used in this case, boost::geometry::buffer() does need all strategy arguments
    no matter what type of input geometry is given, and the end/join strategies do
    have effect on the result here, this is determined by how bg::buffer is
    implemented.
    
    Now always use default strategies as defined for the ST_Buffer function if not
    specified explicitly, even if the type of strategy isn't allowed for the type
    of input geometry according to our definition to ST_Buffer.

commit d51899d6cb77ae0dc7e7a349acdbd860ee50f8b1
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Mar 3 18:45:30 2015 +0000

    BUG#18731252 SLAVES WITH SAME SERVER_ID / SERVER_UUID COMPETE FOR
                 MASTER CONNECTION
    
    When two slaves with same UUID are configured to replicate from a
    single master, the I/O thread of the slaves keep reconnecting and
    generating a new relay log files almost without new content.
    
    Analysis:
    
    The master server do not allow two slave connections with same UUID.
    
    Once a new connection is made from a slave with a given UUID, the
    master disconnects the older connection, keeping only one slave
    connection per slave UUID.
    
    On the other side, as the master doesn't report any errors to
    the slave, the I/O thread of the disconnected slave will try to
    reconnect, generating a new relay log file.
    
    Fix:
    
    The master now throws an error to the slave once detecting a
    duplicate UUID. By receiving an error from the master, the I/O
    thread will not try to reconnect anymore.

commit 3e68eab80c8ead46972daa852e40656913fbdfc5
Merge: 9c59931 a5e319a
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed May 6 19:47:49 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    null merge - Fix already present in 5.7

commit a5e319aac2527c5d8e338583732d4fd5f613d21e
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed May 6 17:50:47 2015 +0530

    BUG#20768847 ASSERTION 0 IN HA_INNOBASE::COMMIT_INPLACE_ALTER_TABLE
    
    Problem :
    ---------
    We are incorrectly dropping an index in parent table with foreign key
    dependency. While checking whether it is ok to drop an index, we check
    only the first FK reference to and from other tables. For multiple
    foreign key references the check is insufficient.
    
    Solution :
    ----------
    Loop and check for all foreign key references to and from the table to
    check if it is safe to drop an index.
    
    Reviewed-by: Marko Makela <Marko.Makela@oracle.com>
    
    RB: 8734

commit 9c5993122474497023d16bbd02073e37e28dadef
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Wed May 6 10:26:53 2015 +0200

    Post-push fix for BUG#20470724: SET GTID_PURGED SHOULD NOT ROTATE BINLOG
    
    In Sys_var_gtid_purged::global_update, the two local variables
    current_gtid_executed and current_gtid_lost would be passed to my_free
    without having been initialized in case the Gtid_set constructor
    failed when initializing the local variable gtid_set. This caused
    compilation errors with -Werror, and crash in sys_vars.gtid_purged in
    optimized build. Fixed by initializing the two variables to NULL.

commit 97ac8b3ecaf6c08a52397ddc8db22e222189c911
Author: Benny Wang <benny.wang@oracle.com>
Date:   Wed May 6 11:55:17 2015 +0200

    Fixed Bug#20145024: WRONG RESULT FOR COUNT DISTINCT QUERY IN DERIVED TABLE
    
    This bug is because there is logic error in Item_sum::get_tmp_table_item. It
    should not set 'args' to pointer to the result_field of Item_sum but to its
    own.
    
    Before fixed bug#18766378, the Item_sum->result_field can be reset to NULL.
    This is why the testcase of bug#20145024 went well in mysql-trunk. However,
    after fixed bug#18766378, Item_sum->result_field can't be reset during
    create_tmp_table. After change_refs_to_tmp_fields, the 'args' are repointed
    to Aggregator_distinct::result_field because of the wrong logic. This results
    in this bug.
    
    Solution: Remove the Item_sum::get_tmp_table_item and use the default one.
    This is because all the args of Item_sum are set automatically during
    create_tmp_table. We don't need do this any more like what
    Item_sum::get_tmp_table_item did.

commit f8c6d894b25806c95ba474e3625d3af1fa08e011
Author: Daogang.qu <bill.qu@oracle.com>
Date:   Wed May 6 16:29:25 2015 +0800

    Bug #20592961  'FLUSH LOGS' POST FAULT INJECTION HITS ASSERT `! IS_SET()' AT SQL_ERROR.CC:381 - post fix
    
    The binlog.binlog_check_flush_log_assertion.test is failing with
    valgrind and failing with query 'FLUSH LOGS' succeeded - should
    have failed with errno 1598...
    
    Post-fix: Do not run the test with valgrind, since the server may
    intentionally crash in the test. And handle the successful case
    of 'FLUSH LOGS'.

commit e7edfbef66413b701d2bb773e504f58f6d611496
Merge: d8fe6ee ff00b0f
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed May 6 12:41:02 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	storage/innobase/row/row0import.cc

commit ff00b0f8efe778ef47c160cd7fae7d89885c2b13
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed May 6 12:37:56 2015 +0530

    BUG#20977779 CANNOT IMPORT TABLES CONTAINING PREFIX INDEXES
    
    Problem :
    ---------
    While importing table, we are getting the index columns
    from cfg by name and hence if a column is repeated we get
    the first reference always. If the first and second reference
    has different prefix length, the validation fails.
    
    Solution :
    ----------
    Check all index column in dictionary and cfg one to one. The
    fix expects cfg and dictionary to match exactly.
    
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    
    RB: 8774

commit d8fe6eec154802ba64713ef3081138ce6308b81f
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Wed May 6 11:14:06 2015 +0530

    Bug #20857652 : SERVER CRASHES WITH CREATE/DROP USER
                    STATEMENT WITH A PARTICULAR SEQUENCE
    
    Post push to fix pb2 test case failure.

commit 1dc962d1379e54aad11e534f7f8330dab514e22f
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed May 6 07:13:56 2015 +0200

    Fix to avoid build break
    
    Approved by Mayank Prasad <mayank.prasad> over IM.

commit 77bc261e7b74c9e752074580517ed157e8ec5395
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed May 6 05:38:34 2015 +0200

    Bug#20814280 SEVERAL PERFORMANCE SCHEMA UNIT TESTS FAIL
    
    Build break, compile warnings.
    Modified OOM unit tests to handle the scalable memory changes introduced in 5.7.

commit 331de12651e3e27343e8c25f6390d8ce8b053c07
Author: Christopher Powers <chris.powers@oracle.com>
Date:   Wed May 6 03:36:57 2015 +0200

    Bug#20814280 SEVERAL PERFORMANCE SCHEMA UNIT TESTS FAIL
    
    Modified OOM unit tests to handle the scalable memory changes introduced in 5.7.

commit 79f792d6da354dcc85f079371ed0409ea5bbf817
Author: David.Zhao <david.zhao@oracle.com>
Date:   Wed May 6 08:43:00 2015 +0800

    Bug#20379981 ST_CONTAINS(GEOMETRYCOLLECTION(POLY,POLY), LINESTRING) RETURNS WRONG RESULT
    
    Issue:
    
    The within/contains algorithm for geometry collections can't work correctly
    if in "M within N" check, N is some polygons that touch (do not overlap)
    or some linestrings that touch (do not overlap), and M is a
    [multi]linestring/[multi]polygon that is entirely in multiple components of N.
    
    Fix:
    
    When merging components of a geometry collection(GC), do union to any
    pair of components that intersect, except if one is linear(L) and the other is
    areal(A), and they intersect only finite number of points. That is, if L either
    crosses A or L overlaps the outer ring of A, replace the L and A
    with ((L - A) U A).
    
    In the result of such a merge, the only intersecting components of a GC are
    [multi]linestrings intersecting [multi]polygons at finite number of points,
    all other kinds of intersecting components are merged.
    
    And such a fix also fixes this issue:
    
    ST_CONTAINS(GEOMETRYCOLLECTION(LINESTRING1,LINESTRING2), LINESTRING3)
    
    where LINESTRING1 touches LINESTRING2, and LINESTRING3 is not within
    LINESTRING1 or LINESTRING2 but is is entirely within
    (LINESTRING1 union LINESTRING2).
    
    and it also fixes this issue:
    
    ST_CONTAINS(GEOMETRYCOLLECTION(POLY1,POLY2), POLY3)
    
    where POLY1 touches POLY2, and POLY3 is not within POLY1 or POLY2 but is
    entirely within (POLY1 union POLY2).

commit cd71b45559702af00c2fee3208fe4a56f603a6b1
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue May 5 19:03:56 2015 +0200

    Test cleanup

commit fc3d2b529e9ff1916958961edbdf7cf3b33156f3
Merge: e0d5d04 390aba7
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue May 5 17:35:52 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 390aba7d8f852999abdb2dd3ac2f2861506933a5
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue May 5 17:34:55 2015 +0200

    Test cleanup

commit e0d5d049777ada292d81be2a7818c8742c19755b
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Fri Apr 17 16:37:52 2015 +0200

    BUG#20470724: SET GTID_PURGED SHOULD NOT ROTATE BINLOG
    
    In 5.6, SET GTID_PURGED rotates the binary log and adds GTIDs to the
    Previous_gtids_log_event of the new binary log.  This correctly
    persists GTID_PURGED even in the presence of multiple old binary logs
    because the server scans all binary logs from the oldest to the
    newest, until it finds one that contains either a non-empty
    Previous_gtids_log_event or a Gtid_log_event and then sets GTID_PURGED
    to the set stored in the Previous_gtids_log_event found by this
    procedure.
    
    But scanning old binary log headers can be slow, especially when there
    are many binary logs.  Therefore the option
    binlog_gtid_simple_recovery was introduced, which reads GTID_PURGED
    from the oldest binary log without scanning multiple binary logs.  But
    this option can generate a wrong value for GTID_PURGED in case SET
    GTID_PURGED has been issued.
    
    In 5.7, there is a better way to persist GTID_PURGED, which makes the
    server initialize it correctly even when binlog_gtid_simple_recovery
    is enabled.  Since we store GTIDs in the mysql.gtid_executed table, we
    can just insert the GTIDs in this table.
    
    The present patch implements this and prevents SET GTID_PURGED from
    rotating the binary log.

commit c20ecec2ae3e53935e702393e457c5e8987207c8
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Tue May 5 13:56:39 2015 +0200

    Bug#20748537 INNODB: FAILING ASSERTION: NODE->PCUR->REL_POS == BTR_PCUR_ON
    
    The intention of sql_buffer_results is to store the result into a
    tmp table so that locks are freed early (don't need to wait for client's
    ok).
    Multi-table UPDATE/DELETE don't allow sql_buffer_results as a keyword in the
    query (only SELECT does).
    But buffering can still be requested by setting @@sql_buffer_results; that
    variable is documented to affect only SELECT:
    "If set to 1, sql_buffer_result forces results from SELECT statements
    to be put into temporary tables". I can't imagine what this variable
    would mean for multi-table UPDATE/DELETE. Multi-table DELETE	already
    turns it off.
    We here do the same for multi-table UPDATE. Letting it on caused
    a crash in InnoDB (cursor in an invalid state).

commit 78d7824eb80928ffa19214071c6c3f04a3b677f8
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon May 4 11:35:15 2015 +0200

    BUG#20858778 VALGRIND FAILURE AFTER THE PUSH OF WL#8244
    
    In the test, we use semijoin loosescan; the current value of the key
    is NULL; in that case, _mi_put_key_in_record() turns field's NULL bit
    on and doesn't fill the field's data area of table->record[0].
    key_copy() wants to save this key's value; it sees the NULL bit but
    still copies the data area with get_key_image(), making Valgrind
    complain that the length byte is uninitialized.
    Fix (suggested by Tor): get_key_image() shouldn't need to copy any
    data bytes if field is NULL.
    Bonus: removed unused constructor (Gleb approved).

commit 9294a4969387cd882ef2ae3ee001aed9ecd13616
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue May 5 12:13:56 2015 +0200

    Bugi#20593257 FIREWALL PLUGIN LEAK PINS UNDER SPECIAL CIRCUMSTANCES
    
    If the the information_schema fails during a schema_table_store_record() call
    the Firewall plugin might fail to unpin() an object from the pinbox. This
    supposedly very rare situation might lead to a memory leak or.

commit 11874fa6683c80ec16193c0ccec5ef5409067cd1
Merge: 74f5fc5 a2c3065
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue May 5 12:21:54 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 74f5fc52f5b9e49f819ac14515789111500a0bf0
Merge: a9ad00f 0a3de59
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue May 5 12:21:47 2015 +0200

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit a2c306590b4740010ef14889f7d041250f9e59b1
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue May 5 12:13:56 2015 +0200

    Bugi#20593257 FIREWALL PLUGIN LEAK PINS UNDER SPECIAL CIRCUMSTANCES
    
    If the the information_schema fails during a schema_table_store_record() call
    the Firewall plugin might fail to unpin() an object from the pinbox. This
    supposedly very rare situation might lead to a memory leak or.

commit 0a3de593025c5e5a40fa2d0b0cb4c79bb8bd166a
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue May 5 15:25:15 2015 +0530

    BUG#20949314 PARTITION_HELPER::PH_RND_INIT(BOOL): ASSERTION `0' FAILED
    
    Problem :
    ---------
    During co-related subquery execution, SQL reinitialize scan in subquery
    table multiple times without ending previous scan. This behaviour is
    consistent in previous versions. The debug ASSERTs introduced in 5.7 for
    partitioned table in sequential scan is causing the issue.
    
    Solution :
    ----------
    Close previous open scan on partition in sequential scan init and remove
    the ASSERT.
    
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    
    RB: 8803

commit fbb72f50a1f133e7d4cdcdd0dbd222283a353447
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue May 5 10:58:28 2015 +0200

    Fix firewall_qc broken test case when the FIREWALL_PLUGIN variable isn't set.
    This affected 32bit debian

commit a9ad00f9b0c9690d1172d38a257b3d8d3d380312
Merge: 4c2f933 5b61a2d
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue May 5 11:17:38 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4c2f9330a01e68e88734a01e2d0db072cc2a918f
Merge: 7c666fe 4ce309c
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue May 5 11:07:47 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	mysql-test/r/mysqld--help-notwin.result
    	mysql-test/r/mysqld--help-win.result
    	mysql-test/suite/perfschema/r/sizing_default.result
    	mysql-test/suite/perfschema/r/sizing_high.result
    	mysql-test/suite/perfschema/r/sizing_low.result
    	mysql-test/suite/perfschema/r/sizing_med.result
    	mysql-test/suite/perfschema/r/sizing_off.result
    	sql/mysqld.cc
    	storage/perfschema/pfs_server.h

commit 5b61a2de0fd8ac45c57769b2dfc4990d47df5efb
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue May 5 10:58:28 2015 +0200

    Fix firewall_qc broken test case when the FIREWALL_PLUGIN variable isn't set.
    This affected 32bit debian

commit 7c666fe85c81a9753f8a4e520ad3eb2a4118d9f7
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Apr 29 23:58:43 2015 +0200

    Bug#20963147 DECOUPLE DIGEST SIZE FROM SERVER AND PFS
    
    Before this fix, the server variable 'max_digest_size'
    was used in two places.
    
    1)
    
    During query parsing, the server collects the statement digest text,
    and store the digest in a buffer of size 'max_digest_size'.
    
    Only 1 digest text per session is needed at the same time,
    which limits the memory consumption.
    
    2)
    
    In the performance schema, the digests collected in 1) are
    copied in various tables, and the memory allocated to
    keep digest historical or aggregated data also depends on 'max_digest_size'.
    
    Many digests text per session are preserved at the same time,
    so that the total memory consumption is a multiple of 'max_digest_size',
    making this parameter sensitive.
    
    The problem is that for some deployments,
    namely when using either the firewall plugin or the query rewrite plugin,
    DBA typically need to have at the same time:
    - a big value for 1), to avoid truncation
    - a lower value for 2), to limit memory consumption,
      even if truncations can occur in the recorded performance schema data.
    
    The solution is to keep variable 'max_digest_size' for part 1),
    and create a separate variable 'performance_schema_max_digest_size' for part
    2), so that sizing for the firewall/query rewrite can be independent of the
    performance schema.

commit 7172f8fbefe409c7787b9c21d123eaf2c35f816b
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Tue May 5 11:09:38 2015 +0530

    Bug #20926253 VALGRIND FAILURE IN INNODB.ALTER_MISSING_TABLESPACE
    
    Problem:
    
    Suppose there is a foreign key constraint between two tables - from
    table t1 (child) to table t2 (parent).  If the loading of t2 passed,
    but the loading of table t1 failed, then there was a memory leak
    involving the foreign key constraint object in the dictionary cache.
    
    Solution:
    
    Ensure that the foreign key constraint object is always loaded only
    along with the child table.  There is no need to load the foreign
    key constraint object along with the parent table.
    
    rb#8717 approved by Krunal and Kevin.

commit ac6b5b74d6c4be85c44a4c5d388bf4fbd4081215
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Tue May 5 08:13:06 2015 +0530

    - Bug#20023425: EMBEDDED SERVER FAILS TO BOOTSTRAP/START UP WITH
      INNODB_UNDO_TABLESPACES=2
    
      - innodb_undo_directory had a default value as "." which is represent
        current directory.
      - In embedded mode data-directory is not same as current directory
        of the program and so during embedded mode server may not be able to
        locate undo-tablespace created during initialization.
    
      Fix:
      - Changed default value of innodb_undo_directory to NULL.
      - If it is not set it will be set to default_dir which is data-dir.
      - If it is is set explictly then settings are honored.
    
      Behavior is now consistent with other path too.
    
      Reviewed by: Kevin Lewis (kevin.lewis@oracle.com)
      RB: 8777

commit 4ce309c5f3f082ca1203dd758ecf844b674324f9
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Apr 29 23:58:43 2015 +0200

    Bug#20963147 DECOUPLE DIGEST SIZE FROM SERVER AND PFS
    
    Before this fix, the server variable 'max_digest_size'
    was used in two places.
    
    1)
    
    During query parsing, the server collects the statement digest text,
    and store the digest in a buffer of size 'max_digest_size'.
    
    Only 1 digest text per session is needed at the same time,
    which limits the memory consumption.
    
    2)
    
    In the performance schema, the digests collected in 1) are
    copied in various tables, and the memory allocated to
    keep digest historical or aggregated data also depends on 'max_digest_size'.
    
    Many digests text per session are preserved at the same time,
    so that the total memory consumption is a multiple of 'max_digest_size',
    making this parameter sensitive.
    
    The problem is that for some deployments,
    namely when using either the firewall plugin or the query rewrite plugin,
    DBA typically need to have at the same time:
    - a big value for 1), to avoid truncation
    - a lower value for 2), to limit memory consumption,
      even if truncations can occur in the recorded performance schema data.
    
    The solution is to keep variable 'max_digest_size' for part 1),
    and create a separate variable 'performance_schema_max_digest_size' for part
    2), so that sizing for the firewall/query rewrite can be independent of the
    performance schema.

commit 461a36e452d203979377bc8456e0c96491c9e869
Merge: c493295 d3e3623
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon May 4 12:48:43 2015 +0200

    Empty version change upmerge

commit d3e362330fdd582b1b8550d4f899ce15a4f24800
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon May 4 12:46:08 2015 +0200

    Raise version number after cloning 5.6.25

commit c493295c03c3b7ac753adcf113f462c5adf0a4ec
Merge: f50236a e37bedd
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon May 4 12:11:38 2015 +0200

    Empty version change upmerge

commit e37bedde8b72d27372abf0c0310f574872770298
Merge: 679811f 5cda3bf
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon May 4 12:09:18 2015 +0200

    Empty version change upmerge

commit 5cda3bf66e4939fcea894e3700e46025cc0c187d
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon May 4 12:06:52 2015 +0200

    Raise version number after cloning 5.5.44

commit f50236a5f7fb75111499c72a19fb63e96a426734
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Mon May 4 14:10:41 2015 +0530

    BUG#21023683 FAILURE IN EMBEDDED I_INNODB.INNODB-ALTER
    
    Follow up change for fix 20768847 to mask DATATDIR in test.

commit a5ee0a9f1c6ca7e16e616c9d7db12002c5d441d2
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Mon May 4 10:59:03 2015 +0530

    Bug #20914786 : MYSQL_UPGRADE FAILS WITH SHOW_COMPATIBILITY_56 = OFF
    
    Issue:
     In 5.7, server variables values are exposed by performance_schema tables.
     When this SHOW_COMPATIBILITY_56 is ON, information_schema tables could
     be used to fetch variables values, but if it is OFF, information_schema
     doesn't provide variables values but performance_schema does.
    
    Fix:
     During mysql upgrade, this utility checks for various server variables'
     values. So when SHOW_COMPATIBILITY_56 is ON/OFF, these values are to be
     fetched from correct source. Did code change to make sure it is
     followed.

commit e749e7de8737c3b8e608af11735c99fc35ba0f21
Author: Daogang.qu <bill.qu@oracle.com>
Date:   Mon May 4 12:34:14 2015 +0800

    Bug #20753378 ASSERTION `GTID_NEXT->TYPE != AUTOMATIC_GROUP || THD->OWNED_GTID.IS_EMPTY()'
    
    Setting SESSION.GTID_NEXT=default right after setting
    SESSION.GTID_NEXT='ANONYMOUS' causes an error
    'ER_CANT_SET_GTID_NEXT_WHEN_OWNING_GTID', but this
    changed gtid_next type from 'ANONYMOUS' to 'AUTOMATIC'.
    So that the next transaction causes the above assertion error.
    
    Setting SESSION.GTID_NEXT=default should not change the
    gtid_next type if it causes an error.
    
    @@sql/sys_vars.h
    Removing the thd->variables.gtid_next.set_automatic() in
    session_save_default(...), since it is too early to
    set gtid_next type to 'AUTOMATIC' before causing a possible
    error 'ER_CANT_SET_GTID_NEXT_WHEN_OWNING_GTID' and set_gtid_next(...)
    has set gtid_next type to 'AUTOMATIC' after the error.

commit 17a52e60d24afbeca5213b40f57bb295fc4da0a6
Author: Daogang.qu <bill.qu@oracle.com>
Date:   Sun May 3 17:56:59 2015 +0800

    Bug #20753378 ASSERTION `GTID_NEXT->TYPE != AUTOMATIC_GROUP || THD->OWNED_GTID.IS_EMPTY()'
    
    Setting SESSION.GTID_NEXT=default right after setting
    SESSION.GTID_NEXT='ANONYMOUS' causes an error
    'ER_CANT_SET_GTID_NEXT_WHEN_OWNING_GTID', but this
    changed gtid_next type from 'ANONYMOUS' to 'AUTOMATIC'.
    So that the next transaction causes the above assertion error.
    
    Setting SESSION.GTID_NEXT=default should not change the
    gtid_next type if it causes an error.
    
    @@sql/sys_vars.h
    Removing the thd->variables.gtid_next.set_automatic() in
    session_save_default(...), since it is too early to
    set gtid_next type to 'AUTOMATIC' before causing a possible
    error 'ER_CANT_SET_GTID_NEXT_WHEN_OWNING_GTID' and set_gtid_next(...)
    has set gtid_next type to 'AUTOMATIC' after the error.

commit 78fbb54ecfb189767bee8ab4e7f295583170747a
Merge: 16c9f19 679811f
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Fri May 1 12:53:42 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 679811f33f0836d9e139f57093b4f74fffd87a8e
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Fri May 1 12:39:55 2015 +0200

    Fix for missing test recording and test output differences on Windows.

commit 16c9f19989b93346cf1868250a00760b9ebd19e1
Merge: 50ff3d1 2cb773b
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri May 1 07:16:38 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 2cb773b3eaae2a452644fefd0bc683211669f9c7
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri May 1 07:15:24 2015 +0530

    Bug #20857652 : SERVER CRASHES WITH CREATE/DROP USER
                    STATEMENT WITH A PARTICULAR SEQUENCE
    
    Post push to fix pb2 test case failure.

commit 50ff3d15716f1af6d71fc8aafcb7ca4c638dc5bb
Merge: 06d1ef4 70e396d
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Apr 30 17:31:17 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 70e396d48cd32523d45853223ad60cfc45f0130e
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Apr 30 17:29:11 2015 +0200

    Bug#20913616 FIREWALL INTEGRATES BADLY WITH QUERY CACHE
    
    The firewall operates on parser states. The query cache circumvents the
    parser. When the firewall operates together with the query cache it won't be
    able to block statements correctly but it will report denial of access.
    This patch prevents the firewall from loading if the query cache is enabled.

commit 06d1ef4ade080c452c6de426e3ee814a28818495
Merge: 5cd0971 be71326
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Apr 30 19:09:40 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit be71326c55cbc4568b5611fadf60e71e4633f4ee
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Apr 30 19:05:40 2015 +0530

    Bug #20857652 : SERVER CRASHES WITH CREATE/DROP USER
                    STATEMENT WITH A PARTICULAR SEQUENCE
    
    Description :- Server crashes with CREATE/DROP USER
    statements after a failed FLUSH PRIVILEGES statement.
    
    Analysis :- When FLUSH PRIVILEGES fails because of the
    failure of "open_and_lock_tables()" in "acl_reload()", the
    ACL structures are freed. After this server crashes with
    CREATE/DROP USER statements when it is trying to access the
    freed ACL structures.
    
    Fix :- ACL structures are retained even if FLUSH PRIVILEGES
    fails in reloading ACL privileges. Similar behaviour is done
    while reloading column, function and procedure privileges.
    In the case of reloading function and procedure privileges
    we come across with the following scenarios:-
    1) mysql.procs_priv table is not present and proc_priv_hash
       structure has been already initialized=>
       mysql.procs_priv table has been dropped/renamed
       Soln:-  An error, "ERROR 1146 (42S02): Table
               'mysql.procs_priv' doesn't exist", is thrown.
    2) mysql.procs_priv table is not present and proc_priv_hash
       structure is not yet initialized =>
       a) We are using a pre 4.1 system tables.
          or
       b) We dropped/renamed mysql.proc_priv table and shutdown
          the server and restarted the server again
       Soln:- A warning, "[Warning] Table 'mysql.procs_priv'
              does not exist. Please run mysql_upgrade." is
              printed in the server log and a warning is
              thrown to the client side as well.
              Continue with reloading column privileges.
    3) mysql.procs_priv table is present =>
       Normal scenario. Column, function and procedure
       privileges are reloaded as normal.

commit 5cd0971bf68aab35099fd4f782e5dadbf5968968
Merge: 10f4657 e2bcc6d
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Apr 30 17:21:46 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e2bcc6db677e923839a3b36d2a0e1c402d7feb20
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Apr 30 10:27:06 2015 +0530

    BUG#19897405: CRASH WHILE ACCESSING VIEWS IN STORED ROUTINE
                  AND TABLES ARE FLUSHED
    
    Analysis
    --------
    The server crashes while accessing view columns in the
    stored procedure after DDL/FLUSH TABLE operation
    is performed on the tables used by the SQL statements
    in the stored procedure.
    
    Scenario 1:
    
    a) SP is executed--> The view fields are resolved/fixed.
    b) Trigger reparse--> Query arena state is not reset and
       remains as 'STMT_EXECUTED'.
    c) SP is executed--> The view fields are resolved/fixed
       using the execution mem_root.
    d) SP is executed--> Server crashes while trying to
       access the resolved view columns allocated on the
       execution mem_root which was freed after execution(c).
    
    Scenario 2:
    
    a) SP is executed--> The view fields are resolved/fixed.
    b) Trigger reparse--> Query arena state is reset with
       the fix introduced in the earlier patch for scenario 1.
    c) SP is executed--> DDL execution fails--> View fields
       are not resolved/fixed--> But query arena state is set
       as 'STMT_EXECUTED'.
    d) SP is executed--> The view fields are resolved/fixed
       using the execution mem_root.
    e) SP is executed--> Server crashes while trying to
       access the resolved view columns allocated on the
       execution mem_root which was freed after execution(d).
    
    The DDL/FLUSH TABLE operation on the tables used by the
    SQL statement of the stored procedure triggers a
    re-parse of the query. The state of the statement arena
    was set to 'STMT_EXECUTED'. Also when the DDL fails,
    beyond the open table stage during execution, the
    state of the statement arena was set to 'STMT_EXECUTED'.
    This state of the query arena caused the runtime arena
    to be used for the allocation of item representing the
    view column instead of persistent arena. The runtime
    arena and the mem_root associated with it is not
    persistent and is deallocated at the end of the query
    execution. Hence the subsequent execution of the stored
    procedure, accesses invalid(freed) memory causing the
    server to crash.
    
    Fix:
    ---
    The condition which checks the state of the query arena
    for the allocation of the item representing the view
    column in an appropriate mem_root is removed.
    Since there is already a condition to determine whether
    the statement is a prepared statement or stored routine
    statement for switching to a persistent mem_root.
    
    Thus, when the item representing the view column is created,
    it will be allocated on the persistent memroot which will be
    accessible for the subsequent calls to the stored procedure.
    
    Note: This is a follow up patch.

commit 10f4657d17f1d1b4fd42b12cf3410ff02d6572e4
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Thu Apr 30 13:40:35 2015 +0200

    Bug#20515155 Views: Assertion failed: is_view_or_derived() && is_merged()
    
    The underlying problem here is that the "updatable" property as read
    from the dictionary is not reliable: If the view in question is based
    on another view, the updatable property is calculated when the view
    is created. However, if an updatable underlying view is deleted and
    replaced with a non-updatable one, the property is not updated.
    Relying on this property eventually caused this assertion.
    
    The fix is quite simple: calculate the is_updatable() property when
    reading a view definition. This is much simpler than fixing it in
    the dictionary implementation, since no dependency information is
    available.
    
    While debugging, it was also found that we have several other
    deficiencies when data change statements are applied to views and
    derived tables. A comprehensive test suite has been created to
    check these statements, and some more fixes have been made to remedy
    these problems.
    
    Fix:
    
    - The is_updatable() property is now generated solely without consulting
      dictionary information. It is set as true if any of the underlying
      tables of a view is updatable. A base table is both updatable and
      insertable.
    
    - Add an is_insertable() interface for a table that can be checked in
      INSERT statements. This clarifies how tables are checked for INSERT.
      It is set true if all underlying tables of a view is insertable.
    
    - check_view_single_update() is renamed to check_single_table_insert(),
      to clarify that function is used in INSERT.
    
    - Initialization of materialized_derived_table_count in
      st_select_lex::resolve_derived() was deleted, since it made the
      function behave badly when called twice. The constructor init is
      sufficient.
    
    - TABLE_LIST::leaf_tables_count() had to be changed slightly, since
      it may now be called on views that may contain materialized
      components.

commit fff009fe49121a2af95b094fadae6441cfda0635
Merge: 05ba03e d0357b0
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Apr 30 17:01:45 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d0357b099603456250d54dd730fa97e0bafe95a0
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Apr 30 17:00:26 2015 +0530

    Bug #20987420	PB2 FAILURE OF TEST CASE INNODB_ZIP.INNODB_16K
    
    Description:
    ------------
    While doing insert .. select , the order in which rows are returned
    by a SELECT statement with no ORDER BY clause is not determined.
    
    Fix:
    ----
    Changed the test case by adding order by statement for the query.
    
    Reviewed-by: Marko Mäkelä<marko.makela@oracle.com>
    Approved via IM

commit 05ba03e50d32fad61ea579d8615a4ee5fdefa40d
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Apr 30 11:22:19 2015 +0200

    Bug#20873209 NORMALIZE_STATEMENT() UDF BREAK IN SQL_YACC.YY ON SET PASSWORD=
    
    This patch fixes how normalize_statement() initialize the security_ctx.

commit 5dcd752ce2ffeca4622a1b289fb73e347239dc52
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Apr 30 11:22:19 2015 +0200

    Bug#20873209 NORMALIZE_STATEMENT() UDF BREAK IN SQL_YACC.YY ON SET PASSWORD=
    
    This patch fixes how normalize_statement() initialize the security_ctx.

commit e5eb761ce8b5963d54b2a57fcd915f49595b5eec
Merge: ac0006e 4b3406c
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Apr 30 15:21:23 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 4b3406c82db3f443af4bd8711995d9aedca30d31
Author: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
Date:   Thu Apr 30 15:19:39 2015 +0530

    BUG#20007583: THE EVENT_SCHEDULER USERNAME IS NOT RESERVERD.
                  ALLOWS PROCESSLIST VIEW.
    
    Follow up patch to fix sporadic test case failure on PB2 for 5.6+

commit ac0006e35e016d7d42a84447dd75925950cb35ee
Author: Sreedhar.S <sreedhar.sreedhargadda@oracle.com>
Date:   Thu Apr 30 14:37:24 2015 +0530

    Windows installer in need of fixing to accommodate for WL#7307

commit 38affc6642d201a2e2e07cf6d45dd5b1c4931abf
Merge: e233bfe 04e2c83
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Apr 30 09:58:25 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 04e2c83004ff3feabc4f61edad703b03b41a73dc
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Apr 30 08:56:37 2015 +0100

    Bug#20768717: DEBUG BUILD FAILS WHEN USING GCC 5 DUE TO COMPILER WARNING
    
    Add extra set of parentheses to remove a GCC 5 compiler warning.
    
    Backport from mysql-trunk to mysql-5.6.
    
    Conflicts:
    	sql/gcalc_tools.cc

commit e233bfed990f63ab9df29f36473d0844c7d2b18e
Merge: 42d6229 d562671
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Thu Apr 30 11:41:27 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d562671740474847d5111b42578fce46fb58b19d
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Thu Apr 30 11:40:07 2015 +0530

    post push minor test fix for bug:19887143

commit 42d6229fd12c2a5d8904cef3cbe807efd78d4cd7
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Apr 28 16:53:42 2015 +0530

    BUG#20768847 ASSERTION 0 IN HA_INNOBASE::COMMIT_INPLACE_ALTER_TABLE
    
    Problem :
    ---------
    We are incorrectly dropping an index in parent table with foreign key
    dependency. While checking whether it is ok to drop an index, we check
    only the first FK reference to and from other tables. For multiple
    foreign key references the check is insufficient.
    
    Solution :
    ----------
    Loop and check for all foreign key references to and from the table to
    check if it is safe to drop an index.
    
    Reviewed-by: Marko Makela <Marko.Makela@oracle.com>
    
    RB: 8734

commit b6e2716c15be2d3654c10b4c1439c8df766af0af
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Thu Apr 30 09:53:26 2015 +0530

    - bug#20938115: innodb_undo_logs max limit should be downgraded from 126 to 94^
    
      - Starting 5.7 we started reserving 32 rollback segments (out of 128) for
        temp-tables and tagged them as non-redo rollback segments as changes to
        these segments are not-redo-logged. (These non-redo rollback segments
        reside in temp-tablespace and re-created on each server restart)
    
      - So actually, out of 128 rollback-segments only 96 are available for normal
        tables that are tagged as redo rollback segment.
    
      - 1st redo-rollback segment (indexed at 0) is always hosted in
        system-tablespace. (space_id = 0)
    
      - Remaining 95 redo-rollback segments can host in either system-tablespace
        or dedicated undo tablespace.
    
      - With these limits maximum 95 undo-tablespaces can be active and so
        downgrading the limit of innodb_undo_tablespaces = 95.
    
      Reviewed by: Sunny Bains (sunny.bains@oracle.com)
      RB: over IM

commit 2f4b54d3a5bd68e54558a6e91d5abe5b848b02fa
Merge: 7a92381 611fd20
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Apr 30 09:20:03 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 611fd2094ae18fd2bc895cc2197521fe106cab45
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Thu Apr 30 09:18:53 2015 +0530

    Bug #20563332 : OPEN_FILES_LIMIT BINARY PUT INTO ./BIN DIRECTORY OF A BUILD?
    
    Install path for the binary open_files_limit was set to /bin. Removed the same.
    
    Also the copyright was wrong. Changed the same.

commit 7a92381d6ce0cf22a69ba1e1beb5991e010170a7
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.

commit e302809b230c5606ac2df68da24bce99a7948fea
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Apr 29 15:57:19 2015 +0200

    Bug #11759858 52203: MTR SPORADIC BUG (COULD NOT EXECUTE 'CHECK-TESTCASE' BEFORE TESTCASE)
    
    Post-push fix: pid_t may be 'long int' rather than 'int'
    on some platforms, cast it to int when printing.

commit 1996ed0bd325779523c71a4db2bdd7e6c3792e2f
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.

commit 10a266a81966116c03a216c935f7c0440b6feeb9
Merge: 0bceaf0 699edd6
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Wed Apr 29 16:35:17 2015 +0530

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

commit 699edd67085e08ff5c313ed90a888fe3d1e3a115
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Wed Apr 29 16:29:49 2015 +0530

    Bug #17055185 : WRONG RESULTS WHEN RUNNING A SELECT THAT INCLUDES A HAVING BASED ON A FUNCTION.
    
    Post push fix, corrected the test case the results
    are ordered by column u duplicate values in u
    results in change in order of final projections of
    column t. Corrected the same by making values of
    column unique.

commit 0bceaf07886fb56617a48f9b267fd80cb3156314
Author: Bin Su <bin.x.su@oracle.com>
Date:   Wed Apr 29 17:35:36 2015 +0800

    Bug#20979020 - THE TRX IN DDL SHOULD ALWAYS NOT BE ROLLED BACK
    
    We should disable the rollback for trx which is in DDL for now.
    
    Approved by Sunny <Sunny.Bains@oracle.com> over IM.

commit 147b02db1700b8e07e83b21a48c27b722cb31603
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Tue Mar 24 16:27:04 2015 +0400

    Bug#20709462: GENERATED COLUMNS NOT PRINTED CORRECTLY IN SHOW CREATE TABLE
    
    SHOW CREATE TABLE printed the CHARACTER SET clause before the GENERATED
    clause. Since MySQL syntax requires CHARACTER SET to be inserted before
    other column type attributes, that caused a syntax error, when someone
    tried to re-create a table with generated columns from SHOW CREATE
    TABLE output.
    
    This patch reorders SHOW CREATE TABLE output to print GENERATED clause
    stuff after the CHARACTER SET clause.

commit e95f02089042325dba4d34edfd5638a6ba05370f
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Tue Apr 28 11:46:05 2015 +0200

    Bug#20583321: CRASH ON PS_THREAD_INFO / SYS USAGE
    
    A failing transformation is indicated by marking the parse
    tree as broken. But this mark was not read by the code that
    executes the SET command in stored procedures. In this case,
    transformations such as outer-to-inner join conversion are
    carried out as part of evaluating a subquery when it is
    the rvalue, as opposed to doing it during normal
    preparation, i.e. in select_lex::prepare().
    
    Fixed by moving the check from mysql_execute_command() to
    reinit_stmt_before_use(), where the check can be reused for
    all code paths that must deal with a possibly broken parse
    tree, i.e. prepared statements and stored procedured.

commit 51057f952767bc09b3a36fb1cf1594aa3b821194
Merge: 89ee181 e5f7c69
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Wed Apr 29 13:54:17 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

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 89ee18184f770997bbe221c24c6b86027405fd75
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Wed Apr 29 10:06:53 2015 +0200

    Fixed failing test

commit e4f2a2589853092db9acd17dfd41f88d755c8cea
Author: Lalit Choudhary <lalit.choudhary@oracle.com>
Date:   Wed Apr 29 12:57:36 2015 +0530

    Bug #19077239 mtr tests fixed.

commit f365eedc5507193af3b2f7ac1784bd0a5c39586a
Merge: 109318a ed2536c
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Wed Apr 29 11:07:00 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	sql/mysqld.cc

commit ed2536ca455fe184504a73a29932767ca7228f3a
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Wed Apr 29 10:55:09 2015 +0530

    Bug #19887143 : THREAD/SQL/MAIN DOESN'T CHANGE STATE/INFO AFTER STARTUP
    
    Issue:
      State and Info of main thread was not changing. It was because of
      not resetting its state/info accordingly while doing some startup
      operation when mysql server starts.
    
    Fix:
      Reset the state/info for main thread so that it shows correct state.

commit 109318a7ecf9e8a9c68f25bba17d582de51a738b
Author: Thayumanavar <thayumanavar.x.sachithanantha@oracle.com>
Date:   Wed Apr 29 10:48:37 2015 +0530

    WL#7895 - Add systemd support to server.
    
    Post push fix - Add full text of copyright notice.

commit f285fc440c5b9a4229b9c2f959ac3abebe3cca91
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Wed Apr 29 09:59:34 2015 +0530

    Fixed Bug #20683741 UNZIP REQUIRED TO RUN MYSQL-TEST-RUN.PL BUT NOT CHECKED FOR BY CMAKE

commit 71d0ca2ba7f77063ff9ea566d651bae4b296d0ed
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Mon Apr 27 17:22:54 2015 -0500

    Bug#20865674-VALGRIND FAILURE IN INNODB.CREATE_TABLESPACE

commit 1f945a31715df2389fef5c3709ef58fb8f551e3f
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Apr 29 09:49:39 2015 +0800

    BUG#19821087 UPDATES TO INDEXED COLUMN MUCH SLOWER IN 5.7.5
    
    Keep default behavior compatible with 5.6: reserve 1/16 free space
    in bulk load for cluster index when innodb_fill_factor is 100.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> on IM

commit 9c82f49313f400eb4c22734dbaa5600f6d242d86
Author: Benny Wang <benny.wang@oracle.com>
Date:   Wed Apr 29 03:24:57 2015 +0200

    Fixed Bug #20949226: CAN ASSIGN NON-DEFAULT() VALUE TO GENERATED COLUMN
    
    Generated columns only allows default value to be assigned. Because default
    value can not be defined in CREATE TABLE .. SELECT statement, we block all
    assignments on generated columns.

commit 80f6ab0b2c2d01492904597653b8c0facb01fd3f
Author: Andrei Elkin <andrei.elkin@oracle.com>
Date:   Sat Apr 11 00:06:45 2015 +0300

    rb8590 Fixes to sporadically failing on PB2 rpl_xa_survive_crash_debug
    
    The test fails due to not following a valid pattern of crash-simulation
    with the following restart.
    It's fixed to follow the pattern.
    Extensive run (1600 times) has not shown any regression now.
    
    As a side effect a non-determinism of XA ROLLBACK is worked around
    to be fixed in a separate bug fixing as commented.

commit 6cc07d25f36b30bca93ce112c2bae417290cb736
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Apr 28 17:25:16 2015 +0300

    Bug #20681412 MYSQLD --INITIALIZE REFERS TO MYSQL_INSTALL_DB AND BOOTSTRAP
    
    Removed a stray warning that's not contributing to usability.
    No need to turn off GTID on bootstrap as well.

commit d85c72c92d382f1f352c0032ba5466ab5af8d049
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Apr 28 12:57:12 2015 +0200

    Bug#20937654 CANNOT BUILD WITH "-DDISABLE_SHARED=ON" FOR CMAKE BECAUSE OF REWRITER PLUGIN
    
    Don't build/install anything in plugin/rewriter if DISABLE_SHARED=ON
    Don't build shared version of the standalone binlog library if DISABLE_SHARED=ON
    Also: add runtime check for plugin availability to some tests.

commit 96b886e5fd77baa99f4d5c6c577e5f0118665010
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Apr 28 14:35:28 2015 +0200

    Bug #11759858 52203: MTR SPORADIC BUG (COULD NOT EXECUTE 'CHECK-TESTCASE' BEFORE TESTCASE)
    
    Post-push fix: sig_atomic_t may be 'long int' rather than 'int'
    on some platforms, cast it to int when printing.

commit 98d22871f6da593f85efbe5baa1d3fa52cbe933b
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Apr 28 12:41:31 2015 +0200

    Fixed failing tests

commit 9232c60572a43098e7264c269094a8a936c88b85
Author: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
Date:   Tue Apr 28 15:17:37 2015 +0530

    WL#6940 Server version token and check
    
    Fix for compilation errors in builds
    without performance schema.

commit 4a26472707fc87add59608a0c094a01eb49985ac
Merge: 5a4ea57 ba71360
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Apr 28 15:01:47 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit ba7136046bf0db6c38b449f379db78e7951c0fb3
Merge: 95904e8 643c7ee
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Apr 28 14:58:28 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 643c7ee11b95e313b033d17755f794da2b4c77bc
Merge: 3f4e917 65fc16c
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Apr 28 14:58:01 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit 65fc16c663d7453812ead2b42dc5c96143748fbd
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Tue Apr 28 14:56:55 2015 +0530

    Bug #20181776 :- ACCESS CONTROL DOESN'T MATCH MOST SPECIFIC
                     HOST WHEN IT CONTAINS WILDCARD
    
    Description :- Incorrect access privileges are provided to a
    user due to wrong sorting of users when wildcard characters
    is present in the hostname.
    
    Analysis :- Function "get_sorts()" is used to sort the
    strings of user name, hostname, database name. It is used
    to arrange the users in the access privilege matching order.
    When a user connects, it checks in the sorted user access
    privilege list and finds a corresponding matching entry for
    the user. Algorithm used in "get_sort()" sorts the strings
    inappropriately. As a result, when a user connects to the
    server, it is mapped to incorrect user access privileges.
    Algorithm used in "get_sort()" counts the number of
    characters before the first occurence of any one of the
    wildcard characters (single-wildcard character '_' or
    multi-wildcard character '%') and sorts in that order.
    As a result of inconnect sorting it treats hostname "%" and
    "%.mysql.com" as equally-specific values and therefore
    the order is indeterminate.
    
    Fix:- The "get_sort()" algorithm has been modified to treat
    "%" seperately. Now "get_sort()" returns a number which, if
    sorted in descending order, puts strings in the following
    order:-
    * strings with no wildcards
    * strings containg wildcards and non-wildcard characters
    * single muilt-wildcard character('%')
    * empty string.

commit 5a4ea57d3bd9d7b3da058050b21553346b2aeccf
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Apr 28 08:42:27 2015 +0100

    WL#4601: Remove fastmutex from the server sources
    
    This patch removes the FAST_MUTEX code and the related
    WITH_FAST_MUTEXES CMake option. Note that this option
    was enabled by default for Linux release builds.
    
    Performance tests show that "fast" mutexes were equal to
    or (more often) slower than default Linux mutexes.
    
    Removing fast mutexes fixes / makes obsolete:
    Bug#11748914: MYSQL PERFORMANCE WITH AND WITHOUT
                  FAST MUTEXES USING SYSBENCH WORKLOAD
    Bug#13923722: FAST MUTEXES DELAY SHOULD BE CONFIGURABLE -
                  DEFAULT BAD ON SUPRA03/01
    Bug#18870931: MUTEX_DELAY() CREATING EXCESS MEMORY TRAFFIC,
                  GCC MEM BARRIER NEEDED
    Bug#18871517: MUTEX_DELAY() MISSING X86 PAUSE INSTRUCTION
                  OPTIMIZATION
    Bug#18871138: SET THREAD PRIORITY IN MY_PTHREAD_FASTMUTEX_LOCK

commit bbd9ea08ee1a4d1a930076fc8ef6aa12ff531a22
Author: Sayantan Dutta <sayantan.dutta@oracle.com>
Date:   Tue Apr 28 13:15:46 2015 +0530

    Bug #11759858 52203: MTR SPORADIC BUG (COULD NOT EXECUTE 'CHECK-TESTCASE' BEFORE TESTCASE)
    
    Summary of changes:
       Introduction of new volatile variables in signal handle functions.
       Introduction of print_message function.
       The while loop in main function has been modified with introduction of new code
       and some part of code moved to other new functions.
       The issue of -negative/garbage pid and signal value has been addressed.
    
    Reason for Changes:
       Mysqltest when recives a signal ends without providing further infromation.

commit 1e7a9b90be3e380da49ca3024d7e161b2583f5ab
Merge: a774c8e 95904e8
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Tue Apr 28 09:13:14 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	unittest/gunit/CMakeLists.txt

commit 95904e814f9e1a5eebb8df207107a46440d39b2e
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Mon Apr 27 14:40:27 2015 +0200

    BUG#20955104: ADD UNIT TEST BINARIES AS OPTIONAL TARGETS WHEN MERGE_UNITTESTS=1
    
    Problem: To build an individual unit test one has to configure with
    MERGE_UNITTESTS=0 which increases compile times and disk usage
    considerably.
    
    Solution: Always add the unit test binary targets, but mark them as
    optional when MERGE_UNITTESTS=1, and only add the unit test binaries
    to ctest when MERGE_UNITTESTS=0.

commit a774c8e0258bf6b2e11af81d2afb93615f86b369
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Tue Apr 28 14:17:05 2015 +0800

    Bug#19865673 DDL LIKE ADD INDEX IS VERY SLOW IN 5.7.5
    
    Analysis:
    We have a checkpoint at the end of bulk load to flush all dirty pages to disk,
    because we disable redo logging for bulk load. It works well for big table, but
    not for small table in heavy work load.
    
    Solution:
    Only flush the dirty pages modified by the bulk load. the main idea is to set a
    flush observer to these dirty pages when committing mtr during a bulk load. When
    a page is submitted to flush or a page is flushed to disk, it notifies the
    observer. We scan flush list in buffer pool and flush dirty pages with the
    observer at the end of the bulk load, and wait for all the flushes to finish.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 8238

commit 67c2c2430706ee8709e7ea3fe1d5fe22c6f2c497
Merge: d91c6f7 374c19c
Author: Shishir <shishir.j.jaiswal@oracle.com>
Date:   Tue Apr 28 11:33:02 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 374c19c81a50802017adcdb5d058d2b375cb3018
Author: Shishir <shishir.j.jaiswal@oracle.com>
Date:   Tue Apr 28 11:32:15 2015 +0530

    Bug #20294225 - INVALID MEMORY ACCESS
    
    DESCRIPTION
    ===========
    /client/mysql_config_editor.cc:
    
    In encrypt_and_write_file(), my_write() is called even if 'enc_len' is
    4096(which it is allowd to be). In such a case it will be accessed at
    offset 4099 which will result in SEGFAULT!
    
    ANALYSIS
    ========
    The crash can be avoided if the encrypted buffer size check is put in
    place (by calling my_aes_get_size()) even before doing encryption.
    
    FIX
    ===
    Do the above mentioned check in encrypt_and_write_file(). Since to do
    this we already call my_aes_get_size() for getting length of
    to-be-encrypted-buffer, this function call is removed from
    encrypt_buffer(). This length is passed to encrypt_buffer() as an
    additional argument.

commit d91c6f72d108fd22d5e7f0e1ace36fd6c46799f0
Merge: 143f4fc af54c95
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Apr 28 10:18:26 2015 +0530

    Bug#20275612	MEMCACHED INNODB PLUGIN BREAKS MYSQL ENTERPRISE BACKUP
    Post push fix
    Merge branch 'mysql-5.6' into mysql-5.7

commit af54c95a0e8e390db1a2275b60544043b330fb4d
Author: Aditya A <aditya.a@oracle.com>
Date:   Tue Apr 28 10:16:41 2015 +0530

    Bug#20275612	MEMCACHED INNODB PLUGIN BREAKS MYSQL ENTERPRISE BACKUP
    
    Post push fix to replace pthread_mutex_timedlock() with
    pthread_mutex_trylock(), since the former is not supported by Mac OS.

commit 143f4fcfc167c9d27772cf73e0e77655af9b810a
Author: David.Zhao <david.zhao@oracle.com>
Date:   Tue Apr 28 07:52:17 2015 +0800

    Bug#20842030 ST_BUFFER CAN BE CALLED WITH PARAMETERS TO CONSUME INORDINATE AMOUNT OF MEMORY
    
    Define a session variable 'max_points_in_geometry' which is allowed in range
    [3, 64*1024*1024] as a per-session customizable limit for the maximum number of
    points in a geometry. The upper bound for the range is got
    using max_allowed_packet/16, where 16 is one point's storage size.
    
    In ST_Buffer strategy specification, reject 'points_per_circle' arguments
    greater than this limit, in order for users to limit the memory
    and CPU consumption in buffer calculation.

commit c5ecd606a71d3e5b281828de19303f068dda6357
Merge: fc7da19 94d66d3
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 27 23:54:44 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 94d66d3d68759e7fddfcfbb011e987d217a7d192
Merge: 5cadeab 3f4e917
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 27 23:52:19 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 3f4e917c38317a114c3cb2c23c30c0c9aa023d2c
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 27 23:50:13 2015 +0530

    Bug #18592390 QUERY TO I_S.TABLES AND I_S.COLUMNS LEADS TO HUGE MEMORY USAGE
    
    Description: On an example MySQL instance with 28k empty
    InnoDB tables, a specific query to information_schema.tables
    and information_schema.columns leads to memory consumption
    over 38GB RSS.
    
    Analysis: In get_all_tables() call, we fill the I_S tables
    from frm files and storage engine. As part of that process
    we call make_table_name_list() and allocate memory for all
    the 28k frm file names in the THD mem_root through
    make_lex_string_root(). Since it has been called around
    28k * 28k times there is a huge memory getting hogged in
    THD mem_root. This causes the RSS to grow to 38GB.
    
    Fix: As part of fix we are creating a temporary mem_root
    in get_all_tables and passing it to fill_fiels(). There we
    replace the THD mem_root with the temporary mem_root and
    allocates the file names in temporary mem_root and frees
    it once we fill the I_S tables in get_all_tables and
    re-assign the original mem_root back to THD mem_root.
    
    Note: Checked the massif out put with the fix now the memory growth is just around 580MB at peak.

commit fc7da1903a483c6ef76fbb5b12c95a8814844103
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Apr 27 19:37:09 2015 +0530

    BUG#20748570	BOOL HA_TRX_INFO::IS_TRX_READ_WRITE() CONST:
    ASSERTION `IS_STARTED()' FAILED.
    
    Disabling test script until an bug20954452 in the source code
    is fixed.

commit bc91079e20669257377e38c5f381c6a8f7825e5c
Merge: d9cf714 5cadeab
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Mon Apr 27 15:38:14 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5cadeab5826bf21508a97c710882cf0da84b0462
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Fri Mar 20 09:02:03 2015 +0100

    Bug#20515155 Views: Assertion failed: is_view_or_derived() && is_merged()
    
    Patch 0: New test cases for changes to views.
    
    This is a new set of tests that is pushed to 5.6.
    It is also merged to 5.7 where it will ensure that we control potential
    regressions.

commit d9cf714b98e3e83538952258a261a01edcc3a49c
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Thu Apr 23 10:26:14 2015 +0200

    Improved the way --print-defaults works.

commit 609f056a2c511f2dbe219668695824847e4c877a
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Mon Apr 27 14:37:21 2015 +0200

    Bug#20615597 Assertion !thd->is_error() at st_select_lex::prepare()
    
    There was a missing error check after a call to find_field_in_tables()
    which later triggered an assert.

commit 7c6499634165162c17fd3f7726c9fff777fa4f1b
Merge: e4f4279 ef9e091
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Apr 27 17:57:32 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit ef9e091eb68267d3783846640a56b3ff323b8068
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Apr 27 17:56:27 2015 +0530

    BUG#20960406	NO_PROTOCOL.INC SHOULD BE IN MYSQL-TEST/INCLUDE DIRECTORY
    
    Problem:
    ./mysql-test/suite/perfschema/include/no_protocol.inc is written to exclude
    any test for --ps-protocol/--cursor-protocol/--sp-protocol runs
    
    But it is in perfschema test suite. If it is in main include (
    mysql-test/include) directory, it can be used by any test suite easily.
    
    Fix: Moved the ./mysql-test/suite/perfschema/include/no_protocol.inc file to
    mysql-test/include location.

commit e4f42790346396c7daace91fdabe8714db387464
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."
    
    (cherry picked from commit cc49493aebeae6d4db65a27088f039b0372ce4aa)

commit ea267e7c4ba20d4de678488da12c560c49d6ca04
Merge: ad5bb9c e1a9da3
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 27 14:53:38 2015 +0530

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

commit e1a9da356ef833ef0a0ddd3b1613f5550e17a514
Merge: 63d5a88 7e34525
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 27 14:51:57 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6
    
    To sync with 5.1 and 5.5 "show grants for non-user" message updated the
    message with "IDENTIFIED BY PASSWORD <secret>" instead of
    "IDENTIFIED BY PASSWORD"

commit 7e345257b11232007e64fca82374d1c2d3c18e98
Merge: 68da741 42d5d93
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 27 14:46:40 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit ad5bb9c30af60c0c155793a2d051b190ce542000
Merge: e8adf3c 63d5a88
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Apr 27 14:37:21 2015 +0530

    Bug #20275612	MEMCACHED INNODB PLUGIN BREAKS MYSQL ENTERPRISE BACKUP
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 42d5d934aea1554f888c611093a02f4848feabc2
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 27 14:33:25 2015 +0530

    Bug #20683237 BACKPORT 19817663 TO 5.1 and 5.5
    
    Restrict when user table hashes can be viewed. Require SUPER privileges.

commit 63d5a8816e0b7651ec2f5640a90ca53ffd2ef80f
Author: Aditya A <aditya.a@oracle.com>
Date:   Mon Apr 27 14:31:02 2015 +0530

    Bug #20275612	MEMCACHED INNODB PLUGIN BREAKS MYSQL ENTERPRISE BACKUP
    
    PROBLEM
    
    Each memcached client connection takes a MDL lock which it releases only when the
    connection terminates or it switches table. Becasue of this MDL lock FLUSH TABLE
    WITH READ LOCK command hangs.
    
    FIX
    
    Introduced a internal variable called "release_mdl_lock" which will be monitored by
    background thread and set/reset by FTWRL/unlock tables; when this variable is set
    this following operations will be initiated
    
    1) Any write operation will be forced to close and then open the table using
       handler functions.Closing the table will ensure that the mdl lock are released
       and the FTWRL can obtain the global read lock. Trying to reopen the table will
       hang.The write opeartion will succeed once unlock tables is executed.
    
    2) Read operations are not forced to reopen the table, this is because we want read operations
       to continue during FTWRL.
    
    3) Background thread will detect connections which are not in use (idle) and commit transactions
       assocaited with them and close all the table handles

commit e8adf3c99909f0b146ac6f3aaaf564c222f84966
Merge: 1c03256 3776da9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Apr 24 13:46:03 2015 +0200

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

commit 3776da9c0b28a1907991bd132368d431c499637d
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Apr 17 13:00:37 2015 +0200

    Bug#20895852 UNDERSIZED TMP_TABLE_SIZE - ASSERTION OR ERROR 2027 (HY000): MALFORMED PACKET
    
    Problem: Internal caching of temporary results depends on the buffer size
    determined by the variable read_rnd_buffer_size. If this value is too small,
    we fail to execute the query.
    
    Fix: Ignore the error if we cannot cache intermediate results,
    and read directly from the temporary file.

commit 1c03256f449fe0b28ffad22668c2bb15e0d46c29
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Apr 23 16:00:12 2015 +0200

    Bug#20895852 UNDERSIZED TMP_TABLE_SIZE - ASSERTION OR ERROR 2027 (HY000): MALFORMED PACKET
    
    Problem: Internal caching of temporary results depends on the buffer size
    determined by the variable read_rnd_buffer_size. If this value is too small,
    we fail to execute the query.
    
    Fix: Ignore the error if we cannot cache intermediate results,
    and read directly from the temporary file.

commit 45af09f6ebb9bfb855672bd9eac6a82137c15123
Merge: 84a9b1f b74eaee
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Apr 24 12:49:20 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit b74eaeeb20fb4d34747d0022b22dacf6fae72434
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Apr 24 12:41:27 2015 +0200

    Revert "Bug#20683741 fixed."
    
    This reverts commit 6c008aa51042a8ddc0dc3fe70c8ca0731fa1873e.

commit 13b3d51007393177c93fa095e4f5638745d5dd5b
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Apr 24 12:41:15 2015 +0200

    Revert "Updated file have_util_uz.inc under Bug Bug#20683741"
    
    This reverts commit fc73f79342170010aaefa126ce6c4823a1f1d745.

commit 2924e34987c57ff49980c2a06bd83a9b2871e055
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Apr 24 12:41:00 2015 +0200

    Revert "Fixed Bug#20683741"
    
    This reverts commit 57d87b5f177edc18c06c18d53ea957290a76f169.

commit 84a9b1f7c097afa738a16db12de953dc1e61148e
Author: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
Date:   Fri Apr 24 15:24:28 2015 +0530

    WL#6940 Server version token and check
    
    Fix for packaging issues on debian.

commit 0fedd6343b3e928d17a1f7cb870b0693ace6b79b
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Mon Feb 23 09:10:53 2015 +0100

    Bug #20052580 MISSING MUTEX/LOCK IN ACL_AUTHENTICATION()
    
    Reverted adding a separate lock for proxy cache. Locking acl_cache
    instead when proxy cache is used.

commit 34755f56cefb72e7827e55c3bf342c94dbbd95e0
Merge: 6ca8c59 1506804
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Apr 24 11:33:22 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 1506804606c975244015267fbbc6714915817fb6
Merge: 57d87b5 68da741
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Apr 24 11:32:31 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 68da741b072ebe05ada60c4cd6fc625b5971f70a
Merge: ac1978f b210061
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Apr 24 11:31:59 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit b2100612eef8fcd9aef7223c12087b99fd253e2d
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Fri Apr 24 11:30:13 2015 +0530

    Bug#20318154 : NEGATIVE ARRAY INDEX WRITE V2
    
    Description:- There is a possibility of negative array index
    write associated with the function "terminal_writec()". This
    is due to the assumption that there is a possibility of
    getting -1 return value from the function call
    "ct_visual_char()".
    
    Analysis:- The function "terminal_writec()" is called only
    from "em_delete_or_list()" and "vi_list_or_eof()" and both
    these functions deal with the "^D" (ctrl+D) signal. So the
    "size_t len" and "Char c" passed to "ct_visual_char()" (when
    called from "terminal_writec()") is always 8 (macro
    VISUAL_WIDTH_MAX is passed whose value is 8) and 4 (ASCII
    value for "^D"/"ctrl+D") respectively.
    Since the value of "c" is 4, "ct_chr_class()" returns -1
    (macro CHTYPE_ASCIICTL is associated with -1 value). And
    since value of "len" is 8, "ct_visual_char()" will always
    return 2 when it is called from "terminal_writec()".
    So there is no possible case so that we encounter a negative
    array index write in "terminal_writec()". But since there is
    a rare posibility of using "terminal_writec()" in future
    enhancements, it is good handle the error case as well.
    
    Fix:- A condition is added in "terminal_writec()" to check
    whether "ct_visual_char()" is returning -1 or not. If the
    return value is -1, then value 0 is returned to its calling
    function "em_delete_or_list()" or "vi_list_or_eof()", which
    in turn will return CC_ERROR.
    
    NOTE:- No testcase is added since currently there is no
    possible scenario to encounter this error case.

commit 6ca8c59468fc6aea38a18b6cdce1820c7ddcc4db
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Apr 24 07:52:02 2015 +0200

    Bug#20952953 RPL.RPL_SLAVE_SKIP FAILS IN VALGRIND
    
    Disable the test in valgrind since it messes up the runs.

commit d434f2f0ed964a16b4f252a5c15236cec8540afc
Merge: e1794bf 57d87b5
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Fri Apr 24 11:14:42 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/innodb/t/innodb-wl5980-linux.test

commit 57d87b5f177edc18c06c18d53ea957290a76f169
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Fri Apr 24 10:41:31 2015 +0530

    Fixed Bug#20683741

commit e1794bfaef09bd483d9ae9932465bd04c6c1151f
Author: David.Zhao <david.zhao@oracle.com>
Date:   Fri Apr 24 09:34:21 2015 +0800

    Bug#20937173 CLEANUP GIS_DEBUG USELESS CODE
    
    Remove the useless code related to gis_debug() function which was
    removed before. There is no functional changes so no test case
    provided for the patch.

commit b985ff6f208c24083303d6572ca93e9792e9220c
Author: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
Date:   Fri Apr 24 00:00:44 2015 +0530

    WL#6940 Server version token and check
    
    Version Tokens can help a system of clients and servers to
    synchronize with each other. It is implemented using a
    plugin named version_token. Tokens can be set on both global
    level and session level and the status check is done by
    comparing session level tokens with the global tokens before
    every query.
    
    UDFs are provided to manage the global tokens.

commit 3988846ef0f81ce5f27efa961aa9618166611d9a
Merge: c872983 2278de0
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Apr 23 16:47:45 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	unittest/gunit/CMakeLists.txt
    	unittest/gunit/debug_sync-t.cc
    	unittest/gunit/test_utils.cc

commit 2278de045fac75e5e703bb3c10b0891530a83ad7
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Apr 22 18:52:26 2015 +0200

    BUG#20889900: UNITTESTS SHOULD START THE SERVER WITH APPROPRIATE OPTIONS
    
    Problem: Unittests which start a server will log errors to syslog, emit a
    number of warnings, and also complain about not finding the error messages
    in the default location. The latter means that unittests cannot be used to
    properly test error handling.
    
    Solution: Add necessary startup options passed to the server
    when running unittests.
    
    Remove some unneeded includes in debug_sync-t.cc which caused a build
    break on WIN with MERGE_UITTESTS=0

commit c8729833c6be8d2abab01a189ee3ae693707d0aa
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Apr 23 12:50:06 2015 +0300

    Bug#20810627 ASSERTION: REC_PAGE_NO > 2 IN IBUF_GET_MERGE_PAGE_NOS_FUNC
    
    This is a follow-up to relaxing an assertion in
    Bug#20544581 ASSERTION: REC_PAGE_NO > (ULINT) 4 - (REC_SPACE_ID != 0)
    IN ROW_INS_SEC_INDEX_EN
    
    The assertion was still too tight. In tablespaces created with
    CREATE TABLESPACE, page 2 may be reused for b-tree pages if tables
    have been dropped.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit 3577431acbcc7861595e9bc86c532f14ffee6303
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Apr 23 12:34:48 2015 +0530

    Bug#20748570 BOOL HA_TRX_INFO::IS_TRX_READ_WRITE() CONST: ASSERTION
    `IS_STARTED()' FAILED.
    
    Fixing post push pb2 failure (disabling test script for embedded run)

commit d8845aad7b0396d18cbcb63af6bd23acebc174de
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Apr 23 08:34:19 2015 +0200

    WL#8017 Infrastructure for Optimizer Hints
    
    Post-push fix:
    'analyze table t1' to avoid spurious differences in explain output.
    Increase MAX_EXECUTION_TIME to avoid execution interrupt for valgrind builds.

commit 1c92529841413eff926d4a3a24462990b4a72f34
Author: amit <amit.bhattacharya@oracle.com>
Date:   Thu Apr 23 07:48:01 2015 +0200

    Fixing the query tipping points

commit e4dbed345628af7acf6469d60e2dc55d37588c6a
Author: amit <amit.bhattacharya@oracle.com>
Date:   Tue Mar 24 10:08:20 2015 +0100

    Modified the test to run only on 64 bit machine
    
    (cherry picked from commit a94dc2bc1b2fecd2ebc3129fa59cca99e2e9062e)

commit 2890b80cfb11dc18936a1ca0dfa772b4f958f86a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Apr 22 17:23:48 2015 +0100

    Bug#20927239: MY_TIMER-T UNIT TEST DOES NOT WORK WITH MERGE_UNITTESTS=0
    
    The problem was that the my_timer-t unit test did not work
    properly if it was compiled separately. This was because the
    unit test code was wrapped in #if HAVE_MY_TIMER. This symbol
    is defined in my_config.h which had not been included at that
    point. The same problem existed in my_timer.h.
    
    This patch fixes the problem by removing HAVE_MY_TIMER.
    This symbol is always true for all supported platforms anyway.
    Removing this makes the unit test work as intended and
    simplifies code.

commit 8e6a73e7592d2e89e2215bdb37e3b039978446d8
Merge: c5ee80f 9d72287
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Wed Apr 22 14:45:20 2015 +0100

    Merge post push fix from 'mysql-5.6' into mysql-5.7

commit 9d7228744dde947cbae4548b3b331f29c08602d0
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Mon Apr 20 14:21:54 2015 +0100

    Post push fix for BUG#20431860
    
    The fix for BUG#20431860 was backported from 5.7 but the test case
    needed to be adjusted to run with GTIDs on 5.6.
    
    This adjustment was necessary is because GTIDs does not require
    binary log enabled on 5.7 as it does in 5.6.
    
    After this adjust:
    - i_main.bug19894987 is tested:
      - only without GTIDs and without binary log;
    - i_binlog.binlog-bug19894987 is tested:
      - without GTIDs and with binary log;
      - with GTIDs and with binary log;

commit c5ee80fd59f9da830b1d91725fc4fcfd14128a17
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Wed Apr 22 12:06:50 2015 +0200

    Bug#19593342 CREATE SPATIAL INDEX FAILS TO FLAG AN ERROR FOR INVALID
    GEOMETRY DATA
    
    Post push fix to fix invalid read found by valgrind. Test case is
    already in gis.geojson_functions.

commit fb964559cc97455f4c53dbd447f07a33004114cc
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Apr 22 15:35:24 2015 +0530

    Bug#20748570 BOOL HA_TRX_INFO::IS_TRX_READ_WRITE() CONST: ASSERTION `IS_STARTED()' FAILED.
    
    Problem: Server is hitting the above mentioned assert when commiting statements
    under GTID_MODE is ON + binlog disabled + autocommit enabled combination.
    
    Analysis:  Server saves (commits) transaction owned gtid into gtid_executed table
    before transaction prepare if binlog is disabled or binlog is enabled
    and log_slave_updates is disabled with slave SQL thread or slave worker
    thread. ha_commit_trans() function calculates tranaction context ahead
    of calling gtid_state->save. It could happen that the calculated transaction
    context (ha_info) would  have got committed inside gtid_state->save call
    when autocommit is enabled. In this case, Server is hitting the above
    mentioned error.
    
    Fix: Calculate transaction context after calling gtid_state->save().
    Only execute commit on the remaining/pending transactions.

commit f297455b2034796cc3cdcfd892f37b0ecdf2458c
Author: Mark Leith <mark.leith@oracle.com>
Date:   Wed Apr 22 12:43:01 2015 +0100

    Bug#20902791 MYSQLDUMP DUMPS SYS_SCHEMA
    
    Do not dump the sys schema when using mysqldump --all-databases.
    
    Note: It is still possible to dump the sys schema individually (mysqldump --databases sys), as it may still be something that a user wants to do (given the sys.sys_config persistent table could be recovered for instance if the user wanted to). Further, the sys schema is not ignored for LOCK TABLES as with the performance_schema and INFORMATION_SCHEMA, as the sys schema stores "regular" (InnoDB) objects, that option is still feasible.
    
    Reviewed-by: Bharathy X Satish <bharathy.x.satish@oracle.com>
    Reviewed-by: Georgi Kodinov <georgi.kodinov@oracle.com>
    RB: 8677

commit 47bae36e6d9f26c5e61850b381c34fb5bb3ae1e1
Author: Lalit Choudhary <lalit.choudhary@oracle.com>
Date:   Wed Apr 22 15:08:12 2015 +0530

    Bug#20782142 PAM tests Fixed

commit b86d13aa42b91de6f31484650ce3a3816f2a18ce
Merge: 87710d4 fc73f79
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Wed Apr 22 14:54:18 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit fc73f79342170010aaefa126ce6c4823a1f1d745
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Wed Apr 22 14:51:05 2015 +0530

    Updated file have_util_uz.inc under Bug Bug#20683741

commit 87710d4ec44dcd4a750d2eee163c017faa8f3b95
Author: Thayumanavar <thayumanavar.x.sachithanantha@oracle.com>
Date:   Wed Apr 22 10:57:54 2015 +0530

    BUG#17259750 - STACK CORRUPTION IN VIO_IO_WAIT ON MAC OS X
    
    Description & Fix:
    On OS X, vio_io_wait is implemented using
    select system call (as per analysis in bug#11748945).
    The select system call cannot handle file descriptors
    greater than or equal to FD_SETSIZE. This causes
    stack corruption when FD_SET is used on this range
    of file descriptors.
    This fix is check if fd exceeds or equals FD_SETSIZE in
    vio_io_wait and return failure. Also if the connected
    file descriptor exceeds or equal FD_SETSIZE, do not
    accept the connection on OS X.

commit 1bb4c5f427feeddf8fac9da258a0fbec24240c1d
Author: Thayumanavar <thayumanavar.x.sachithanantha@oracle.com>
Date:   Sun Apr 12 09:17:12 2015 +0530

    BUG# 20798617 - MYSQL CALLS  EXIT(MYSQLD_ABORT_EXIT) WITHOUT
                    SHUTTING DOWN INNODB.
    
    The test innodb.log_file can occasionally crash due to an error
    in the startup error handling. In test step 12 of the innodb.
    log_file cause mysqld startup to abort by calling exit.Thus
    InnoDB is not shutdown properly with some InnoDB threads being
    active causing sporadic test case failure.
    The fix is to exit via unireg_abort which does InnoDB to gracefully
    shutdown. Also move the start of signal handler thread before bootstrap
    in the initialization sequence. Terminate signal handler thread when
    SIGTERM and SIGQUIT irrespective of whether abort_loop is set or unset.

commit 9b9f69602f465544b8f693c14ee31fd9237fc2b5
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Apr 21 15:59:19 2015 +0530

    BUG#20597821 INVALID READ OF BLOB MEMORY FREED IN ::CLEAR_BLOB_HEAP_PART
    
    Problem :
    ---------
    In ha_innopart::rnd_next_in_part() and in other partition fetch calls we
    are freeing the current blob heap for the partition before doing record
    fetch. It looks like SQL is referring to this BLOB heap in case there
    is no data to fetch and so freeing it early causes the issue in
    correlated sub query execution. The issues is introduced from
    [hash:eb16156bf16388153a27e776439dee38a18b2a4b] as part of the bug-fix
    [bug-20582149 - INVALID READ OF SIZE 1 IN PROTOCOL::NET_STORE_DATA].
    
    Solution :
    ----------
    It is good to keep the part consistent between partitioned and
    non-partitioned table. The original fix doesn't need to free the blob
    heap before doing fetch.
    
    1. clear_blob_heap_part() - Removed function and calls from next and
       prev for index and sequential scan.
    
    2. For table scan and unordered scan use only one blob_heap.
    
    3. ha_innopart::rnd_end_in_part() - Remove unconditional reset of
       blob_heap to NULL.
    
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    
    RB: 8215

commit 16f4ccd28b2e51c827bfcdf5650bec55d5e049af
Author: David.Zhao <david.zhao@oracle.com>
Date:   Tue Apr 21 20:05:44 2015 +0800

    Bug#20911624 THE SERVER CRASH WHEN TEST ST_INTERSECTS WITH ST_BUFFER
    
    The issue is caused by unaligned memory access in optimized (-O3) code,
    the fix is to do memcpy/memset in class Geometry::Flags_t's
    constructors and assignment operator.

commit 59740294d13438e1fa6dc2821137dc3704e71371
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Fri Apr 17 11:42:46 2015 -0500

    Bug #20904893 	INNODB: FIX RECENT WINDOWS 32 AND 63 BIT COMPILER WARNINGS

commit b365d0e23b7694da52e01b666e1cc0ec00a7163a
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Apr 21 15:42:48 2015 +0100

    Bug#20921370: NEW CLANG 3.6 WARNINGS - MUST ENABLE -WNO-UNUSED-LOCAL-TYPEDEF
    
    Use -Wno-unused-local-typedef when compiling Boost and GUnit
    to silence compiler warnings we cannot fix ourselves.
    With Clang 3.6 this option has been renamed from
    -Wno-unused-local-typedefs to -Wno-unused-local-typedef
    
    Also backport from mysql-trunk to mysql-5.7 of two patches
    which fixes Clang 3.6 compiler warnings:
    commit 63a9bf52849dc7f754142cdb6bf33b01801afed9
    Author: Vasil Dimov <vasil.dimov@oracle.com>
    Date:   Mon Mar 23 12:42:06 2015 +0200
    
    commit d78d394389213a0c0b00574ea19bed3a688b319d
    Author: Vasil Dimov <vasil.dimov@oracle.com>
    Date:   Mon Mar 23 13:41:52 2015 +0200

commit 8862c4c0f9d6956547af973999ae47c734185ffd
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Tue Apr 21 15:02:00 2015 +0200

    Bug#19593342 CREATE SPATIAL INDEX FAILS TO FLAG AN ERROR FOR INVALID
    GEOMETRY DATA
    
    Post push fix to remove compiler warning in optimized mode.

commit 8241eb3f983ad8f9950af0fc69148dab569c1e22
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Apr 21 14:16:44 2015 +0200

    Clean up mysql-test/collections

commit fde3bd2ec25fd6cbb84a227e51519f50c77f7d8f
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Apr 9 13:49:17 2015 +0200

    Bug#19593342 CREATE SPATIAL INDEX FAILS TO FLAG AN ERROR FOR INVALID
    GEOMETRY DATA
    
    Problem: There's no validation of geometry objects when assigning a
    value to a field.
    
    Fix: When assigning a value to a field, make sure that it is
    well-formed by checking:
    
    1. The byte order is little-endian
    2. The wkbType is within the supported range
    3. The geometry matches the column type
    4. Nested geometries contain only geometries that can be contained by
       that type
    5. Linestrings have at least two points
    6. Polygon rings have at least four points
    7. Polygons have at least one ring
    8. Collections, except geometrycollection, contain at least one
       element.
    9. The string is exactly as long as the geometry object representation
    
    If the value doesn't have all these properties, raise
    ER_CANT_CREATE_GEOMETRY_OBJECT.

commit 3aa505cdd98c5cd6e934140894016c13d22ce702
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Apr 17 16:00:36 2015 +0200

    Bug#20903701 FIX VALGRIND WARNINGS IN UNIT TESTS
    
    Initialize mock objects to avoid valgrind warnings.
    Also: smaller max_allowed_packet in ItemFuncExportSet, to save time.

commit 776d98b1d7254400c23e7a513d786ba3b9d95789
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Tue Apr 21 09:09:52 2015 +0200

    WL#8161: Locking service for read/write named locks
    
    Post-push fix: Fix unit test failure on Windows.
    Since THDs created by the unit test does not have valid VIO,
    the connections could be interpreted as disconnected. This
    made MDL consider the statement as killed and resulted in
    a ER_QUERY_INTERRUPTED rather than ER_LOCKING_SERVICE_TIMEOUT
    given as error code.

commit 5b2b1d58df52c8655a7696527225e176f59c366c
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Apr 21 11:32:19 2015 +0530

    Bug#20789078 innodb: assertion: index->id == btr_page_get_index_id(page)
    
    Problem :
    ---------
    If "drop table" fails we set the table and index corrupted in
    row_drop_table_for_mysql(). Purge background thread asserts
    while trying to access index page for the table.
    
    Solution :
    ----------
    Purge background should not try to clean table marked as corrupt.
    Currently we check for corrupt secondary indexes during purge but not
    checking for the table and primary index. Added check for corrupt
    primary index in purge.
    
    Reviewed-by: Jimmy Yang <Jimmy.Yang@oracle.com>
    Reviewed-by: Marko Makela <Marko.Makela@oracle.com>
    
    RB: 8673

commit cb3da09a26049736a1633164abfd30e7c2231709
Merge: cfe9001 f2d9ad7
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Tue Apr 21 10:32:30 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit f2d9ad7f493e436e5d6486eadeecbeb4ba8c6b32
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Tue Apr 21 10:23:16 2015 +0530

    Bug #17055185 : WRONG RESULTS WHEN RUNNING A SELECT THAT INCLUDES A HAVING BASED ON A FUNCTION.
    
    Post push fix, corrected the test case to make result order irrelavant.

commit cfe9001bc3f16519502668e93940ea123ae6afa7
Merge: 2133574 288e79b
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Tue Apr 21 09:27:22 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 288e79be10e2cb065809dc6590e9b30d0c84a115
Merge: f154c9c ac1978f
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Tue Apr 21 09:26:16 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit ac1978fe47c0846c71c8fdae4c62120c9cc7ba82
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Tue Apr 21 09:24:41 2015 +0530

    Bug #16861371 SSL_OP_NO_COMPRESSION NOT DEFINED
    
    post push change: fixing valgrind failures

commit 21335746aaa45dd3a4b99487ab2ccd64061b0976
Author: Haixiang Li <haixiang.li@oracle.com>
Date:   Tue Apr 21 03:30:47 2015 +0200

    Bug#18486509 ASSERTION FAILED: TABLE->KEY_READ == 0 IN CLOSE_THREAD_TABLE
    
    Description:
    ------------
    - SET statement locks tables before preparing the statement, so preparation
      may sometimes execute subqueries.
    
    - But remove_redundant_subquery_clauses() notices that GROUP BY clause is
      not necessary in a subquery, will remove GROUP/ORDER clause, that leads
      to a subquery in GROUP clause became "invisible", so the subquery is not
      available for cleanup when the whole query is cleaned up.
    
    Fix:
    ----
    For a SET statement with subquery, release a subquery's resources before
    cleaning up after removing the subquery from the item tree.
    
    Test case added.

commit 57c9b5090cf1bf598b929c9ed96e23ff65cd7df4
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Mon Apr 20 15:04:26 2015 +0100

    WL#8161: Locking service for read/write named locks
    
    Post-push fix: Fix valgrind warning by making sure
    udf_handler::get_arguments() uses null-terminated strings
    similar to udf_handler::fix_fields().

commit 14a8ae603869cf4715ff45c1a1b6048c578b3726
Merge: 641a7cf f154c9c
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 20 19:45:23 2015 +0530

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

commit f154c9c5824e8070e872ae770cd42599bdb8e88f
Merge: 400b609 ba3e661
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 20 19:44:29 2015 +0530

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

commit ba3e661b1246ef3a9968704d0a5203ff8baa6944
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 20 19:41:50 2015 +0530

    Bug #16861371 SSL_OP_NO_COMPRESSION NOT DEFINED
    
    post push change: missed the change in mysql-5.5
    (Fixing compiler warning/error)

commit 641a7cfbf44b2086bc6b3f75b631f4f3c79a6060
Merge: 751a9ca 400b609
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 20 18:24:13 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 400b60912fe77955e54d48e856544ba87615bc78
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 20 18:23:07 2015 +0530

    Bug #16861371 SSL_OP_NO_COMPRESSION NOT DEFINED
    
    post push change: Fixed compiler warning/error

commit 751a9ca740e537bc1d2bd4d113761b7c848a96a8
Merge: b0c41a5 0aefd8c
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 20 16:50:37 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0aefd8c918a160dba2942ec3acfbb7d5f7bad083
Merge: d6bd7e0 67a34ec
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 20 16:49:07 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 67a34ec31c7c91b2b03497842a0c2bf7ff2c335c
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Apr 20 16:46:36 2015 +0530

    Bug #16861371 SSL_OP_NO_COMPRESSION NOT DEFINED
    
    Description:
    Can't build mysql-5.5 latest source with openssl 0.9.8e.
    
    Analysis:
    Older OpenSSL versions(prior to openssl 1.0) doesn't have 'SSL_OP_NO_COMPRESSION' defined.
    Hence the build is failing with SSL_OP_NO_COMPRESSION undeclared.
    
    Fix:
    Added a conditonal compilation for 'SSL_OP_NO_COMPRESSION'.
    i.e if 'SSL_OP_NO_COMPRESSION' is defined then have the SSL_set_options call for OpenSSL 1.0 versions.
    Have sk_SSL_COMP_zero() call for OpenSSL 0.9.8 version

commit b0c41a59b5a1f800b3c3c1edd8f275451f2972b8
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Apr 17 15:04:58 2015 +0300

    Fix Bug#20618309 ASSERT SLOT1->PAGE_LEVEL == SLOT2->PAGE_LEVEL, BTR_ESTIMATE_N_ROWS_IN_RANGE()
    
    Relax a too strict assert. If the tree is changed between both dives for
    the left boundary and the right boundary, then our markers (slot1 and
    slot2) could end up on different levels in the tree.
    
    If we detect that this has happened - then retry a few times and if
    still unsuccessful then return an arbitrary number for an estimate.
    
    Reviewed-by:	Marko Mäkelä <marko.makela@oracle.com>
    Reviewed-by:	Jimmy Yang <jimmy.yang@oracle.com>
    RB:		8570

commit 0c8652d38fc71103c8492737029dbbf0c9c53fe5
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Apr 20 14:45:47 2015 +0530

    Bug #20476395 DICT_LOAD_FOREIGNS() FAILED IN COMMIT_INPLACE_ALTER_TABLE
    
    Problem:
    
    Suppose there are two tables in the database related through a foreign key
    constraint - the parent table and the child table.  Suppose there is an ALTER
    TABLE on the child table which gets interrupted in such a way that the child
    table is not available any more.
    
    After crash recovery, an ALTER TABLE on the parent table identifies that its
    foreign keys cannot be loaded.  This results in an error and a debug assert.
    
    Solution:
    
    Remove the debug assert and change error to a warning.
    
    rb#8658 approved by Marko.

commit 5ba81af28ddcb759c51ef8a5a647ee01606ddb3c
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Apr 20 12:21:43 2015 +0530

    Bug#20573701 DROP DATABASE ASSERT ON DEBUG WHEN OTHER FILES PRESENT
    IN DB FOLDER.
    
    Fixing post push pb2 failure (embedded server run)

commit da6fe09d70d760b25976cfc8022b8a6c7cf02b66
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Apr 16 17:42:34 2015 +0530

    Bug#20573701 DROP DATABASE ASSERT ON DEBUG WHEN OTHER FILES PRESENT IN DB FOLDER.
    
    Analysis: In the 'DROP DATABASE' execution, the condition to check and
    throw error (ER_DB_DROP_RMDIR) if there are extra files in the data
    directory was wrongly placed in if(binlog is opened) block.
    Hence this error case was not caught when binlog is disabled.
    
    Fix: Moved the checking code to the proper place which will be executed
    in all the cases (binlog enabled/disabled)

commit e83f22daf0f7d5539bbad5ce6c6acf74f243c8fa
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Apr 14 12:29:21 2015 -0500

    Bug #20883256 	INNODB: WARNINGS: NONNULL PARAMETER WILL
    EVALUATE TO 'TRUE' ON FIRST ENCOUNTER
    
    This compiler warning occurs on a MacOS10.10.2.
    Use (var != NULL) in each affected assert.
    Split each assert into individual asserts when '&&' was used.
    Each attribute((nonnull)) are removed from affected functions
    A few functions are reformatted to the new style, not all.
    The if (found) will stay deleted because all the callers really
    do send in a valid pointer. ut_ad(found != NULL); is added.
    dict_set_corrupted_index_cache_only() is always used when
    table == index->table. So only index is needed as a parameter
    and the function can be greatly simplified.

commit 3010f32088b63d72d97fd2e483bf148699379cb8
Merge: 03cf24c d6bd7e0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 17 15:29:44 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit d6bd7e01bb057abe950f4a2e518b208ef09c1d83
Merge: fa8e9aa 1dd2957
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Apr 17 15:28:09 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 1dd2957dcc6e8b336bf1afe7fc22463ad9e6116f
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.

commit 03cf24c4bc9024a1fb2e0e51fff45b0629711490
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Apr 17 08:33:35 2015 +0100

    WL#8161: Locking service for read/write named locks
    
    This patch introduces a locking service for read/write locks.
    Locks are taken based on a combination of namespace and lock name.
    
    The service is accessible by a new plugin service as well
    as three UDFs.
    
    Deb/rpm packaging have been updated to reflect this WL.

commit 7bd3be2c895b238a61be805db24c1944b958e7e2
Merge: 376ce86 fa8e9aa
Author: Sayantan Dutta <sayantan.dutta@oracle.com>
Date:   Fri Apr 17 14:48:53 2015 +0530

    BUG 20414588 5.6 => 5.7

commit fa8e9aa0a6c6c1f8801343ce830fecd49382a470
Author: Sayantan Dutta <sayantan.dutta@oracle.com>
Date:   Fri Apr 17 14:43:12 2015 +0530

    BUG #20414588 - REMOVE HARD-CODED AIO DISABLE FROM MTR

commit 376ce867d2697d271563f77726ac4e482a1cc22c
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Fri Apr 17 12:03:17 2015 +0300

    Bug#20882432 INCORRECT MERGE_THRESHOLD LENGTH IN SYS_INDEXES AFTER UPGRADE, TRUNCATE, RESTART
    
    With WL#6747, MySQL 5.7.6 changed the on-disk format of the
    InnoDB-internal SYS_INDEXES table. It used to consist of a clustered
    index B-tree with 9 fields (7 user columns in the table,
    plus two system columns).
    The column INDEX_MERGE_THRESHOLD was added at the end.
    
    When MySQL 5.7.6 or later is started on a dataset that was created
    with MySQL 5.7.5 or earlier, all existing entries in the clustered
    index of SYS_INDEXES would still have 9 fields.
    
    On TRUNCATE TABLE, the function row_truncate_update_table_id() would
    update the TABLE_ID in the SYS_INDEXES records for that table. If the
    table was originally created before MySQL 5.7.6 and not rebuilt since
    then, some or all of its SYS_INDEXES records would have only 9 fields.
    The UPDATE statement would replace these records with 10-field ones,
    but writing MERGE_THRESHOLD=NULL.
    
    After the server is restarted or the table is evicted from the data
    dictionary cache and subsequently reloaded, InnoDB would pretend that
    the table does not exist, because the MERGE_THRESHOLD column in the
    affected SYS_INDEXES records is present but NULL.
    
    dict_load_index_low(): Treat SYS_INDEXES.MERGE_THRESHOLD=NULL in the
    same way as a missing SYS_INDEXES.MERGE_THRESHOLD column.
    
    This bug was reproduced manually. We do not have a test case, because
    it would require archiving an entire data directory from MySQL 5.7.5
    or earlier.
    
    Steps to reproduce:
    
    (cd mysql-5.7.5*/mysql-test; ./mtr main.1st)
    
    mysql-5.7.6*/bin/mysqld --no-defaults \
    --lc-messages-dir `pwd`/mysql-5.7.6*/share \
    --datadir `pwd`/mysql-5.7.5*/mysql-test/var/install.db &
    
    echo 'TRUNCATE TABLE mysql.help_topic;"|mysql -uroot
    
    # Initiate clean shutdown
    kill -QUIT %1
    fg
    
    mysql-5.7.6*/bin/mysqld --no-defaults \
    --lc-messages-dir `pwd`/mysql-5.7.6*/share \
    --datadir `pwd`/mysql-5.7.5*/mysql-test/var/install.db &
    
    echo 'TRUNCATE TABLE mysql.help_topic;"|mysql -uroot
    
    #Now, InnoDB will pretend that the table does not exist:
    #ERROR 1146 (42S02) at line 1: Table 'mysql.help_topic' doesn't exist
    #And in the server error log, you will have the entry
    #[ERROR] InnoDB: incorrect MERGE_THRESHOLD length in SYS_INDEXES
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit 2c055762b8de79c3aab21f46c68a878a473a8ec1
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Apr 17 09:00:25 2015 +0100

    Clarify comment in my_global.h about where and why this header
    should be included.
    
    Reviewed-By : Tor Didriksen <tor.didriksen@oracle.com>

commit 02c0a1947be94f4f455c4f1197da5d7396a8ecca
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Fri Apr 17 09:55:58 2015 +0200

    Dummy commit to keep the push hook happy.

commit b406a78d3ddf4f57442c889f8019804f06f508c3
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Fri Apr 17 09:23:19 2015 +0200

    Bug#20856729: QUERY REWRITE: WRONG IFDEF SYMBOL IN SERVICE_PARSER.H
    
    The #ifdef'd symbol MYSQL_DYNAMIC_PLUGIN was misspelled, causing the code
    using a struct mysql_parser_service_st to disappear. When this was fixed, it
    became evident that this code hadn't kept up with the development of the
    service API, the function mysql_parser_get_statement_type() was missing. The
    naming was also inconsistent, so it has now been changed to this:
    
    - The function pointers inside the struct have names starting with mysql_.
    - The free functions pointed to have names starting with mysql_parser_.
    
    The public API changes, but it was incorrect before.

commit df56a56b62251984e12b7961f024274250b304d6
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Apr 17 09:59:11 2015 +0530

    Bug#20364862 : MYSQLADMIN PASSWORD AFFECTS EXTERNAL AUTH ACCOUNTS
    
    Post push fix : Setting NONE_ATTR in case
                    set_and_validate_user_attributes raises warning.

commit 8a214f08096ea714d0b0c0712e81011d8f4015ca
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Apr 16 17:14:19 2015 +0530

    Bug#20364862 : MYSQLADMIN PASSWORD AFFECTS EXTERNAL AUTH ACCOUNTS
    
    Description: A mysql user who uses external authentication mechanism
                 can execute ALTER USER/SET PASSWORD in such a way that
                 account becomes unusable.
    
    Solution : 1> Added authentication flags in st_mysql_auth to specify
                  plugin's preferences.
               2> Added two flag values:
                  a> To state that credential change is privileged operation
                     If this flag is set, server would make sure that user
                     executing ALTER USER/GRANT has either UPDATE access on
                     mysql.* or CREATE USER privilege.
                  b> To state whether plugin uses internal storage or not.
                     If this flag is not set, SET PASSWORD operation would
                     throw a warning and will not modify password.
               3> Unit tests to functionality.
    
    Reviewed-By : Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By : Bharthy Satish <bharathy.x.satish@oracle.com>
    Reviewed-By : Marek Szymczak <marek.szymxzak@oracle.com>

commit cf095da63baa97b2182e41727e4319a8808840df
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Thu Apr 16 16:15:00 2015 +0530

    Bug#20771331 : BE MORE EXPLICIT WHEN ABORTING DUE TO MISSING DIR SET BY SECURE-FILE-PRIV OPTION
    
    Post push fix : Resolved test failure on Windows.

commit c2ce1c9cb2ce9c326a816c033ecbf89fd3beb696
Merge: 06b1cd7 eefca34
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Apr 16 14:41:27 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit eefca34e8e95d9e92f0f7e82d045da360f799658
Author: Arun Kuruvila <arun.kuruvila@oracle.com>
Date:   Thu Apr 16 14:37:20 2015 +0530

    Bug #19953365 MY_PRINT_DEFAULTS DOES NOT MASK PASSWORDS
    
    Description : "my_print_defaults" does not mask the
    password while printing it.
    
    Analysis : "my_print_defaults" does not mask the password
    value before printing while displaying all the config param
    values.
    
    Fix : In "my_print_defaults", the password arguments are
    masked by default while printing. An new  option,
    "--show" has been introduced in this utility which is used
    to print passwords without masking.
    
    NOTE : mtr test case not added since '--password' option's
    value cannot be specified at the command line.

commit 06b1cd71bc36e4bd5948e42006059d7434155a59
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Wed Apr 1 15:09:59 2015 +0200

    Bug#20752436: INNODB: FAILING ASSERTION: 0 IN FILE HANDLER0ALTER.CC LINE 6647
    
    Problem: Attempting to create a foreign key matching a SPATIAL index
    would lead to an assert in debug mode. Creating a foreign key matching
    a FULLTEXT index would fail.
    
    Root cause was that the keys generated by the server for the foreign
    keys in this case were ignored since the generated key was considered
    a prefix of the SPATIAL or FULLTEXT key.
    
    Solution: Exclude SPATIAL and FULLTEXT keys from the set of keys that
    can be used in place of the generated key when the latter is a
    prefix. Note that it isn't (and never was) possible to create a
    foreign key on a GEOMETRY column, so the fix causes the same error to
    be reported even if there happens to be a SPATIAL index on the column.
    
    Some negative tests fail with different error messages with this
    change and have to be updated.
    
    (cherry picked from commit 81089203a91e6fb17105422684a4ccdb08a7b3d9)

commit bfce92f2f44fdaa6499a8f12e4dede424990e981
Merge: e1f760c 649afc1
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Apr 16 13:20:54 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 649afc1ca2033b2019fe244f078ccce16c41f57f
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Apr 16 11:40:48 2015 +0530

    BUG#17650326 MYSQLBINLOG PRINTS INVALID SQL FROM RELAY LOGS WHEN GTID IS ENABLED
    
    Problem (1) : Replaying a relaylog which ends with GTID_LOG_EVENT causes
    error "ERROR 1790 (HY000) @@SESSION.GTID_NEXT cannot be changed by a client
    that owns a GTID. The client owns <UUID:GTID> Ownership is released on
    COMMIT or ROLLBACK."
    
    Analysis: mysqlbinlog tool appends SET @@SESSION.GTID_NEXT='AUTOMATIC'
    to output when it finds a rotate log event and if it is not inside
    a transaction which is the right thing to do. The tool has in_transaction
    flag which will be set true upon processing any transaction event.
    But a GTID_LOG_EVENT is not treated as a transaction event,
    hence in_transaction is false even after processing GTID_LOG_EVENT.
    If a relaylog rotate happens (either through IO thread restart/ROTATE
    command), exactly after writing GTID_LOG_EVENT and if we are replaying such a
    relaylog's end ROTATE_EVENT, logic was mistakenly thinking that it was not
    inside a transaction but actually the transaction was started after
    GTID_LOG_EVENT. Hence tool generates SET @@SESSION.GTID_NEXT='AUTOMATIC'.
    This issue resulted in having two GTID_NEXT statements next to each other and
    replaying such output against 'mysql' client tool was causing above specified
    error (ERROR:1790).
    
    Fix: One way to fix this issue is to set in_transaction flag to true when it
    encounters GTID_LOG_EVENT. But this change will disturb DDL transaction
    detection logic (mysqlbinlog tool logic assumes that DDL transactions will
    have only one event per transaction). So instead of disturbing that logic,
    we have followed another approach to solve the issue. 'mysqlbinlog' tool
    generates "SET @@SESSION.GTID_NEXT='AUTOMATIC'" only when in_transaction
    is false and is_gtid_next_valid is false (which represents that we are
    not in transaction and did not even see GTID_LOG_EVENT.
    
    Problem (2): 'ROLLBACK' is not getting generated by mysqlbinlog tool
    when concatenating and replaying two consecutive relaylogs
    (the first relaylog contains partial transaction and second relaylog
    contains full transaction again).
    
    Analysis: If IO thread is restarted when it is in the middle of
    transferring a tranasction from Master then it will retrieve the
    full transaction again upon restart. In that case, the first relaylog
    contains partial GTID transaction and the second relaylog will
    contain full GTID transaction again. If mysqlbinlog tool is used
    to merge such two relaylogs it should generate a 'ROLLBACK' statement
    after partial transaction. Otherwise it will cause above said error
    (ERROR:1790).
    
    Fix: If IO thread is restarted, the new generated relaylog will have
    FD event received from Master and will have log_pos greater than zero
    if the AUTO_POSITION is true i.e., this will indicate that if we
    were in transaction in first relaylog, Master would have sent the
    transaction again from the beginning. In this case, upon reading such
    a FD event, generate 'ROLLBACK' statement in generated output. If
    we have seen only GTID_LOG_EVENT of the transaction and not seen
    'BEGIN' statement, then generate BEGIN and ROLLBACK statements
    in generated output.

commit e1f760cdaa977c2256d65e0953eb0b5ea4055913
Merge: b70832d 57b76e1
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Apr 16 10:59:08 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 57b76e101d973f19f55f3466025399444139f5be
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Apr 16 10:55:47 2015 +0530

    Bug#20350989: MYSQLBINLOG CAN'T DECODE EVENTS > ~1.6GB
    
    Problem:
    ========
    While converting row_data into base64 encoded format the
    row_data size conversion happens in the following manner.
    The initial row data is stored in an uint32 variable. The
    base64 encoded value needs about 4/3rds as much space of the
    raw data. Int variable is used to store the base64 bit
    encoded length. Because of this when a large event is
    received the conversion from uint32->int results in
    overflow.
    
    So instead of 2161403577 bytes (~2GB), malloc/mmap received
    a request for 18446744071575990272 (~18 ExaBytes) was issued
    due to the uint32->int->size_t conversion mess ...
    
    Analysis:
    ========
    Problem is that mysqlbinlog tries to allocate a buffer large
    enough to store a base64 encoded version of the event data
    (in sql/log_event.cc). Data length is taken from a four byte
    field in the event header, so it is limited to 4GB, which
    isn't the problem here yet. This value is then passed to
    base64_needed_encoded_length() from mysys/base64.c, and here
    disaster strikes as this function is declared as
    
    int base64_needed_encoded_length(int length_of_data)
    
    log_event.cc stores the extracted event length in uint32
    variable. This length is intern passed to the above function
    base64_needed_encoded_length which converts the size to int.
    When the event size is large and required base64 data length
    exceeds int limits this results in an overflow and results
    in out of memory error.
    
    Fix:
    ===
    Upgraded the length variable to avoid overflow in both
    encoding and decoding functions.
    
    Note: The mentioned server changes will cause following
    warnings in cluster code.
    
    storage/ndb/src/mgmapi/mgmapi.cpp:3407: warning: field width
    specifier ‘*’ expects argument of type ‘int’, but argument 3
    has type ‘size_t {aka long unsigned int}’ [-Wformat=]
    
    storage/ndb/src/mgmsrv/Config.cpp:247: warning:...
    
    The above code changes are used in cluster code to exchange
    configuration data between cluster nodes and management
    server. This code is used for both packing and unpacking the
    base64 encoded data. This data can be of max length as shown
    below which is well within int limits.
    
    if(len64 ==0 || len64 > (1024*1024)) {
      result.assfmt("Illegal config length size %d", len64);
      goto done;
    }
    
    Hence to fix these warnings for cluster code the base64
    encoded length is still typecasted to int.

commit b70832d493e6ba6b1c9e0223a817b3886cf89733
Merge: f353712 9410f57
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Apr 16 07:18:01 2015 +0200

    Null-merge 5.6 into 5.7 and trunk

commit f3537125e4f8ff32f144644983ca9847fd77236e
Merge: 84389a1 0318bf6
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Apr 15 10:04:40 2015 -0500

    Merge branch 'mysql-5.7' into mysql-5.7-20886222

commit 84389a10af7ddd189a86dc3813501c3263891dd5
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Apr 15 10:02:00 2015 -0500

    Bug#20886222 MOVE THE DECLARATION OF FIL_NODE_T TO A HEADER FILE,
                 AND CLEAN UP COMMENTS
    Move the definition of the data structure fil_node_t from fil0fil.cc
    to fil0fil.h so that diagnostics code outside that module can access
    information about the files belonging to a tablespace.
    Also do other cleanup and formatting changes.

commit 0318bf61c291c0cc7ad25a323d5c0afe3735a72b
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Apr 14 13:43:34 2015 +0200

    Bug#20849157 FIREWALL PLUGIN LEAKS MEMORY IN REPORT_ACCESS_DENIED
    Bug#20848331 WOULD LIKE ABILITY TO THROTTLE FIREWALL ACCESS DENIED MESSAGES
    
    During some circumstances the dbg trace code caused leaks and occassional
    crashes on some platforms. This patch replace the trace code with the
    my_plugin_message() API for writing directly to the error log.
    The meaning on the mysql_firewall_trace variable is redefined to
    mean if INFORMATION_LEVEL messages are printed to the log or not.
    This presents an option for DBAs which need to disable error logging
    from the firewall.

commit 9410f57e16edabbb1fb118ae1c4a5a6fcc025f91
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Apr 14 13:43:34 2015 +0200

    Bug#20849157 FIREWALL PLUGIN LEAKS MEMORY IN REPORT_ACCESS_DENIED
    Bug#20848331 WOULD LIKE ABILITY TO THROTTLE FIREWALL ACCESS DENIED MESSAGES
    
    During some circumstances the dbg trace code caused leaks and occassional
    crashes on some platforms. This patch replace the trace code with the
    my_plugin_message() API for writing directly to the error log.
    The meaning on the mysql_firewall_trace variable is redefined to
    mean if INFORMATION_LEVEL messages are printed to the log or not.
    This presents an option for DBAs which need to disable error logging
    from the firewall.

commit 0aa7f23c18e8f71e7c0430d936939c0940a3932e
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Apr 15 15:15:34 2015 +0200

    Test cleanup

commit 3a50b25f6b7395a1baa814def7608486e3859042
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Wed Apr 15 14:33:10 2015 +0300

    Convert a func comments to new the InnoDB style.

commit 7ead4357234cd4563e698ab0e1385bdde9bcb569
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Thu Apr 2 18:52:15 2015 +0300

    Non-functional style fixups

commit 4f20d300b16b25b9a7f23b66b283af9164fdc27e
Merge: 877ee2d da60357
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Apr 15 13:22:40 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	cmake/make_dist.cmake.in

commit da6035732e271be070528eb0d35b8f7694fff13b
Merge: 242f5b2 4590bab
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Apr 15 13:18:22 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6

commit 4590bab0fd69abb19d537cd048b51989718142ed
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Apr 15 13:17:43 2015 +0200

    Bug#20872436 MAKE DIST BY MISTAKE COPIES FILES WITH VARIABLE EXPANSION
    
    Fix typo: s/COPY_ONLY/COPYONLY/g
    
    (cherry picked from commit 034046b4dfe3e6f83e0cf73310884334e0507f06)
    
    Conflicts:
    	cmake/make_dist.cmake.in

commit 877ee2d77d4ac1afd027900e735d4d315c4314bf
Merge: 030d187 242f5b2
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Wed Apr 15 15:12:20 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Bug #17055185 : WRONG RESULTS WHEN RUNNING A SELECT THAT
                    INCLUDES A HAVING BASED ON A FUNCTION.
    
    ISSUE:
    ------
    In end_write and end_write_group, Item_refs in having
    conditions should refer to tmp_table->record[0]. But
    join->ref_ptrs is not set to tmp_table->ref_array
    because of this Item_refs in having is referring to Items
    before tmp table. This lead to re-evaluation expressions
    in having. Non-deterministic functions like rand() on
    re-evaluation produces different results. If having refers
    to one such expression in select list and it re-evaluate
    them instead of referring to the saved results through
    tmp_table->ref_array, can result in inconsistent results.
    A similar issue in end_send where we need to refer to
    grouping ref_array. Example: In loose index scan where
    having refers to non-deterministic expression can result
    in inconsistent results.
    
    Solution:
    ----
    In end_write and end_write_group set join->ref_ptrs with
    tmp_table->ref_array.
    Similarly in end_send if join->items3 (used as group
    ref_array) is set, set it as current items ref_array.

commit 242f5b291c9ffc48eb8d5cb33c5f1f35cd5d35c8
Author: Mithun C Y <mithun.c.y@oracle.com>
Date:   Wed Apr 15 15:08:25 2015 +0530

    Bug #17055185 : WRONG RESULTS WHEN RUNNING A SELECT THAT INCLUDES A HAVING BASED ON A FUNCTION.
    
    ISSUE:
    ------
    In end_write and end_write_group, Item_refs in having
    conditions should refer to tmp_table->record[0]. But
    join->ref_ptrs is not set to tmp_table->ref_array
    because of this Item_refs in having is referring to Items
    before tmp table. This lead to re-evaluation expressions
    in having. Non-deterministic functions like rand() on
    re-evaluation produces different results. If having refers
    to one such expression in select list and it re-evaluate
    them instead of referring to the saved results through
    tmp_table->ref_array, can result in inconsistent results.
    A similar issue in end_send where we need to refer to
    grouping ref_array. Example: In loose index scan where
    having refers to non-deterministic expression can result
    in inconsistent results.
    
    Solution:
    ---------
    If there is no select distinct, convert having condition
    to temp table conditions. With this Item_ref in having
    will be converted to Item_field of temp field. Since
    temp table already stores the result of group items, new
    Item_fields will refer to these stored results now.
    
    NOTE:
    -----
    1. We cannot set the join->ref_ptrs to tmp table ref_array
    as in end_send_group, because this have impact on PREPARE
    EXEC statements, reason is in JOIN::optimize we still do
    resolution under the flag "first_optimization", here we try
    to save select_lex->prep_where for next execution. Setting
    ref_ptrs can make outer ref in where clause to point to
    temp table items, so prep_where will point to some temp
    table items, which will be freed after execution, for next
    execution of same statement prep_where points to freed
    items, then de-referencing same!!!.
    This issue is solved with WL7082 in 5.7
    2. If distinct is there I cannot move the having after
    applying distinct reason is if having items of having
    condition are not part of distinct then distinct key
    may remove rows witch satisfy having and keep which
    do not satisfy having. Thus me may loose some valid
    rows before applying having.
    3. If plan is loose index scan we do not fix it in 5.6
    because to fix this in end_send we need to set
    join->ref_ptrs to items3. As in point 1 doing any such
    things in 5.6 will lead to crash for PS. Already we have
    similar issue for end_send_group. so avoiding it.

commit 030d187ec943c4fa7d2f05e72f34d0e271678cdc
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Tue Apr 14 19:08:47 2015 +0200

    Bug#20615023 SIGNAL 11 IN ITEM_FIELD::RESULT_TYPE DURING 1ST EXECUTION OF PREPARED STMT
    
    There is a correct optimization which replaces
    "x IN (SELECT y FROM DUAL)"
    with "x=y". But it ignores WHERE, so it also replaces
    "x IN (SELECT y FROM DUAL WHERE condition)" with "x=y".
    This is wrong, "condition" might be FALSE or UNKNOWN, so the subquery
    should then produce a NULL result, and the predicate should be UNKNOWN.
    In other words: presence of WHERE should turn the optimization off.
    As all in-to-exists subquery code, this optimization is from 2003-2004;
    a similar problem was found and fixed in 2006 (bug 24670) but this code
    block was not handled.

commit 034046b4dfe3e6f83e0cf73310884334e0507f06
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Apr 13 15:35:23 2015 +0200

    Bug#20872436 MAKE DIST BY MISTAKE COPIES FILES WITH VARIABLE EXPANSION
    
    Fix typo: s/COPY_ONLY/COPYONLY/g

commit 06556625f9edd3d433c38c25ad37b83e9d779b70
Author: Bin Su <bin.x.su@oracle.com>
Date:   Wed Apr 15 15:25:57 2015 +0800

    BUG 20459905 - DEADLOCK OF THREADS DETECTED! 5.7.5, 1 THREAD SQL TESTCASE,
    SPORADIC, IN IB_LOGF
    
    If we set btr_cur_limit_optimistic_insert_debug, we have to make sure that
    we do the same judgement in btr_cur_will_modify_tree as in optimistic insert
    function, to prevent making an incorrect decision the tree aren't about to
    be modified.
    
    RB: 8607
    Reviewed-by: Jimmy Yang <jimmg.yang@oracle.com>

commit b330c05aed511bc3006e2368477e4413734461b5
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Wed Apr 15 08:45:35 2015 +0300

    Bug#20863042 Stop filling mtr logs with InnoDB page dumps
    
    Remove most calls to buf_page_print().
    
    Also, use ib::logger instead of stderr for reporting records.
    
    For now, we will keep the page dumps related to file I/O.
    They might be a good debugging aid if reading intermittently fails.
    Later, we may remove that output too, because if we fail to read a
    block (and intentionally commit suicide because of that), the
    operator could try to re-read that same block using external tools,
    based on the page number that is present in the server error log.
    
    RB: 8618
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit 6455f6a14ee66724e863337cf859383c9d8deb08
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Tue Apr 14 14:02:41 2015 +0200

    Remove a test from the experimental collection.
    
    Approved by Shivji Jha <shivji.jha@oracle.com> over IM.

commit ea8813bb1c5ca8059b849e65286f2909f7a658ae
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Apr 14 11:25:39 2015 +0300

    Clean up the post-commit fix for Bug#20872655 debug instrumentation.
    
    innobase_close_connection() can legitimately call rollback on a XA PREPARE
    transaction that did not generate any persistent undo log.
    
    If we wanted InnoDB to keep track of such empty XA PREPARE transactions,
    we would have to change the InnoDB undo log format. For now, both a client
    disconnect and a server restart will make InnoDB to completely forget
    about the XA PREPARE of such empty transactions.
    
    We do need to avoid calling DEBUG_SYNC in innobase_close_connection().
    But, instead of checking thd_sql_command() we will use a more appropriate
    predicate: trx_is_redo_rseg_updated(trx).
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit dd1b94f63f1d1e1bcb0afd83b249c53a18f47957
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Apr 14 09:25:23 2015 +0300

    Bug#20874411 INNODB SHUTDOWN HANGS IF INNODB_FORCE_RECOVERY>=3
    SKIPPED ANY ROLLBACK
    
    trx_sys_any_active_transactions(): If any prepared ACTIVE transactions
    exist, and their rollback was prevented by innodb_force_recovery,
    convert these transactions to XA PREPARE state in the main-memory
    data structures, so that shutdown will proceed normally. These transactions
    will again recover as ACTIVE on the next restart, and they will be rolled
    back unless innodb_force_recovery>=3 again.
    
    trx_undo_fake_prepared(): An auxiliary function to set an undo log to
    PREPARED state.
    
    RB: 8610
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit d4f1bd8102462afe9fbc4350d8a490a6cd73af2b
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Apr 14 08:29:14 2015 +0300

    Post-commit fix or work-around for Bug#20872655 debug instrumentation.
    
    There appears to be a problem with WL#6860 that causes
    trx_rollback_for_mysql() to be called from innobase_close_connection()
    even when the transaction is in XA PREPARE state.
    
    At this point, the DEBUG_SYNC would trigger an assertion failure,
    because the being-disconnected THD object is not valid for DEBUG_SYNC
    any more.
    
    Workaround: Only execute the DEBUG_SYNC if the current statement
    is XA ROLLBACK.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit 280fe0cf80b76fff5396f3981853914dabfde5a1
Merge: 47e7130 3c18270
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Apr 13 13:54:50 2015 +0200

    Merge branch 'mysql-5.7' into mysql-5.7-wl7795

commit 3c18270931475826c4a407f8780e7e4042282a36
Merge: 9fe2d9c c7f049d
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Apr 13 13:38:10 2015 +0200

    Empty version change upmerge

commit c7f049d253fdc19b3724461049c3f5a1235bf277
Merge: 64356e5 03bb844
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Apr 13 13:36:39 2015 +0200

    Empty version change upmerge

commit 03bb8442b62e5685ae576ab74887856f7d159fa6
Merge: 05a089f 8716bea
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Apr 13 13:35:40 2015 +0200

    Empty version change upmerge

commit 8716bea96ad837b001b3e670fefed1589b434f26
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Apr 13 13:34:27 2015 +0200

    Raised version after tagging 5.1.74 (some commits skipped)

commit 9fe2d9ce18462ad50201b2250f08462c7d51a8a7
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Mon Apr 13 14:20:42 2015 +0300

    Bug#20872655 XA ROLLBACK IS NOT CRASH-SAFE
    
    When InnoDB is killed while XA ROLLBACK is executing, the transaction
    would incorrectly be recovered as being in XA PREPARE state, and
    a subsequent XA COMMIT would be possible, breaking the A in ACID and
    potentially causing corruption between the indexes of a table, depending
    on which changes done by the XA ROLLBACK got persisted.
    
    trx_undo_set_state_at_prepare(): Add the parameter rollback, to allow
    XA ROLLBACK to be persisted.
    
    trx_rollback_for_mysql(): When rolling back a XA PREPARE transaction,
    move its persistent insert_undo and update_undo into ACTIVE state,
    so that the rollback will be completed by crash recovery, in case the
    server is killed before the XA ROLLBACK is finished and persisted.
    
    RB:8596
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>

commit 1e4c86dd538a1cf53c577132a2dda5bdf9ee7f99
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon Apr 13 15:20:10 2015 +0530

    Bug#20771331 : BE MORE EXPLICIT WHEN ABORTING DUE TO MISSING DIR SET BY SECURE-FILE-PRIV OPTION
    
    Fixing post push failure.

commit 46f18f913f54da8bd4fd465daaced02985bb91f7
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Thu Apr 9 14:19:09 2015 +0200

    Bug#20788811 MAX_STATEMENT_TIME: ASSERTION `EXPLAIN_OTHER || UNIT->IS_OPTIMIZED()' FAILED.
    
    We open many connections sending repeatedly:
    explain select 1 from t1 where a in (select 1 union select 1)
            union select 1;
    And we have max_statement_time=1.
    Occasionally, one such query takes more than one second, and
    the KILL_TIMEOUT is given while it's optimizing:
    (select 1 union select 1) (the inside of IN());
    during that optimization, we optimize the two "select 1"
    then proceed to optimizing the fake select lex, which is when the
    timeout occurs:
    Optimize_table_order::best_extension_by_limited_search()
    gets the timeout:
    (gdb) p thd->killed
    $39 = THD::KILL_TIMEOUT
    so returns here:
      if (thd->killed)  // Abort
        DBUG_RETURN(true);
    That makes select_lex::optimize() fail (select_lex is fake_select_lex).
    This makes select_lex::optimize() fail (this time select_lex is the first
    query of the top union, i.e. the owner of IN()).
    So we break from the loop of unit->optimize() (where 'unit' is the top
    UNION), we still move on to optimize unit->fake_select_lex (the mistake)
    which resets 'status' to 'false'. Then it goes wrong, as
    status==false => We set unit->is_optimized() to true and return "ok".
    Later we try to explain that and crash on the non-properly-optimized
    part UNION-in-subquery.
    
    Fix: don't return "ok" if a query block had a failure; then statement
    will terminate before reaching EXPLAIN code.
    No testcase: it requires concurrency, and it's just a plain stupid
    coding mistake. I tested manually - without patch, crash in 5 minutes;
    with patch, no crash in two runs of 3 hours each.

commit 9b9a6cb1a796ed796ed45b476aff6e48845dfe11
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Mon Apr 13 14:06:42 2015 +0530

    Bug#20771331 : BE MORE EXPLICIT WHEN ABORTING DUE TO MISSING DIR SET BY SECURE-FILE-PRIV OPTION
    
    Description : In case of invalid value for --secure-file-priv, server throws
                  a warning which does not provide enough information about cause
                  server abort.
    
    Solution : Changed warning to error and changed its text to be more descriptive.
               Also added warning if plugin directory is accessible through the value
               of --secure-file-priv.
    
    Reviewed-By : Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By : Bharthy Satish <bharathy.x.satish@oracle.com>

commit 47e71300f30a7a921a4761b5c56e850228f7b2a5
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Apr 13 10:33:37 2015 +0200

    Test cleanup

commit e52b13562cd258f36201a5e607b5c4b5f336a80a
Merge: babd34d 6f67023
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Apr 13 09:33:25 2015 +0200

    Merge branch 'mysql-5.7' into mysql-5.7-wl7795

commit 6f67023b77e7f1ec796cb13f91308b5858408ed1
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Mon Apr 13 10:28:21 2015 +0530

    Fix Bug#20568464 MITIGATE THE STRICTNESS OF STRICT_* MODES
    		OF INNODB_CHECKSUM_ALGORITHM
    
    	- Post push fix for test case failure
    
    Reviewed by: Marko Mäkelä <marko.makela@oracle.com>
    RB: Approved via IM

commit cbbf296990bd6748018b976e2a37d5263d67db4e
Author: Daogang.qu <bill.qu@oracle.com>
Date:   Sat Apr 11 17:29:24 2015 +0800

    Bug#20104307 GTID_EXECUTED TABLE COMPRESSION THREAD MAY NOT WAKE UP
    
    The gtid_executed table is range compressed by a background thread,
    every N transactions, where N is specified by
    @@global.executed_gtids_compression_period. The communication between
    a committing client thread and the waiting background thread is done
    using a global variable, which indicates whether the compression
    thread should wake up or not; a mutex and condition variable, which
    the the compression hangs on, and a signal, which the committing
    thread sends for the condition variable. However, the protocol for
    signalling on condition variables is not followed. The committing
    thread does not protect the update of the global variable with the
    mutex. So when the compression thread wakes up, it is possible that
    the global variable has only been changed in a memory cache that is
    only visible to the committing thread. Then the compression thread
    will read the old value of the global variable, and think that the
    signal was only sent spuriously, and go back to sleep.
    
    To fix the potential problem, The committing thread protects the
    update of the global variable with a mutex.

commit 3c1fbf6e67e80697f9efb4677e77302a0bea74f7
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Apr 10 15:57:16 2015 +0200

    sys_vars.innodb_compress_debug_basic requires P_S to run
    
    Add a check in the test so it gets skipped on non P_S runs (like embedded).
    
    Approved by Jon Hauglid <jon.hauglid@oracle.com> over IM.

commit 1f618891f02783a5a92d2e360bed8f21a150c3ce
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Fri Apr 10 12:24:06 2015 +0200

    Bug#20578834 - INNODB READ ONLY MODE AND NON EXISTENT TMP DIR CRASHES SERVER
    
    Problem:
    --------
    On innodb read only mode and with non existent tmpdir, we try to create a file and crash.
    
    Fix:
    ---
    Skip file creation in read-only mode
    
    Reviewed-by: Marko Makela<marko.makela@oracle.com>
    RB : 8585

commit 2e322d1f9d0049f27ab994ed30a24f4d825c8a61
Merge: decbf97 64356e5
Author: Aditya A <aditya.a@oracle.com>
Date:   Fri Apr 10 15:48:51 2015 +0530

    Bug #20809045    BUFFER OVERFLOW IN MYSQL
    Merge branch 'mysql-5.6' into mysql-5.7

commit 64356e57e5895ca2e97eadb84920bfb5ab83c6f1
Author: Aditya A <aditya.a@oracle.com>
Date:   Fri Apr 10 15:42:41 2015 +0530

    Bug #20809045    BUFFER OVERFLOW IN MYSQL
    
    PROBLEM
    
    Buffer overflow caused in function add_keyword_path()
    when we do a strcpy without checking the length of the
    string.
    
    FIX
    
    We dont allow the path (path + tablename  to be greater
    than 512 bytes (FN_REFLEN). Therfore added a check in
    add_keyword_path() to skip strcpy if string length is
    greater than 511 bytes

commit decbf97747f4cf303152687b4854a1eb9451e521
Merge: ee7c296 746d949
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Apr 10 10:22:38 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 746d9495ebdb4b7b69894bab0d94d01c277d4e5a
Merge: b377595 5b002e9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Apr 10 09:36:20 2015 +0200

    Merge branch 'mysql-5.6' of myrepo:mysql into mysql-5.6

commit ee7c2962a206c348c535e4e29a2dfe4514ad7324
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Apr 10 06:16:41 2015 +0200

    Silence rpl_xa_survive_crash_debug in Valgrind.
    
    The test times out after 9000 sec.
    
    Approved by Anitha Gopi <anitha.gopi@oracle.com> over IM.

commit 69735aa50d44743b9b7e68d2bba999c4c96c78a1
Merge: 180bd9f 5b002e9
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Apr 10 08:49:27 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5b002e9e760ab424976948c8747f7f3094d92896
Merge: 19dcf4e 05a089f
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Apr 10 08:48:17 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 05a089fc30a938006c1c730f6a50f90f606a7864
Merge: 6ef2628 7cad3b1
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Apr 10 08:47:33 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit 7cad3b16e11e3732f3cb871d2a86f6588f178579
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Fri Apr 10 08:45:57 2015 +0530

    Bug# 19573096: LOADING CORRUPTED GEOMETRY DATA INTO A
                   MYISAM TABLE CAUSES THE SERVER TO CRASH
    
    Backport to mysql-5.1

commit babd34d8d521160d19ae98095fabf58a7d17f514
Merge: c6a29e2 031187b
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Apr 9 23:25:26 2015 +0200

    Merge branch 'mysql-5.7' into mysql-5.7-wl7795

commit 180bd9f7860e4610507ef61dc81655f2b911411b
Merge: 506b6f9 19dcf4e
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Apr 9 23:17:01 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 19dcf4e1768b028d4af53bab88964f9d6c21b531
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Thu Apr 9 23:10:04 2015 +0530

    Fix Bug#20568464 MITIGATE THE STRICTNESS OF STRICT_* MODES
    			OF INNODB_CHECKSUM_ALGORITHM
    
    	- Post push fix for test case failure
    
    Reviewed by: Marko Mäkelä <marko.makela@oracle.com>
    RB: Approved via IM

commit b377595b246be1de01c37f1d0269b5821e19b3fb
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Apr 8 16:53:55 2015 +0200

    Bug#20768820 MAIN.BIGINT TEST FAILS WHEN BUILT WITH GCC 5 IN RELEASE BUILD
    
    Problem: with gcc5 in optmized mode, (- LLONG_MIN ) yields integer overflow.
    Fix: In ull2dec() change the loop which counts the number of decimal_digit_t's
    (cherry picked from commit b37d8bcc24f82f8e15c5f6e2243c8937af74acb7)

commit 506b6f9847949282947d2f8d210855823ab1c3f3
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Thu Apr 9 16:06:53 2015 +0200

    Bug#20858778 VALGRIND FAILURE AFTER THE PUSH OF WL#8244
    
    Temporary fix for valgrind runs:
    Disable LooseScan for test case that gives valgrind warnings.

commit 35e00ed4b9dd937e792e3ecfdd652f9c3b11e64a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Apr 9 08:00:21 2015 +0200

    Bug#20855853 MDL SUBSYSTEM ENCAPSULATION BROKEN
    
    WL#6936 - Implementation of server-side statement timeout
    broke the mdl subsystem encapsulation by peeking into the thd state.
    
    MDL code should only access THD through the MDL_context_owner interface.
    Use MDL_context_owner::is_killed rather than THD::killed.

commit d03300d788e44692ecb26139f1c70f46d7050a0f
Merge: 203d859 9c4b9b0
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Apr 9 16:44:05 2015 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 9c4b9b02803329993444c872673aba8534cce648
Merge: 3cd6fd4 6ef2628
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Apr 9 16:43:39 2015 +0300

    Merge branch 'mysql-5.5' into mysql-5.6

commit 6ef26280648988962da775813fecb70f94f6722a
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Apr 9 16:43:33 2015 +0300

    Bug#20816223 test fix.
    
    Embedded server does not support restarting and needs to skip the test.

commit 203d859b4d0d3f0110fc62b24cdf95f3deb14053
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 6dc2ee9b005e87768ecda806a058b4b493fcafd4
Merge: 361e53b ed2b07a
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Thu Apr 9 13:26:41 2015 +0200

    Second order null merge of 5.7.6 back from 5.7.7 release branch

commit 361e53be4ed7021f15e3576c848d2a6d39cdca08
Author: Benny Wang <benny.wang@oracle.com>
Date:   Wed Apr 8 14:22:00 2015 +0200

    Fixed bug#20566243: ERROR WHILE DOING CREATE TABLE T1 SELECT
    
    Block CREATE TABLE ... SELECT statement to create table to inherit
    the generated column infos. If we do support,
    e.g create table t(a int, b int as(a+1));
    create table t1 as select b from t;
    We have to add a into t1. So, we choose to ignore to inherit the gcol_info.

commit 794435f9bc1358b0285df61ce634ac06c1a3866d
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Thu Apr 9 15:16:00 2015 +0530

    Bug #20686665	MISSING SYMBOL IN LIBMYSQLCLIENT.SO: MYSQL_GET_PARAMETERS() - DBD:MYSQL BREAKS
    
    Description:
    MySQL 5.7.6 switched to restricted list of exported symbols.
    perl cpan module DBD::mysql uses mysql_get_parameters()
    via use of net_buffer_length() which is defined in mysql.h
    
    Analysis:
    perl is using mysql_get_parameters symbol which is undocumented.
    Because of this build and load is failing.
    
    Fix:
    We have added mysql_get_parameters symbols in un-documented
    section of libmysql/CMakeLists.txt. later we will provide
    mysql_get_parameters functionality to mysql_get_option().

commit 031187bbd8115123ba3b6821c629f45e4ed0b671
Merge: 7bb62e1 94e8dcc
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Thu Apr 9 10:55:47 2015 +0200

    Merge branch 'mysql-5.7.7-rc-release' into mysql-5.7
    
    Conflicts:
    	mysql-test/r/show_variables.result
    	mysql-test/suite/perfschema/r/show_coverage.result
    	mysql-test/suite/perfschema/r/show_sanity.result
    	sql/sql_show.cc
    	storage/innobase/fil/fil0fil.cc

commit 7bb62e16a701f471068ff2f3950e25e0ac459b37
Author: Olav Sandstaa <olav.sandstaa@oracle.com>
Date:   Thu Apr 9 09:59:26 2015 +0200

    Bug#20443863 USE OF WORST_SEEKS IN FIND_BEST_REF() CAN LEAD TO WRONG QUERY PLAN
    
    This patch fixes a bug in how the optimizer uses the
    JOIN_TAB::worst_seeks variable when limiting the cost of a key
    lookup. The variable JOIN_TAB::worst_seeks is initialized to be a cost
    estimate for the maximum cost for a key lookup but it is used as an
    estimate for the maximum number of blocks to read when calculating the
    cost of key lookup in Optimize_table_order::find_best_ref(). If we
    change the cost constant for IO block reads, this bug can impact the
    cost of doing ref access versus other access methods and may produce
    worse query plans.
    
    Example: For a query like this:
    
      SELECT i2 FROM t1 WHERE i1 = 1 AND i2 = 1;
    
    if we have an index on i1, this query can be executed using ref
    access. But if we double the values for all cost constants, due to the
    error in use of JOIN_TAB::worst_seeks, the cost for ref access is more
    than doubled and can cause this query to be executed as a table scan.
    
    The fix for this problem is to change the code in
    Optimize_table_order::find_best_ref() to use JOIN_TAB::worst_seeks as
    a cost estimate instead of a block estimate.

commit ab488a87c1b0ca95f505b625060a1f6abba62935
Author: Allen.Lai <zheng.lai@oracle.com>
Date:   Tue Apr 7 19:02:28 2015 +0800

    Bug#20753642 INNODB: FAILING ASSERTION: !DICT_INDEX_IS_SPATIAL(INDEX)
    
    The assertion is in function btr_cur_open_at_rnd_pos_func.
    Since mysql.innodb_table_stats is dropped, so, server call this function
    to get transint stats instead.
    We should return false when index is spatial index, since there's no
    such stats for spatial index.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    RB: 8540

commit 1981d5b9c95d3acf4614275eed7fa8542642ad26
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Thu Apr 9 11:03:48 2015 +0530

    Problem: RPL.RPL_INIT_SLAVE_ERRORS is randomly failing in Pb2
    
    Analysis: Two consecutive "start slave IO_THREAD" commands are causing the
    above said assert on the server. handle_slave_io() (the entry function for
    IO thread) is doing init_slave_thread at the beginning to do some
    initialization work for the thread. If init_slave_thread() fails, it release
    the lock(mi->run_lock) and will do some remaining work before it exits
    the thread. Since the lock is released upon init_slave_thread function fails
    and the status of IO thread (slave_running) is still set to '0' which means
    not running, the next slave IO thread start can spawn another
    thread and can disturb the global object "mi" before the first
    IO thread is doing some remaining work. This situation is causing
    the above said assert (thd != mi->info_thd).
    
    Fix: Mark the thread status as "MYSQL_SLAVE_RUN_CONNECT" (1) before
    it is executing init_slave_thread. This will make sure that next IO thread
    start will not spawn a new thread instead it will check the status
    as '1' and will exit and it will enter into critical section
    (modifying global mi object).
    
    Problem 2:
    And also it is observed that when the IO thread is failed while it is
    in initialization phase (i.e., a failure from init_slave_thread), it is
    not throwing any error to the client. Nothing can be seen 'show slave
    status' Last_IO_Error field.
    
    Fix: Now this problem is fixed by calling mi->report(...) in the failure
    case. Hence can be seen this error in 'show slave status':Last_IO_Error
    field. The test script rpl_init_slave_errors is modified accordingly.

commit 83b807c7233673af6cc1b21fbd972608297f4985
Merge: 010ee09 3cd6fd4
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Apr 9 08:19:04 2015 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3cd6fd44125938e9844d08dca9f5f2c293e942e1
Merge: 0ee8a06 53f1efb
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Apr 9 08:15:18 2015 +0300

    Merge branch 'mysql-5.5' into mysql-5.6
    
    trx_free_prepared(): Release the locks to avoid triggering a debug assertion.
    This call was omitted when the code was merged from 5.5 to 5.6 in April 2011.
    
    trx_sys_close(): Do not unnecessarily acquire trx_sys->mutex.

commit 53f1efb855b4a85cda84d42b69a68452a8d18dff
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Apr 9 08:13:07 2015 +0300

    Bug#20816223 InnoDB crash on shutdown
    if XA PREPARE transactions hold explicit locks.
    
    innobase_shutdown_for_mysql(): Call trx_sys_close() before lock_sys_close()
    (and dict_close()) so that trx_free_prepared() will see all locks intact.
    
    RB: 8561
    Reviewed-by: Vasil Dimov <vasil.dimov@oracle.com>

commit 010ee0945c3b42ffe4459def47214b42039ee2f7
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Apr 9 14:35:41 2015 +1000

    WL#7696 followup, ignoring the value this value is OK.

commit ccb3db149e041a38b18240ce2a5db5b9da9b02c5
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Apr 9 14:04:35 2015 +1000

    WL#7696 followup, ignoring the return value is legitmate for certain use cases

commit d50035c32af59367ddd500efeb1b20d6b9f65a6b
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Apr 8 22:19:51 2015 -0500

    Bug #20759613 	ALTER TABLE CAN CRASH THE SERVER
    Post-fix: delete an ill-advised test added to create_tablespace.test.
    It had different results when innodb-page-size=32k and 64k, and it
    is not really needed to make the point it was showing.

commit 853a787d185da7fe0e569bcaf24f61ba11c42f63
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Apr 8 16:09:01 2015 -0500

    Bug #20840368 INNODB ASSERTS FOR DROP TABLESPACE `IB_LOGFILE0`;
    
    Make sure internal tablespaces like the redo and undo log files are given names
    starting with 'innodb_' so that they cannot be dropped.

commit 7c9047026a6bfcc2d9d0db291aabf66cff14c1ab
Author: Yashwant Sahu <yashwant.sahu@oracle.com>
Date:   Wed Apr 8 20:57:46 2015 +0530

    WL#7150:  Remove use of DATADIR in mysqld_safe for setting MYSQL_HOME in 5.7
    
    The use of DATADIR in mysqld_safe for setting MYSQL_HOME was deprecated in
    WL#6234 (a warning had existed since 5.0).
    It can be removed from the code in 5.7.

commit b37d8bcc24f82f8e15c5f6e2243c8937af74acb7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Apr 8 16:53:55 2015 +0200

    Bug#20768820 MAIN.BIGINT TEST FAILS WHEN BUILT WITH GCC 5 IN RELEASE BUILD
    
    Problem: with gcc5 in optmized mode, (- LLONG_MIN ) yields integer overflow.
    Fix: In ull2dec() change the loop which counts the number of decimal_digit_t's

commit 054ad8b512b8b1cc56cc02174a9a7cd84f263767
Author: Luis Soares <luis.soares@oracle.com>
Date:   Wed Apr 8 15:58:15 2015 +0100

    BUG#20376106: MTS: CHANGE '..EXECUTE_STATUS_BY_WORKER' TO '..APPLIER_STATUS_BY_WORKER' IN CODE
    
    Replaced the name of all P_S tables with
    prefix replication_execute_ . They are now
    prefixed with replication_applier_ instead,
    as they should.
    
    Changed also a couple of things on the MTR
    framework (result file and an include file).

commit 627799668baedb5c1138a2bfbf470cadc4458335
Author: Luis Soares <luis.soares@oracle.com>
Date:   Wed Apr 8 15:17:16 2015 +0100

    BUG#19729278: 5.7.5: NOISYNESS AND NO LOG THROTTLING (SQL COORDINATOR MESSAGES)
    
    After the changes introduced by WL 6661, some notes
    that were meant to be printed when log_warnings>1
    started appearing in the error log. The information
    regarding the multi-threaded applier in particular
    was too verbose. Moreover, these notes exhibit a
    very technical and development oriented nature. Most
    of them are likely to not even make sense to the user
    at all.
    
    This patch replaces the calls to sql_print_information
    with DBUG_PRINTs. This will remove the notes from the
    error log but keep the messages around for debugging
    purposes during the development cycle.

commit 9b98e4c1202caa78cfd384d5fb92f0eb3e4289a6
Merge: ca079da 0ee8a06
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Apr 8 19:06:38 2015 +0530

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

commit 0ee8a06064545c50302893cd69eca7f5e53a10e9
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Apr 8 19:05:30 2015 +0530

    Fix Bug#20568464 MITIGATE THE STRICTNESS OF STRICT_* MODES
    		OF INNODB_CHECKSUM_ALGORITHM
    
    - Added not_embedded.inc in test case because embedded mode
    does not support restart

commit ca079da922a24fa20b91d3744e736ca0a43c54f0
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Wed Apr 8 13:17:17 2015 +0200

    WL#8244 Followup
    CLANG compiler did not appreciate that a bool was incremented.

commit cbba44776aed8279d1895267b4e7cbdb83cd352f
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Wed Apr 8 16:36:07 2015 +0530

    Follow up fix for BUG#20593808/cef7c74e2970805af598549b94056f2a9b6deb2e
    
    Remove unused function.

commit bb51e7f1a47b0dca82f77b4278215cdf1c650c91
Merge: 9810d86 3a83626
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Wed Apr 8 10:46:30 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 3a836269c0199f84be898c5cf52ba1e1f70a8a9c
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Wed Apr 8 10:27:41 2015 +0200

    Bug #20590548 UNABLE TO LOGIN WITH USER WHOSE PWD CHANGED FROM 5.6.23 MYSQLADMIN IN 5.7.6
    
    Problem:
    The semantics of the SET PASSWORD query changed in 5.7 and it does not support 'hash'
    of the password. mysqladmin 5.6 always calculates a hash from the password and sends
    it to server. 5.7 server reads hash as a plain text and calculates a hash again on
    a hash (double hashing).
    
    Solution:
    5.6 mysqladmin checks version of the server. If the server is 5.7 or greater,
    ALTER USER USER() IDENTIFIED BY '<plain_text>' query is used to change a password.
    The warning is printed as well informing the user that the mysqladmin should be updated.
    
    Reviewed-by: Georgi Kodinov <georgi.kodinov@oracle.com>

commit 9810d866ad45c0c06b66bcaad470af7d62abcbe0
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Wed Apr 8 14:07:38 2015 +0530

    Bug#20726413 : MYSQL_SSL_RSA_SETUP DOES NOT HAVE USER OPTION
    
    Problem: Files created by mysql_ssl_rsa_setup are always
             owned by user executing the utility. There was
             no way to specify owner of the newly created
             files.
    
    Solution: Added --uid option. If utility is being executed
              by root user and --uid points to a valid user,
              files created by the utility will be owned by
              that user.
    
    Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By: Marek Szymczak <marek.szymczak@oracle.com>

commit d157ba6306ad5814e81a755c2171008f23cba3ca
Merge: 6447271 7255ab2
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Apr 8 13:40:23 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7255ab237bcb7eed36fb192ecc25bc5e9693a07d
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Apr 8 13:38:21 2015 +0530

    Fix Bug#20568464 MITIGATE THE STRICTNESS OF STRICT_* MODES
    			OF INNODB_CHECKSUM_ALGORITHM
    
    Problem:
    
    If strict_X checksum algorithm is set, and InnoDB reads a page from disk that
    contains a valid checksum Y (!= X). Then it will crash the server and will
    print a message as if the checksum is not valid.
    
    Solution:
    
    Print a message to the server error log and accept the page as valid
    if the page checksum matches with innodb, crc32 or none checksum algorithm.
    
    Warning message would look like:
    
    innodb_checksum_algorithm is set to "strict_X" but the page contains a valid
    checksum "Y". Accepting the page as valid. Change innodb_checksum_algorithm
    to "X" to silently accept such pages or rewrite all pages so that they contain
    "X" checksum.

commit 64472715f5438f3884a5d9c937ec268e70038f21
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Wed Mar 18 13:45:47 2015 +0100

    WL#8244 Hints for subquery strategies.
    Part#2: Add support for SEMIJOIN/_SEMIJOIN and SUBQUERY hints
    
    (Below are commit comments for several commits that have been squashed into one)
    
    Part#2: Add support for SEMIJOIN/NO_SEMIJOIN hints
            (Parsing of SUBQUERY hint added, but not the functionality)
    
    sql/lex.h
      Added symbols for new optimizer hint keywords
      Fixed some typos in comments
    
    sql/sql_hints.yy
      Added parser rules for query block level hints in general, and specific
      rules for SEMIJOIN, NO_SEMIJOIN, and SUBQUERY hints
    
    sql/parse_tree_hints.h
    sql/parse_tree_hints.cc
      Added parse tree class for query block hints and enums for the strategies
      that can be used as arguments to hints
    
    sql/opt_hints.h
    sql/opt_hints.cc
      Added pointers to Opt_hints_qb for parse tree classes for
      SEMIJOIN/NO_SEMIJOIN and SUBQUERY hints.
      Added functions semijoin_enabled() and sj_enabled_strategies() to be used to
      compute effects of semijoin hints a query block.
    
    sql/sql_lex.h
    sql/sql_lex.cc
      Added private functions semijoin_enabled() and sj_enabled_strategies() to
      st_select_lex class.  If query block level hints are defined for this
      query block, calls are forwarded to corresponding Opt_hints_qb functions.
      Otherwise, return value is based on optimizer_switch setting.
    
    sql/sql_resolver.cc
      In resolve_subquery() call semijoin_enabled() instead of
      checking optimizer_switch directly.
      In convert_subquery_to_semijoin() call sj_enabled_strategies() to determine
      which semi-join strategies may be used.  Stored this information in the
      NESTED_JOIN object of corresponding semijoin nest.
    
    sql/table.h
      Added member sj_enabled_strategies to NESTED_JOIN to be used to store which
      semijoin strategies may be used.
    
    sql/sql_planner.cc
      Change code that checks which semijoin strategies may be used to use
      NESTED_JOIN::sj_enabled_strategies of the corresponding semijoin nest instead
      of optimizer_switch.
      Added optimizer trace for the case where new plan is cheaper but contains
      disabled strategy.  Changed wording of optimizer trace for case when
      a less cheap plan is selected.
    
    sql/sql_optimizer.cc
      Change code that checks which semijoin strategies may be used to use
      NESTED_JOIN::sj_enabled_strategies of the corresponding semijoin nest instead
      of optimizer_switch.
    
    mysql-test/r/opt_hints_subquery.result
    mysql-test/t/opt_hints_subquery.test
      Tests for subquery hints
    
    mysql-test/suite/opt_trace/r/subquery_no_prot.result
    mysql-test/suite/opt_trace/r/subquery_ps_prot.result
      Changes to optimizer trace (see sql_planner.cc)
    
    WL#8244 Hints for subquery strategies.
    Part#2 followup: Fix friend declaration
    
    Prior to c++11, friend declaration of a class needs to contain the "class" word.
    
    WL#8244 Hints for subquery strategies.
    Part#3: Add support for SUBQUERY hint
    
    sql/sql_hints.yy
      Changed parser rules for SUBQUERY hint according to WL specifications.
      (It is not possible to list multiple strategies for this hint.)
    
    sql/parse_tree_hints.cc
      PT_qb_level_hint::contextualize()
        Added checks that makes sure that only one SEMIJOIN, NO_SEMIJOIN, and
        SUBQUERY hint is registered per query block.
      PT_qb_level_hint::append_args()
        Added handling of SUBQUERY argument (removed previous dummy implementation)
    
    sql/opt_hints.h
    sql/opt_hints.cc
      Added function Opt_hints_qb::subq_strategy() that returns which subquery
      execution strategy to use if SUBQUERY hint is specified.
      Modified Opt_hints_qb::semijoin_enabled() to take SUBQUERY hints into account.
    
    sql/sql_lex.h
    sql/sql_lex.cc
      Added function st_select_lex::subq_strategy() that return which subquery
      strategies may be used for the query block
      Added some missing documentation to functions added in Part#2.
    
    sql/sql_optimizer.cc
      Use st_select_lex::subq_strategy() instead of checking optimizer_switch
      settings directly when determining which subquery execution strategy to use.
    
    mysql-test/r/opt_hints_subquery.result
    mysql-test/t/opt_hints_subquery.test
      Tests for SUBQUERY hint plus a few additional tests for SEMIJOIN/NO_SEMIJOIN
    
    WL#8244 Hints for subquery strategies.
    Fixed a warning
    
    WL#8244 Hints for subquery strategies.
    Addendum#1: Fix review comments from Guilhem
    
    sql/sql_hints.yy
      Use same grammar rule for SEMIJOIN/NO_SEMIJOIN hints with and without list
        of strategies.
      Removed Pt_hint_sj::Strategy.  Use OPTIMIZER_SWITCH_* values instead.
      subq => subquery in names
    
    sql/parse_tree_hints.h
      Removed Pt_hint_sj::Strategy.  Use OPTIMIZER_SWITCH_* values instead.
      All enum types shouled have prefix enum_ according to code standard.
      subq => subquery in names
      Removed trailing white space
    
    sql/parse_tree_hints.cc
      Restructured PT_qb_level_hint::contextualize() and
        PT_qb_level_hint::append_args()
    
    sql/opt_hints.h
      subq => subquery in names
      Fixed comments
      Removed trailing white-space
    
    sql/opt_hints.cc
      Restructured Opt_hints_qb::semijoin_enabled() and
        Opt_hints_qb::subquery_strategy()
      Removed trailing white-space
    
    sql/sql_lex.h
      subq => subquery in names
      Removed trailing white-space
    
    sql/sql_lex.cc
      Removed Pt_hint_sj::Strategy.  Use OPTIMIZER_SWITCH_* values instead.
      Restructured st_select_lex::semijoin_enabled()
      subq => subquery in names
      Removed trailing white-space
    
    sql/sql_planner.h
      Changed doc for found_plan_with_allowed_sj
    
    sql/sql_planner.cc
      consider_plan(): check semijoin nest of all tables in DW range for
        allowed strategies, not just the first table.  (In case tables of multiple
        sj nests are interleaved.)
      best_extension_by_limited_search():  No need to check has_sj when deciding
        on pruning.  If there is no semijoin, found_plan_with_allowed_sj will be
        set to true when first plan is found.
      Fix in optimizer_trace:
        plan_use_disabled_strategy => plan_uses_disabled_strategy
      Removed redundant comments
      Removed trailing white-space
    
    sql/sql_optimizer.cc
      subq => subquery in names
      Removed trailing white-space
    
    sql/table.h
      Changed doc for sj_enabled_strategies
    
    mysql-test/t/opt_hints_subquery.test
      Fixed typos in comment statements
    
    mysql-test/r/opt_hints_subquery.result
      Plan changes due to change in consider_plan()
      Fixed typos in comment statements
    
    mysql-test/suite/opt_trace/r/subquery_no_prot.result
    mysql-test/suite/opt_trace/r/subquery_ps_prot.result
      Fixed a grammatical error in Optimizer Trace output
    
    WL#8244 Hints for subquery strategies.
    Addendum#2: More review comments from Guilhem
    
    sql/sql_hints.yy
      Use Item_exists_subselect::enum_exec_method instead of
        PT_hint_subquery::enum_strategy.
    
    sql/parse_tree_hints.h
      Use Item_exists_subselect::enum_exec_method instead of
        PT_hint_subquery::enum_strategy.
      Renamed flag/flags() to args/get_args() in PT_qb_level_hint
    
    sql/parse_tree_hints.cc
      Renamed flag/flags() to args/get_args() in PT_qb_level_hint
      Updated some comments
    
    sql/opt_hints.h
      Renamed flag/flags() to args/get_args() in PT_qb_level_hint
      Changed get_complex_hints argument from uint to opt_hints_enum
      Some corrections to function docs
    
    sql/opt_hints.cc
      Renamed flag/flags() to args/get_args() in PT_qb_level_hint
      Changed get_complex_hints argument from uint to opt_hints_enum
      Restructured if-tests of Opt_hints_qb::sj_enabled_strategies() and
        Opt_hints_qb::subquery_strategy()
    
    sql/sql_lex.h
      Added doc for opt_hints_qb
    
    sql/sql_lex.cc
      Move initialization of opt_hints_qb to constructor
      Restructured if-tests of st_select_lex::subquery_strategy() and
        st_select_lex::sj_enabled_strategies()
    
    sql/sql_planner.cc
      Updated a comment
    
    sql/sql_resolver.cc
      In setup_tables(): No need to access hints through context.select_lex within
        st_select_lex.
    
    mysql-test/t/opt_hints_subquery.test
    mysql-test/r/opt_hints_subquery.result
      Change comment for query to explain why LooseScan can not be used
    
    WL#8244 Hints for subquery strategies.
    Cleanup
    
    Reformatted opt_hints_subquery to use uppercase of SQL reserved words.
    Removed trailing whitespace
    
    WL#8244 Hints for subquery strategies. Addendum#3
    
    Changes in optimizer_switch after prepare should be reflected in available
    semijoin strategies for execution.  (This WL should not change how things
    work without hints.)  Hence, enable subquery strategies needs to be recomputed
    on every execution instead of during semijoin transformation.
    
    sql/sql_lex.h
    sql/sql_lex.cc
      Replaced sj_enabled_strategies() with update_semijoin_strategies().
      The new function iterates over all semijoin nests and recomputes the
      enabled strategies and store result in the corresponding nested_join object.
      Query block level hints are located from first table of semijoin nest since
      original select_lex was lost during semijoin transformation.
    
    sql/sql_optimizer.cc
      Call update_semijoin_strategies() from JOIN::optimize() so that it is
      recomputed on every execution.
    
    sql/sql_resolver.cc
      No longer compute available strategies during semijoin transformation since
      it will be recomputed later anyways.
      setup_tables() should only call adjust_table_hints() on first execution.
      Otherwise, one may adjust hints after semijoin transformation.  This would
      be wrong since tables need to refer to the hints of the original query block.
    
    sql/sql_parse.cc
      Initialize TABLE_LIST hint pointers in st_select_lex::add_table_to_list()
    
    mysql-test/t/opt_hints_subquery.test
    mysql-test/r/opt_hints_subquery.result
      Update tests to reflect changed behavior
    
    WL#8244 Hints for subquery strategies. Addendum#4
    
    Addressing review comments from Guilhem on Addendum#3.
    
    sql/sql_lex.cc
      No need to check table pointer.  There is always at least one table per nest
      Fixed comments
    
    sql/sql_lex.h
      Fixed typo
    
    sql/sql_parse.cc
      Removed the added initialization of TABLE_LIST members.  They are
      automatically zeroed by calloc.
    
     WL#8244 Hints for subquery strategies. Addendum#5.7
    
    Result changes when porting to 5.7 branch.

commit bdcd78f433eb7cef19c090204f16e2c81b239f2a
Author: Oystein Grovlen <oystein.grovlen@oracle.com>
Date:   Mon Mar 16 12:25:55 2015 +0100

    WL#8244 Hints for subquery strategies.
    Part#1: Add optimizer_switch for DuplicateWeedout strategy.
    
    Change the join order optimization so that it also possible to turn
    off DuplicateWeedout semi-join strategy, and add an optimizer_switch
    to use to turn it on/off.  Since for some join orders,
    DuplicateWeedout may be the only possible strategy, we allow for it to
    be selected even if strategy is turned off.  However, if we later find
    a join order that support an enabled strategy, we switch to this even
    if it is more expensive than the join order with DuplicateWeedout.
    For this to work, we will have to do some changes to how plans are
    pruned during greedy search.  See below for details.
    
    sql/sql_const.h
    sql/sys_vars.cc
      Add optimizer_switch duplicateweedout
    
    sql/sql_planner.h
      Add Optimize_table_order::found_plan_with_allowed_sj.
      If DuplicateWeedout is disabled, this will be set to false until a
      plan without DuplicateWeedout has been found.
    
    sql/sql_planner.cc
      Optimize_table_order::greedy_search
        Initialize found_plan_without_dupsweedout.  It is not sufficient to set
        it in constructor since if greedy search is done in several iterations,
        due to setting of optimizer_search_depth, it needs to be reset for each
        iteration.
      Optimize_table_order::consider_plan
        If DuplicateWeedout is disabled, check if current join order
        requires this strategy.
        If it does, only select it if it is cheaper than current best plan AND
        no plan without DuplicateWeedout has been found.
        If it does not, select it if is cheaper than current best plan OR
        no plan without DuplicateWeedout has been found.
        Added a line to Optimizer Trace to explain why a plan that is not
        cheaper is still selected.
      Optimize_table_order::best_extension_by_limited_search
        If DuplicateWeedout strategy is disabled, and current selected plan
        use DuplicateWeedout, do not prune other plans.
      Optimize_table_order::advance_sj_state
        If DuplicateWeedout strategy is disabled, do not select it when
        there are other applicable strategies for this join order.
    
    mysql-test/t/subquery_sj_firstmatch.test
    mysql-test/t/subquery_sj_loosescan.test
    mysql-test/t/subquery_sj_mat.test
        Use new optimizer_switch to turn off DuplicateWeedout strategy for
        these tests.
    
    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
        No plans with DuplicateWeedout anymore
    
    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
        Less plans with DuplicateWeedout, but some plans still use
        DuplicateWeedout since LooseScan and Materialization is not
        applicable for all queries.  Note that plans that still use
        DuplicateWeedout may have changed to a different plan using
        DuplicateWeedout since pruning is no longer done in such cases and
        a cheaper plan may now be found.
    
    mysql-test/suite/opt_trace/include/subquery.inc
    mysql-test/suite/opt_trace/r/subquery_no_prot.result
    mysql-test/suite/opt_trace/r/subquery_ps_prot.result
       Also turns off DuplicateWeedout for a test case.  Test now trace
       LooseScan which seems to be the original intention of the test.  It
       also shows the line added to optimizer trace when one switch to a
       more expensive plan because the previous plan used a disabled semijoin
       strategy.
    
    mysql-test/r/index_merge_myisam.result
    mysql-test/r/mysqld--help-notwin.result
    mysql-test/r/mysqld--help-win.result
    mysql-test/r/optimizer_switch.result
    mysql-test/suite/sys_vars/r/optimizer_switch_basic.result
        Changes in result since output of optimizer_switch now contains an
        additional switch.

commit 09a85ac40535d2606a2fa23fe63374f9ee33df08
Author: Benny Wang <benny.wang@oracle.com>
Date:   Thu Apr 2 15:38:30 2015 +0200

    Fixed bug#20745142: GENERATED COLUMNS: ASSERTION FAILED:
    THD->CHANGE_LIST.IS_EMPTY()
    
    Revised parser state for parsing the generated expression.

commit dea5dd0b074964e8c8959f5d2bd9ca227460c56e
Author: Benny Wang <benny.wang@oracle.com>
Date:   Wed Apr 1 11:27:37 2015 +0200

    Fixed bug#20797941: WL8149:ASSERTION `!TABLE || (!TABLE->READ_SET ||
                        BITMAP_IS_SET(TABLE->READ_SET
    
    Missed to add the base columns of a virtual generate columns into
    read_set when doing a filesort.

commit 2933303d678fef290a3ae8db18bfd61c617de8ed
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Apr 8 17:14:24 2015 +1000

    WL#7696 follow up fix, check return values.

commit cef7c74e2970805af598549b94056f2a9b6deb2e
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Apr 7 19:58:41 2015 +0530

    BUG#20593808 - CRASH WITH PARTITIONED TABLES + MULTITABLE DELETE
    
    Problem :
    ---------
    When PK/(part of PK) is used as index scan we store the REF along
    with row data per partition and try to fill up the REF from the record.
    When the scan is on part of the PK and sql-layer is not asking for all
    the columns of PK to be fetched, it causes access violation while
    trying to extract the complete key from the record.
    
    Solution :
    ----------
    We don't need to store PK as REF since it is already there in ROW.
    Identify the case when PK(clustered)is not there and store the ROW ID
    along with the data which can be used to generate handler::ref when
    ::position is called and for secondary sort.
    
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    
    RB: 8332

commit 45165b9af6cbd64bd2b1ca9adc9635c693c80279
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Apr 8 15:33:43 2015 +1000

    WL#7696 follow up fix.

commit c8684cd3ea6e052b9e9de4cc041ab52a9e52ef26
Merge: 7c88963 afc2a9c
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Apr 8 07:03:08 2015 +0200

    Merge branch 'mysql-5.5' into mysql-5.6
    
    Conflicts:
    	sql/sql_class.cc

commit afc2a9ceab6711d6276488c0d588254689d9c459
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Apr 8 07:01:39 2015 +0200

    Bug#20788853 MUTEX ISSUE IN SQL/SQL_SHOW.CC RESULTING IN SIG6. SOURCE LIKELY
    FILL_VARIABLES
    
    Prevent mutexes used in SHOW VARIABLES from being locked twice.

commit 52097e4e04179e9d8bdefbbf14eea0ef299bb4c6
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Apr 8 14:16:05 2015 +1000

    WL#7696 followup - remove unused file

commit 710eacec660341228346aad8422da0ffcc771f77
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Apr 8 13:49:38 2015 +1000

    WL#7696 followup fix, check return value of file read.
    
    (cherry picked from commit d5b609adfad70e394ab6e50dde6427e0ae7e0f5e)

commit d5b609adfad70e394ab6e50dde6427e0ae7e0f5e
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Apr 8 13:49:38 2015 +1000

    WL#7696 followup fix, check return value of file read.

commit bfa123b8970ccf6080d29594a3f9eb71406c7df4
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Apr 8 09:23:44 2015 +1000

    WL#7696 followup fix, rerecord the test

commit 527af87df014c2b2bbf29ad43607650c1b2a6d1e
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Apr 8 09:05:24 2015 +1000

    WL#7696 follow up fix, add INNODB_COMPRESS_DEBUG to the test.

commit d56472e802c5f7007ea6d93bf8287feca7d7fc0d
Merge: 1924c09 c8684cd
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Apr 8 07:04:07 2015 +0200

    Merge branch 'mysql-5.6' into mysql-5.7

commit 1924c09c7fdd7e0531d5d5b1979936b82243d4ac
Merge: 344d283 7c88963
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Apr 7 18:38:30 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Fix warning for label err_exit not used in non-debug mode.

commit 344d28359a44504a7b202253cb954b0d03c52287
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Apr 7 14:32:09 2015 +0200

    Fixed failing tests after commit 335a53004313ab5a971cf17dea36f1dc4490db9f
    MANAGE HANDLE_GRANT_STRUCT DURING DROP USER

commit 7c8896361403502295cbe3901b1bccc750929f71
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Apr 7 17:54:43 2015 +0530

    BUG#20422712 - CANNOT INITIALIZE OR USE RAW DEVICE AS INNODB FILE
    
    Fix warning for label err_exit not used in non-debug mode.

commit 65168723c356664266a87c0f06173d2cb59b9bf0
Author: Olav Sandstaa <olav.sandstaa@oracle.com>
Date:   Tue Apr 7 10:44:07 2015 +0200

    Bug#20755430 COST CONSTANT CACHE MUTEX NOT INSTRUMENTED BY PERFORMANCE SCHEMA
    
    The mutex used by the Cost Constant cache was not instrumented in
    performance schema. This fix adds this mutex to the set of server
    mutexes instrumented in performance schema.

commit 335a53004313ab5a971cf17dea36f1dc4490db9f
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Apr 7 11:39:35 2015 +0200

    MANAGE HANDLE_GRANT_STRUCT DURING DROP USER
    
    Refactored the way HANDLE_GRANT_STRUCT is used during DROP USER.

commit ca3e6d2da936f330170c1d547b82d6864a2eb4ae
Merge: 6b5ca39 dfa6f55
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Apr 7 11:15:08 2015 +0200

    Upmerge of the 5.6.24 build

commit dfa6f551c7df7f240614faaaff479304d9065629
Merge: 0d921ed 9754366
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Apr 7 11:11:38 2015 +0200

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

commit c6a29e218fd673d799ee2bdbd6097521a34c5183
Merge: befd0bc 0150c08
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Apr 7 10:50:29 2015 +0200

    Merge branch 'mysql-5.7' into mysql-5.7-wl7795

commit 6b5ca394429e223f7c7dfa850f16cea59ee2fbfe
Merge: a8db7c8 cc298e5
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Tue Apr 7 18:46:35 2015 +1000

    Merge branch 'mysql-5.7' of myrepo:mysql into mysql-5.7
    
    Conflicts:
    	storage/innobase/include/os0file.h
    	storage/innobase/os/os0file.cc

commit cc298e56fc1333fb6f0f507574159a5e8206ed0d
Merge: 0150c08 0d921ed
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Apr 7 10:50:08 2015 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 0d921ede631f0430bd85a8ca99de4b726d3ca5d7
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Apr 7 10:46:36 2015 +0300

    Addendum to bug #20810928: fixed the test to reflect that
    COM_SHUTDOWN can be a zero-length RPC

commit 0150c08d95fe4e0058f348417d57a72bf073ed8e
Merge: 67d7bf0 ac74507
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Apr 7 13:12:59 2015 +0530

    BUG#20422712 - CANNOT INITIALIZE OR USE RAW DEVICE AS INNODB FILE
    
    NULL Merge mysql-5.6 into mysql-5.7 + 5.7 specific fix
    
    Problem :
    ---------
    Creating a new InnoDB data file, or using an existing InnoDB data file,
    with a raw device isn't working for mysql-5.7.
      1.InnoDB system tablespace is created during Initialization.
      2.Many tables are created in mysql DB along with DB initialization
        and we throw [MODIFICATIONS_NOT_ALLOWED_MSG_RAW_PARTITION].
      3.FreeBSD dropped support for block disk devices and raw/newraw
        option breaks as the handling is missing for character device.
    
    Solution :
    ----------
      1. Map character and block device to OS_FILE_TYPE_FILE.
      2. Remove MODIFICATIONS_NOT_ALLOWED_MSG_RAW_PARTITION.
      3. Check --initalize option for initializing raw device.
    
    Reviewed-by: Vasil Dimov <vasil.dimov@oracle.com>
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    
    RB: 8191

commit a8db7c84c56aadc061368c939e42f5c11fee9478
Merge: 735320e aecd685
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Tue Apr 7 16:57:52 2015 +1000

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit ac74507a6b578f41ee7b7c54f80bcb31ee310b26
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Mon Mar 9 14:37:49 2015 +0530

    BUG#20422712 - CANNOT INITIALIZE OR USE RAW DEVICE AS INNODB FILE
    
    Problem :
    ---------
    Creating a new InnoDB data file, or using an existing InnoDB data file,
    with a raw device isn't working for mysql-5.6.
    
    From 5.6 onwards, a few changes caused conflict with the feature.
      1.InnoDB system tablespace is created during Initialization.
      2.mysqld is invoked multiple times with [newraw] option and SYS
        tablespace gets overwritten for newraw option.
      3.Many tables are created in mysql DB along with DB initialization
        and we throw [MODIFICATIONS_NOT_ALLOWED_MSG_RAW_PARTITION].
      4.FreeBSD dropped support for block disk devices and raw/newraw
        option breaks as the handling is missing for character device.
    
    Solution :
    ----------
      1. Use --innodb_data_file_path with mysql_install_db.
      2. Map character and block device to OS_FILE_TYPE_FILE.
      3. For NEWRAW option don't overwrite if systablespace is valid.
      4. Remove MODIFICATIONS_NOT_ALLOWED_MSG_RAW_PARTITION.
      5. Check --bootstrap option for initializing raw device.
    
    Reviewed-by: Vasil Dimov <vasil.dimov@oracle.com>
    
    RB: 8258

commit 67d7bf0ec32ccad399f24e29dc46cc6df4902300
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Apr 7 08:37:26 2015 +0200

    Bug#20678411 BROKEN MAKEFILE DEPENDENCY: SQL_YACC.YY AND LEX_TOKEN.H
    
    Add explicit dependency sql_yacc.cc.o => lex_token.h

commit aecd6854246d84779f893b161c8fb6feefa9249d
Merge: cb5c11a 19d4e22
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Apr 7 07:55:05 2015 +0200

    Upmerge of the 5.5.43 build

commit 19d4e22b47b63b9105bb003cfac8b83c22458679
Merge: ae6802d 309441c
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Apr 7 07:47:14 2015 +0200

    Upmerge of the 5.5.43 build

commit 309441cda4a71a3891d8fb84490691fd4436f579
Merge: e6a4d05 367802c
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Apr 7 07:44:14 2015 +0200

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

commit cb5c11a7f26d6b771d955d034bd513c7e0c5dd52
Merge: d47865d ae6802d
Author: aditya <aditya.a@oracle.com>
Date:   Tue Apr 7 10:01:20 2015 +0530

    Bug #17299181    CREATE_TIME AND UPDATE_TIME ARE WRONG FOR PARTITIONED TABLES
    Null Merge branch 'mysql-5.6' into mysql-5.7

commit ae6802dc9ec674da0874923d16410de7057043ce
Merge: a322a3c e6a4d05
Author: aditya <aditya.a@oracle.com>
Date:   Tue Apr 7 09:59:29 2015 +0530

    Bug #17299181    CREATE_TIME AND UPDATE_TIME ARE WRONG FOR PARTITIONED TABLES
    
    Null Merge branch 'mysql-5.5' into mysql-5.6

commit e6a4d05d8ee03999093867b26be9d15d724931a7
Author: aditya <aditya.a@oracle.com>
Date:   Tue Apr 7 09:56:28 2015 +0530

    Bug #17299181    CREATE_TIME AND UPDATE_TIME ARE WRONG FOR PARTITIONED TABLES
    
    Posty push fix for test case

commit 735320e6ec2b3fe47e4cdc0d7094ddaaff731121
Merge: 6375c77 d47865d
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Tue Apr 7 10:34:16 2015 +1000

    Merge branch 'mysql-5.7' of myrepo:mysql into mysql-5.7-wl7696
    
    Conflicts:
    	mysql-test/suite/innodb/r/create_tablespace.result
    	mysql-test/suite/innodb/t/create_tablespace.test
    	mysql-test/suite/perfschema/r/show_sanity.result

commit d47865da0ff4e200ff9bc1f4d888aadea8cc2af2
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Mar 20 13:52:18 2015 +0000

    BUG#20093172 LOG_STATE DECLARED VOLATILE, MISSING MEMORY BARRIERS
    
    This means that for accesses to log_state, load/store instructions will be
    generated but what will *not* be generated is any memory barriers. This means
    we will quite likely be reading stale log_state values on other cores,
    leading to all sorts of potential problems (MYSQL_BIN_LOG::is_open() which
    returns log_state is called from all over the place).

commit 8fa96a43d6d8bc6c77f4aa343043e18e49b38f64
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Mar 20 13:13:59 2015 +0000

    BUG#20042205 RPL_GTID CHECKABLE_RWLOCK DEBUG CODE DOESN'T NEED VOLATILE
                 LOCK_STATE
    
    Volatile gives you nothing over using proper atomics, the keyword is
    unneeded.

commit 845cb0aab9e7ec0ce67b28f9514ef8bac8e325a0
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Fri Mar 20 13:01:02 2015 +0000

    BUG#20042109 MYSQL_BIN_LOG::M_PREP_XIDS DOESN'T NEED TO BE VOLATILE
    
    Volatile forces the compiler to create load/store instructions. However,
    m_prep_xids is accessed entirely through atomics, which will do the right
    thing anyway, so the use of volatile in this case is completely unneeded.

commit e0e83d66a46ace298c5aeb610eeb09d3265877b9
Merge: 3e932dc a322a3c
Author: Nisha <nisha.gopalakrishnan@oracle.com>
Date:   Mon Apr 6 14:33:46 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit a322a3cf5881a77b2fe55a531a18f0bd4c19dabc
Merge: 274e5ca ab46131
Author: Nisha <nisha.gopalakrishnan@oracle.com>
Date:   Mon Apr 6 14:32:57 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit ab46131f6f80cbcafd0241341cd2c9e90c154867
Merge: e0bb590 f2d6516
Author: Nisha <nisha.gopalakrishnan@oracle.com>
Date:   Mon Apr 6 14:30:27 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit f2d65162c90a56862b7c7a617536c8ef0be98412
Author: Nisha <nisha.gopalakrishnan@oracle.com>
Date:   Mon Apr 6 14:12:15 2015 +0530

    BUG#20754369: BACKPORT BUG#20007583 TO 5.1
    
    Backporting the patch to 5.1 and 5.5

commit 3e932dc0a83c7d30c952fc9d85f266324939b337
Merge: 4c08989 274e5ca
Author: aditya <aditya.a@oracle.com>
Date:   Mon Apr 6 12:32:31 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 274e5ca470be28d86c2c5bd826bcad427f9048f9
Merge: 7344b8f e0bb590
Author: aditya <aditya.a@oracle.com>
Date:   Mon Apr 6 12:30:27 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit e0bb590a215304051d31c90dcf95ad1823a2ee24
Author: aditya <aditya.a@oracle.com>
Date:   Mon Apr 6 12:27:12 2015 +0530

    Bug #17299181  CREATE_TIME AND UPDATE_TIME ARE WRONG FOR PARTITIONED TABLES
    
    PROBLEM
    
    Create time is calculated as last status change time of .frm file.
    The first problem was that innodb was passing file name as
    "table_name#po#p0.frm" to the stat() call which calculates the create time.
    Since there is no frm file with this name create_time will be stored as NULL.
    The second problem is ha_partition::info() updates stats for create time
    when HA_STATUS_CONST flag was set ,where as innodb calculates this statistic
    when HA_STATUS_TIME is set,which causes create_time to be set as NULL.
    
    Fix
    Pass proper .frm name to stat() call and calculate create time when
    HA_STATUS_CONST flag is set.

commit 4c08989ac31370045306ea7b4116e9759ef97378
Merge: 172380a 7344b8f
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Mon Apr 6 12:13:20 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7344b8f0d59c6ac6833bd42781338fa5d615a06e
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Mon Apr 6 11:57:02 2015 +0530

    Bug#20411374:CAN NOT EXECUTE CHANGE MASTER AFTER ERROR
    OCCURED IN MTS MODE
    
    Fixing a post push test issue.

commit 172380a643c396b51cb58a2e370033cb148cced0
Merge: 6c4f4b5 6c008aa
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Mon Apr 6 11:53:34 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6c008aa51042a8ddc0dc3fe70c8ca0731fa1873e
Author: Mohit Joshi <mohit.joshi@oracle.com>
Date:   Mon Apr 6 11:52:01 2015 +0530

    Bug#20683741 fixed.

commit 6c4f4b5889a74505d28d89d3b83aca3d9a5309a3
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Fri Apr 3 17:18:09 2015 +0200

    Bug #20814051 CREATE USER BINLOG EVENTS INCLUDE NEW ACCOUNT KEYWORD
    
    Problem: MySQL 5.7 introduces support for new syntax in the CREATE USER statement.
             All CREATE and ALTER USER statements are rewritten into a format which
             includes the new ACCOUNT keyword when written to the binlog.
             This happens regardless of how log_backward_compatible_user_definition is set.
    
    Solution: ACCOUNT keyword is not rewritten by default if
              log_backward_compatible_user_definition is set.
              ACCOUNT keyword is always rewritten if explicitly used in the CREATE or ALTER
              USER statement regardless how the log_backward_compatible_user_definition is set.
    
    Reviewed-by: Robert Golebiowski <robert.golebiowski@oracle.com>
    Reviewed-by: Georgi 'Joro' Kodinov <georgi.kodinov@oracle.com>

commit 9fbbd60ce0367853a7d48d3d9b85a99aa537197b
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Fri Apr 3 11:32:47 2015 +0530

    BUG#20510811 - RQG_ALTER_ONLINE_PART RUN INTO ASSERTION: NODE->ENTRY
    
    Problem :
    ---------
    If "ALTER TABLE ADD UNIQUE index" operation fails, the command adds
    the new index in dict_table_t in "Prepare" stage and attempts to
    remove the index in "Rollback" stage. We prevent the removal if any
    concurrent operation is going on the table. This is done by checking
    if dict_table_t is referenced by other objects (n_ref_count > 1).
    
    In 5.7 partitioned table, we keep the dict_table_t objects for the
    partitions in shared place and for multiple TABLE objects, referred by
    concurrent operations, we keep only one reference for dict_table_t
    object (n_ref_count = 1).
    
    It causes the ALTER TABLE to remove the index entry and concurrent
    INSERT hits the ASSERT as ins_node_t::entry_list count doesn't match
    the number of indexes in dict_table_t.
    
    Solution :
    ----------
    Increment already cached dict_table_t reference count for all the
    partitions during ha_innopart handler initialization.
    
    a. New dictionary interface to increase and decrease reference count
       for already cached dict_cache_t element.
          dict_table_t::acquire
          dict_table_t::release
    b. Acquire [dict_sys->mutex] during ope/close ha_innopart handler and
       increase/decrease dict_table_t reference count for all partitions.
          Ha_innopart_share::open_table_parts
          Ha_innopart_share::close_table_part
    
    Reviewed-by: Marko Makela <marko.makela@oracle.com>
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    
    RB: 8463

commit 27782ebc917af40079f7c278ceed23b841028af3
Merge: f21d372 377878c
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Apr 2 17:28:51 2015 +0300

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit f21d372e38d161432041cc007488e9f453123dbd
Merge: 9414dc6 6a780c0
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Apr 2 17:14:52 2015 +0300

    Merge branch 'mysql-5.6' into mysql-5.7

commit 377878c5517aa0d2c1ec1e117898228152ccb1eb
Merge: 9414dc6 10f4e29
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 2 15:36:33 2015 +0200

    Merge branch 'mysql-trunk-cluster' into mysql-5.7
    
     - Merge from cluster trees
     - Fix ndb related problem in mtr.pl
     - Makes wix files detect Cluster build
     - NOTE! mysql-trunk-cluster is 5.7 based

commit 10f4e2944f78d998e8613a1c13501f56cdd17479
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 6a780c0903c0d239bf343cfb150a8427ae093c17
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Thu Apr 2 15:55:52 2015 +0300

    Bug #20810928: CANNOT SHUTDOWN MYSQL USING JDBC DRIVER
    
    Contribution from Davi Arnaud.
    Re-enabled the old, 0 length format of the COM_SHUTDOWN packet.
    Added a test case.

commit 9414dc655c75f3ddbd26fab3a762c1d350b5d942
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Apr 2 10:30:12 2015 +0200

    Test cleanup

commit c4fd625899ff0b2545e26807795011188d05fb3f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 2 10:05:50 2015 +0200

    Bump version to 7.5.0

commit ab51b4a911157dbbf5eb68b8455bd600eb427f3f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Apr 2 09:46:50 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - the ST_envelope() functions return values was changed for
       invalid geometries, see patch for Bug19811953 and Bug20196720
     - update ndb_gis.result the same way as archive_gis.result
       was changed in the above referenced patch.

commit 2453b0b25826fc7ccfa7aafd11dba2e99e725992
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Apr 1 21:06:33 2015 +0200

    Bug#20811494 SHOW_COMPATIBILITY_56 = OFF INCOMPATIBLE WITH CONNECTORS
    
    Before this change, running a server with show_compatibility_56 = OFF
    caused failures in Connector/J (the java connector for MySQL)
    
    Root cause of failures is multiple.
    
    1) SHOW VARIABLES WHERE ...
    
    The java connector uses these queries,
    but the server no longer support them.
    
    2) SHOW VARIABLES output
    
    The output has changed from SESSION + GLOBAL variables
    to SESSION only variables.
    
    The java connector is not using SHOW GLOBAL VARIABLES,
    and is then missing some data.
    
    Both items are the result of the proposed deprecation
    related to SHOW_COMPATIBILITY_56 introduced in 5.7.6.
    
    With this fix, the restrictions are lifted,
    so that a server running with SHOW_COMPATIBILITY_56 = OFF
    behave in a way which is compatible with previous, established, usage.
    
    In particular:
    
    A)
    
    The deprecation of SHOW VARIABLES/STATUS WHERE is abandonned.
    WHERE clauses are fully supported, even with SHOW_COMPATIBILITY_56 = OFF.
    
    B)
    
    The table performance_schema.session_variables
    which is the underlying implementation of SHOW VARIABLES
    has been changed to report:
    - SESSION variables (no change)
    - and GLOBAL variables (changed)
    
    C)
    
    Likewise, table performance_schema.session_status
    reports both SESSION and GLOBAL status variables.
    
    As a result, the behavior of:
    - SHOW VARIABLES
    - SHOW STATUS
    is the same as the historical bahavior of MySQL,
    and in particular:
    - WHERE clauses are supported
    - both SESSION and GLOBAL data is reported.
    and this now happens both:
    - with SHOW_COMPATIBILITY_56 = ON
    - with SHOW_COMPATIBILITY_56 = OFF
    
    Note that the variable SHOW_COMPATIBILITY_56 itself still exists,
    but the scope controlled by this variable is reduced.

commit 83521bbb12b7f86af1f220cd65c36738e91ef41a
Merge: 657d8ac 1ce17a9
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Thu Apr 2 11:01:37 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 1ce17a975251af8feae9795f82f6f8564fd2d0b6
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Tue Mar 31 16:21:08 2015 +0530

    Bug#20531812: MEMORY CONSUMED QUICKLY WHILE EXECUTING LOOP
    IN PROCEDURE
    
    Problem:
    ========
    With a long running procedure the thd::main_mem_root grows
    very rapidly.
    
    Analysis:
    ========
    With binlog enabled, during commit of each instruction
    set_trans_pos gets called which stores the current binary
    log file name in a variable named "m_trans_fixed_log_file".
    Memory for the variable is allocated from thd::main_mem_root
    and it is set to NULL as part of THD::cleanup_after_query()
    at the end of the instruction. The thd::main_mem_root also
    gets freed at the end of the instruction. But a procedure
    which inserts thousands of records, is in progrees,  the
    thd::main_mem_root will be getting cleared only at the end
    of the procedure. But for each instruction within the
    procedure, memory will be allocated from main_mem_root and
    the m_trans_fixed_log_file will be set to NULL at the end
    of each instruction. This causes the main_mem_root to grow
    very rapidly as we keep on allocating 512 bytes from the
    main_mem_root.
    
    Fix:
    ===
    At present in case of stored functions and triggers we will
    not reset this variable to NULL. We allocate memory once and
    the same memory is reused. Hence a similar fix has been
    implemented as part of stored procedures as well. There is
    flag named "sp_runtime_ctx". This flag is set to true when
    the execution context refers to stored procedure, stored
    functions, triggers and events. So now when this flag is set
    we will not reset the "m_trans_fixed_log_file" to NULL. The
    memory will be allocated once from the main_mem_root and it
    will be reused. Hence no memory growth.

commit 795f3d6494f230e997916d897f4fd3ec9604aaa9
Merge: 1d06bad 02b68e8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 1 14:44:29 2015 +0200

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

commit 657d8acae82caa16463965793d035bc311d95a3f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Mar 26 15:31:08 2015 +0100

    Bug#20683959 LOAD DATA INFILE IGNORES A SPECIFIC ROW SILENTLY UNDER DB CHARSET IS UTF8
    
    READ_INFO::read_field has logic for reallocating the internal buffer
    if it is too small. This did not work correctly for multibyte charsets.
    
    Fix: If we are out of space, then push the current character on the
    input stack, and break out of while loop, to reach realloc code.
    
    Also: Ensure that we report an error before returning an error status.

commit 1d06bad076bc62971441ce79ab01e3057df97b43
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 1 14:31:10 2015 +0200

    Remove MCP_BUG16021021
    
     - remove the MCP which will soon be fixed by patches
       for BUG20479917

commit b8b3326253cdb6a0836938d69343e95d2e801410
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 1 13:45:32 2015 +0200

    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.
    - 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 properly
      parametrized 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.
    - Detect Cluster build and append and define the additional
      components for Cluster only in this case
    - Add build log printouts describing that Cluster build is
      detected and print the parameters being modified

commit 8494d2f055e703d2b3a50b546457457b2d9e9648
Author: Allen.Lai <zheng.lai@oracle.com>
Date:   Wed Apr 1 19:11:16 2015 +0800

    Bug#20313067 CHECK TABLE REPORTS WRONG COUNT FOR SPATIAL INDEX AND
    OTHER GIS PROBLEMS
    
    Updating spatial index, which take the delete-mark/insert way, causes
    lots of dup recs in rtree, and they're mapping to the same cluster rec,
    this cause this bug.
    In fact, for spatial index updating, since the different geometry data
    could generate same MBR, so, if the new index entry is same as old
    entry, which means the MBR is not changed, we don't need do anything in
    this case.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    RB: 8493

commit 2f1d15f31964821ba86cd79b14e0e7d73377268d
Merge: 02b68e8 e876e97
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Apr 1 15:24:10 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit e876e97e7e8aa9e5f20954cffe4c5e9418229a78
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Wed Apr 1 15:19:33 2015 +0530

    Bug#20124342 MYSQL 5.6 SLAVE OUT OF MEMORY ERROR ?
    Problem: I/O thread on Slave with master_info_repository=TABLE settings,
    is leaking memory that leads to Out of memory (OOM) after some time.
    
    Analysis: SQL thread does free_root(thd->mem_root,...) after every
    Query_log_event and Row_log_event execution. Unlike SQL thread,
    I/O thread was not doing free_root of thd->mem_root in it's life time.
    In case if any of the I/O thread operations are using memory from this
    mem_root and if the same operation keeps repeating frequently, that
    will increase memory allocation from this mem_root rapidly.
    This situation will lead to OOM error in some time.
    
    For eg: In this bug scenario, when master_info_repository is set to TABLE,
    IO thread calls lex_start() in Rpl_info_table::do_flush_info
    operation which uses thread's memory root. If sync_master_info=1,
    the frequency of this operation is more and will lead to OOM error
    in very short time.
    
    The memory growth will be gone if the IO thread is stopped
    because we have free_root(thd->mem_root) in THD::~THD. But in the
    real production environment, no one will be interested in
    restarting the IO thread. And this is the reason the similar issue
    will not appear in a normal client thread because eventually
    a client thread will be exited
    
    
    Fix: After event is flushed to relay log file by IO thread, memory used
    by this mem_root is not required. Hence adding free_root(thd->mem_root,...)
    after every event is flushed.

commit 25c5e485acc5ed8d17b60de37be168f2b8aee4ab
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 1 11:42:10 2015 +0200

    Fix merge error in mysql_system_tables_fix.sql
    
     -  removed duplicate "Add timestamp and expiry columns" code

commit 301872402c12a84070eab5f72363a7509c2ed015
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Mar 25 07:14:25 2015 +0100

    Remove MCP tags for BUG16226274
    
    - it's not an MCP anymore when it's been rewritten to be generic
      and only activate when the dist priv tables are in NDB

commit 02b68e845ac9085e1dfb907a9dd5ad8366536795
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Apr 1 15:47:21 2015 +0800

    BUG#20811125 INNODB FTS: FTS_PRINT_DOC_ID PRINTS TOO MANY DEBUG INFORMATION
    
    Use fts_enable_diag_print to control the print.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> on IM

commit 24a79c0e314f1c45b87317afb62bfba8f9e15f1f
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Wed Apr 1 14:00:29 2015 +0530

    Bug#20762059 - innodb_thread_concurrency=1 and queries using intrinsic temp tables, causes hang
    
    Background:
    ----------
    
    innodb_thread_concurrency variable is used to limit number of user
    threads in InnoDB engine. On first invocation by user thread, we increment
    the total number of active threads srv_conc.n_active. Then we assign number
    of tickets to 5000.
    
    So the subsequent handler calls() just decrement the number of tickets
    on each handler call.
    
    Only on explicit ha_innobase::external_lock(F_UNLCK) call, we reset the
    n_active & the number of tickets.
    
    Any other user thread, will be in sleep state if srv_conc.n_active
    reaches the limit ( 0 means unlimited).
    
    Problem:
    --------
    Optimizer doesn't do locking on InnoDB intrinsic temporary tables (as
    they are session specific). This means there is no external_lock(F_UNLCK)
    on intrinsic temporary tables and srv_conc.n_active is not decremented even
    after the query execution is over.
    
    Any other subsequent queries on InnODB will always hang because the
    limit is already reached wrongly (due to the bug).
    
    innodb intrinsic temporary tables are created on various joins and also
    by the information schema queries. So queries using intrinsic temporary
    tables with innodb_thread_concurrency=1 will cause other sessions to hang.
    
    Attachable transactions create a new transaction (simulate a new client
    session), so the queries (on timzezone, help tables) that use attachable
    transaction also hang.
    
    Fix:
    ----
    Skip innodb thread concurrency for innodb intrinsic temporary tables.
    i.e, when don't increment srv_conc.n_active for queries on intrinsic temporary
    tables.
    
    Reviewed-by: Marko Makela<marko.makela@oracle.com>
    Reviewed-by: Krunal Bauskar<krunal.bauskar@oracle.com>
    RB: 8455

commit cf1b5b822982d04edcd1f029d646cc7ede0ff8a5
Merge: 3ba4009 43e1df7
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Apr 1 09:06:13 2015 +0200

    Merge mysql-5.6-cluster-7.4 commit '43e1df7891ba07fee85ea8ffce6f0479f8d8f9db' into mysql-trunk-cluster
    
    Conflicts:
    	VERSION
    	mysql-test/suite/ndb/r/ndbinfo.result
    	sql/sql_db.cc
    	storage/ndb/src/ndbapi/Ndbif.cpp

commit 01e1071db8045c088d8d445456ac6170af6e1c32
Author: David.Zhao <david.zhao@oracle.com>
Date:   Tue Mar 31 19:19:20 2015 +0800

    Bug#19811953 ENVELOPE() FUNCTION RETURNS INVALID POLYGON
    Bug#20196720 ENVELOPE(P) RETURNS NULL FOR A NON NULL POLYGON P
    
    Issues:
    1. Sometimes the MBR of a geometry can degrade to a point or
    vertical/horizontal line segment. For example, given a point P, its MBR
    is the point P itself; given a horizontal or
    vertical linestring L, its MBR is a horizontal/vertical line segment.
    In both cases if we return a polygon in function st_envelope(), the polygon
    must be a degenerated one and many GIS functions don't accept it, preventing
    queries with nested function calls like below to be executed.
    
    SELECT ST_AREA(ST_ENVELOPE(ST_GEOMETRYFROMTEXT(geom))) from t1;
    
    2. ST_Envelope() returns NULL given an empty geometry collection. It should
    return an empty geometry(represented in the form of an empty geometry
    collection) in this case because the result isn't 'unknown', we know
    it's an empty geometry.
    
    3. ST_Envelope() returns NULL given a geometry having some points but are
    geometrically invalid. But other parts of GIS expects a valid MBR in
    this case.
    
    Fix:
    If an MBR degrades to a point/linesegment, return the point or
    line segment respectively as result of ST_ENVELOPE() instead of an
    invalid polygon;
    
    In ST_ENVELOPE return an empty geometry collection given an empty
    geometry collection.
    
    If the geometry input is geometrically invalid but has a valid WKB string,
    ST_Envelope() still calcs its MBR and returns a valid MBR.
    
    Finally, we don't accept a linestring with one point or a polygon with
    a ring of less than 4 points anywhere in MySQL GIS, this is also true
    for ST_Envelope() because such GIS data is rejected by geometry constructor
    functions such as ST_GeomFromText/WKB/GeoJson before reaching ST_Envelope.

commit 0444699d61306de2317cc111a6ef4fc791045f7d
Merge: 786dd18 d954272
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Mar 31 09:40:58 2015 -0500

    Merge branch 'mysql-5.7-20544581' into mysql-5.7

commit d954272e50348088e69d23cb54bc59501d0b1629
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Wed Mar 25 15:04:21 2015 -0500

    Bug #20544581 	ASSERTION: REC_PAGE_NO > (ULINT) 4 - (REC_SPACE_ID != 0)
    
    The assertion does not consider General Tablespaces which may get
    even page three reused as a secondary root page when tables are deleted.
    
    Just check for the lowest possible page number on any tablespace:
       ut_ad(rec_page_no > 2);

commit 786dd18f724ebc53e3d84d0e33bd650ded01505e
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Nov 12 13:37:51 2014 +0100

    Bug#19770943 THD::LOCK_QUERY_PLAN HAS AN UNREASONABLY HIGH CONTRIBUTION TO WAIT TIME
    
    Do not lock for local explain.
    Do not lock if there is no plan change.
    Do not lock in set_plan_state(NO_PLAN) if we have SQLCOM_END.
    Do not lock to set fake_select_lex to NULL if it is already NULL.
    
    (cherry picked from commit 28dcb3f15f76895f2ecc2a568860d75a9c94bd66)

commit 6716e960cbe3b1c69c05dc26396fc1b72f8301a8
Author: Nisha <nisha.gopalakrishnan@oracle.com>
Date:   Tue Mar 31 15:55:05 2015 +0530

    Bug#20798322: MAIN.ERROR_SIMULATION CREATES AND LEAVES
                  BEHIND IT A FILE: MYSQL-TEST/FF.
    
    Fixed the line in the test script which was leaving
    behind an unwanted file.

commit befd0bc948c77ec37d7c4d0b740cb75da2b849ec
Merge: a7c0e9c d3b3c56
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Mar 31 09:21:44 2015 +0200

    Merge branch 'mysql-5.7' into mysql-5.7-wl7795

commit 15eb176afc0d9507c0628d89f843f2fd9cbba5ce
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Mon Mar 30 11:03:35 2015 +0200

    Fix of failing test innodb_fts.opt on gcov --ps-protocol. This test
    started failing after commit 86247d9a6fd62a8eac35280b3dd0d8dd42b09301 -
    Bug #18279587 FTS: ANOTHER CRASH IN HA_MYISAM::FT_INIT_EXT
    
    (cherry picked from commit 879a14f330d94da39a6141185ea6092525df113e)

commit d3b3c56573056683bcfc6d82a93ef61d09f434c4
Merge: dcdb299 6cb04ff
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Mar 31 11:18:59 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6cb04ff85e8ed9801b5a99f7bd797cbe62dfa841
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Mar 31 11:18:30 2015 +0530

    Bug#20574628: SEMI-SYNC REPLICATION PERFORMANCE DEGRADES WITH A HIGH NUMBER OF THREADS
    
    Fixing a post push pb2 valgrind failure:
    ========================================
    Rpl_semi_sync::resetMaster does not have to do active_tranxs_ cleanup

commit dcdb299a444ec6ea623bdf5d23faf9272cb8b52a
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Mon Mar 30 12:48:40 2015 +0300

    Bug #11762644 MYSQLSLAP OPTION --AUTO-GENERATE-SQL-SECONDARY-INDEXES
      DOESNT WORK
    
    Applied a contribution from tsubasa tanaka
    Renamed the source to CC to get better warnings etc.
    Test case extended

commit 6cbe58d345641bfc3331456bdbde135d2e263953
Merge: cefb6f6 556f38d
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Mar 30 19:26:22 2015 +0530

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

commit 556f38dcd035694d9ab1337f76735c776dba2801
Merge: 6d7f8c1 c7a9d8a
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Mar 30 19:25:17 2015 +0530

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

commit c7a9d8afb3ed429da4cbb2e946b671d49edd2688
Merge: e8c5d4b 2bafd8a
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Mar 30 19:23:33 2015 +0530

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

commit 2bafd8af435d011edb28b523e1aeb8b5a3572914
Author: V S Murthy Sidagam <venkata.sidagam@oracle.com>
Date:   Mon Mar 30 19:20:14 2015 +0530

    Bug #20767962 5.1 SSL TESTS FAILING , GENERATE NEW CERTIFICATES
    
    Description: SSL tests are failing in mysql-5.1 pb2
    
    Analysis: The SSL certificates are ended by jan 2015.
    Hence the SSL tests are failing.
    
    Fix: We have generated new certificates with SHA1 algorithm.

commit a7c0e9c8ce5010dec107707fc5deac448ce16e0a
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Mar 30 14:14:55 2015 +0200

    Test cleanup

commit 3ba40098a9bdb877045e45e93dd3a1683b909fb8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Mar 30 12:25:40 2015 +0200

    WL#8326 Make NO_AUTO_CREATE_USER sql_mode behavior the default in 5.7
    
       Post-fix: one more ndb .result fixed

commit cefb6f6f9a69d73d1c9bbeb34104fff072a299fe
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Mar 30 15:48:55 2015 +0530

    Bug #20372749 FAILING ASSERTION: !MBMAXLEN || LEN >= MBMINLEN * (FIXED_LEN
    / MBMAXLEN)
    
    Problem:
    
    During ALTER TABLE, when the spatial index is populated, the size of the data
    tuple is being calculated in the function
    rec_get_converted_size_comp_prefix_low() for compressed row.  In this function
    there is debug code to check the length of the fields.  These checks was not
    taking into account the spatial index and the data type DATA_SYS_CHILD in the
    node pointers.
    
    Solution:
    
    Give special treatment to the spatial index and the data type DATA_SYS_CHILD
    in the node pointers.
    
    rb#8091 approved by Jimmy.

commit 4d30b82ee3538d7e0794c0df6712eb114185e0c6
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Mar 30 12:02:15 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - ignore the warnings produced by ndbcluster's binlog thread when the
       mysqld is restarted. These warnings are expected.
     - this is an "old new thing" but test has been disabled
     - ref: Bug17258782 MASTER DIDN'T WRITE ... LOG FILE FOR INCIDENT

commit d87486a47635f97a1ef41fd242900b7d2ab625e5
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Mon Mar 30 11:55:46 2015 +0200

    Bug #20599280 PASSWORD EXPIRED FLAG SET FOR PROXY USER SESSION WHEN IT SET FOR PROXIED USER
    
    Problem: A user connected as a proxy user could expire proxied user password. This impacted current
             session (password expired for a current user - proxied user). Restarting the session fixed the problem.
    Solution: If a current session is proxy/proxied session, the user name is compared against proxy user name.
    
    Review-by: Bharathy Satish
    Review-by: Georgi Kodinov

commit 95a4c374533cf072a00d1b1fde738ef5fbe8d5a9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Mar 19 08:33:48 2015 +0100

    Bug#20590904 COMPILER OPTIONS FORMAT -WERROR=FOO NOT WASHED FROM MYSQL_CONFIG
    
    Strip away misc compiler flags for mysql_config.

commit 153316aaa82f8001ed7d52e4601e834993dad315
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Mar 27 15:48:22 2015 +0100

    Bug#20785598 USE ATOMICS TO AVOID MUTEX CONTENTION ON LOCK_PLUGIN DUE TO QUERY REWRITE FRAMEW
    
    Use atomic counters when loading/unloading pre/post parse plugins.
    Check counters in mysql_parse.

commit 01e0a2b79e87bfb10395d3421878b9a7d9912e01
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Mar 30 10:26:15 2015 +0200

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - WL8326 made sql_mode include NO_AUTO_CREATE_USER by default in 5.7
     - the ndb_dist_priv and ndb_rpl_dist_priv tests fail since
       they create a new user using GRANT, rewrite to explicitly
       create the new user with a CREATE USER.
     - the ndb_dist_priv test also fails on a test case
       where it checks that it's possible to create a user
       with GRANT. Keep this test until it's not supported by
       temporarily changing the sql_mode for the query.

commit 5a8b6527161392023a86588515a40f56c6367f1d
Merge: ec0f455 6d7f8c1
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Mar 30 13:34:02 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 6d7f8c1bc9039a0c640538ab89f29b80dd2e1844
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Mon Mar 30 13:32:57 2015 +0530

    Bug#20574628: SEMI-SYNC REPLICATION PERFORMANCE DEGRADES WITH A HIGH NUMBER OF THREADS
    
    Fixing a post push pb2 valgrind failure:
    ========================================
    
    Analysis: In commitTrx(), when a thread is waiting for the signal
    on a condition variable (entry->cond) after releasing LOCK_binlog_,
    it can happen that this 'entry' node in active transaction list
    deleted by another parallel thread which is doing semi sync off
    (::disableMaster or ::switch_off or resetMaster). This leads to
    invalid memory read issue.
    
    Fix: Now with the new design, only the thread who is doing commit
    is responsible for deleting the active transaction node. All other
    operations (disableMaster, switch_off and resetMaster) will not
    delete nodes from the active transaction list. If disableMaster
    and resetMaster finds that there are no nodes in the list,
    it will delete active_tranxs_ node.

commit c8350ff146069db0f817282b3b3c8f4d62918789
Merge: 717b2a6 ec0f455
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Mar 30 09:06:09 2015 +0200

    Merge branch 'mysql-5.7' into mysql-5.7-wl7795

commit ec0f4555d1c65f068d507d5499e4a2fa2924d973
Merge: c5b310a c024e21
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Mon Mar 30 12:30:00 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit c024e21131200201f68f93412684038def38fe54
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Mon Mar 30 12:27:04 2015 +0530

    Bug#20411374:CAN NOT EXECUTE CHANGE MASTER AFTER ERROR
    OCCURED IN MTS MODE
    
    Problem:
    ========
    When error occurred in MTS mode, If user first change master
    (ER_MTS_CHANGE_MASTER_CANT_RUN_WITH_GAPS received here), and
    then reset slave, user can never change master (error
    ER_MTS_CHANGE_MASTER_CANT_RUN_WITH_GAPS occurred again). The
    debug version mysqld will crash at this case.
    
    Analysis:
    ========
    When gaps are generated with MTS mode and a change master
    command is executed the code for change master command
    checks for the following two pre conditions. i.e first it
    expects "rli->mts_recovery_group_cnt" to be set and it also
    expects "rli->recovery_parallel_workers>0". If the two
    conditions are met it will generate the following error.
    
    ER_MTS_CHANGE_MASTER_CANT_RUN_WITH_GAPS
    
    After the first change master command RESET SLAVE command
    is issued which will bring back the slave to a fresh start
    stage by resetting all the workers information. As part of
    this clean up code "rli->recovery_parallel_workers" is set
    to "0". Hence when the change master command is executed
    once again one of the preconditions will become false and
    it results in an assert.
    
    Fix:
    ===
    Added code to clean up MTS related recovery information
    during the execution of RESET SLAVE command.

commit c5b310adfbca30027ffe2e05a7c1b9770a99ce07
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Mon Mar 30 11:57:46 2015 +0530

    Bug #20531208 COMPUTE INNODB REDO LOG BLOCK CHECKSUMS FASTER
    
    Problem:
    
    The redo log file is divided into equal sized blocks.  For each block, checksum
    is calculated and stored to verify its correctness.  The only algorithm that is
    supported is "innodb".  But the data files we support three checksum algorithms
    namely "none", "crc32" and "innodb".  We can do the same for redo log file
    blocks also.  This can improve performance.
    
    Solution:
    
    Introduce a new system variable --innodb-log-checksum-algorithm, which takes
    same values as that of --innodb-checksum-algorithm.
    
    Note:
    
    This patch has been contributed by Laurynas Biveinis.
    
    rb#8155 approved by Sunny.

commit 6498725700064684f2588cfdf95249f47d519f60
Author: Daogang.qu <bill.qu@oracle.com>
Date:   Mon Mar 30 08:22:02 2015 +0800

    Bug #73806  "Event crc check failed" when master disable binlog_checksum
    
    Post-fix: remove a DBUG_ASSERT added in the fix.

commit a50a693bf438c98a2fa627361fec2f34eeaafb30
Author: Daogang.qu <bill.qu@oracle.com>
Date:   Sat Mar 28 18:07:16 2015 +0800

    Bug #20644100  "Event crc check failed" when master disable binlog_checksum
    
    Starting slave sql_thread to apply events will cause event crc check
    failure when master disables binlog_checksum.
    
    Currently relay logs have the following sequence (starting from
    position 4):
    Format_desc (of slave)
    Previous-GTIDs (of slave)
    Rotate (of master)
    Format_desc (of master)
    The Format_desc which really describes the rest of the relay
    log is the 4rd event, which is from master.
    Relay_log_info::init_relay_log_pos(...) will look for a
    Format_description_log_event from master. We only need this when
    slave applier thread starts and opens an existing relay log and
    has to execute it (possibly from an offset >4), because we need
    to read the description event of the relay log to be able to
    parse the events we have to execute.
    But the current code supposed that relay logs have the following
    sequence (starting from position 4):
    Format_desc (of slave)
    Rotate (of master)
    Format_desc (of master)
    So the function failed to find the Format_description_log_event
    from master when slave applier thread starts and opens an existing
    relay log and has to execute it, which causes some failures.
    The event crc check failure is one of them.
    
    Fix code to let slave applier thread also skip the Previous-GTIDs
    log event to find the correct Format_description_log_event from
    master when it is starting and opening an existing relay log.

commit db3acbf200906f907f31280746e08ca2e76770f8
Author: Daogang.qu <bill.qu@oracle.com>
Date:   Sat Mar 28 17:12:23 2015 +0800

    Bug#18091217  SLAVE I/O THREAD WON'T ATTEMPT AUTO RECONNECT TO THE MASTER / ERROR-CODE 1159
    
    The slave receiver thread stops due to the 'ER_NET_READ_INTERRUPTED'
    or 'ER_NET_WRITE_INTERRUPTED' error is encountered while getting
    timestamp, server id from master, setting @master_heartbeat_period
    and so on.
    
    To fix the problem, we fix to handle the 'ER_NET_READ_INTERRUPTED'
    and 'ER_NET_WRITE_INTERRUPTED' errors as transient network errors.
    Then the slave receiver thread attempts to automatically reconnect
    to the master on these errors.

commit 31b5f6f63aab3ff3f0d5dd8291aa00f250897314
Merge: f39b1c2 f11a637
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Sat Mar 28 01:45:56 2015 +0100

    Manual merge branch 'mysql-5.6' into mysql-5.7
    of post-push fix for bug#19856162 including removal of
    non-used HA_PARTITION_ONE_PHASE define and code.
    
    Conflicts:
    	sql/sql_partition.cc

commit f39b1c25c7d3805ec03dadbd5c98a85a195a3fb5
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Fri Mar 27 20:37:33 2015 +0100

    Bug#20768717: DEBUG BUILD FAILS WHEN USING GCC 5 DUE TO COMPILER WARNING
    
    Add extra set of parentheses to remove a GCC 5 compiler warning.

commit f11a63734bfab93fb223d17387ff401572909b38
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.

commit 7b5b1233fdbf7ebc0828503c8a6ea347dc13c208
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Mar 23 18:47:19 2015 +0100

    Bug#20729351 ASSERTION FAILED: ITEM_IN->LEFT_EXPR->ELEMENT_INDEX(0)->MAYBE_NULL
    
    A recently added assertion fails.
    (SELECT NULL IN (NULL) FROM t1 WHERE a) =ANY(SELECT 1 FROM t2):
    =ANY is identical to IN and is processed with subquery
    materialization. The left argument is Item_cache wrapping
    "NULL=NULL"; that equality item has maybe_null=true but
    the wrapping Item_cache has maybe_null=false, which is
    inconsistent and causes the problem.
    Actually, Item_cache starts with null_value=true, so it
    looks logical to set maybe_null to true unconditionally.
    An alternative fix would be to:
    - assume that this initial null_value is never returned
    (i.e. we never cal val*() before having cached a value)
    - start with maybe_null=false
    - set maybe_null=example->maybe_null in setup()
    - but store() changes "example" and it's too late to change
    the item_cache's maybe_null at this point.
    So setting unconditionally looks like the safest choice.
    About result change in "Note": it is due to nullability.

commit d82ed38b17c00383154a3fe77a72e0be71cc6031
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Fri Mar 27 15:08:03 2015 +0200

    Bug #20648276 SSL-RELATED GLOBAL STATUS INFORMATION ONLY AVAILABLE
      WHEN CONNECTED USING --SSL
    
    * Created a read-only SSL context to allow reading of the
      SSL attributes for the server SSL Context
    * Used the new read-only SSL context instead of the connected
      SSL context in Ssl_server_not_before/Ssl_server_not_after.
    * Test case added.
    * Fixed a non-unix line ending in ha_federated.cc

commit 117109014eb60547e2839f55033e085ece73e50c
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Wed Mar 25 14:56:43 2015 +0100

    Bug#19585938 Crash in get_full_func_mm_tree with null item_field->table_ref
    
    The problem may occur if we have a grouped query with a non-grouped
    subquery that contains a reference to an aggregate function, e.g. in
    the WHERE clause. The aggregate function must not reference any columns.
    
    Example query:
    
    SELECT (SELECT 1
            FROM t1
            WHERE SUM(1) < id
           )
    FROM t1
    GROUP BY col1+col2;
    
    The range optimizer is attempting to optimize the predicate SUM(1) < id.
    SUM(1) is represented by an Item_aggregate_ref object in get_mm_tree().
    Since aggregation is performed in the outer query, this item is an outer
    reference. get_mm_tree() will then call get_full_func_mm_tree() with
    the real_item() of the Item_aggregate_ref object as predicand, which is
    an Item_field. This Item_field represents a field in the temporary table
    allocated for grouping the outer table. But since this table has no
    assigned TABLE_LIST object, trying to calculate the map() for this table
    fails.
    
    However, this seems to be a legacy issue. Before WL#7540 was pushed,
    table map was 1. But this is actually an outer reference, so it was
    wrongly seen as a local table. Actually, being an outer reference, this
    item is const during evaluation of the inner query, so this is not a
    candidate for range optimizer analysis at all.
    
    The fix is just to skip the call to get_full_func_mm_tree() if the
    argument representing the Item_aggregate_ref is an outer reference.
    
    The problem was also identified for other predicate types like BETWEEN.
    Fix has been provided for this too, together with test cases.
    
    (cherry picked from commit 6a71c3bf2c2f8f3e771173c38157fd42a6806cd3)

commit 253e6810eb7276cc43bd1530ef7bc215ecb0db56
Merge: 38a3814 e54f800
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Mar 27 12:15:07 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 38a3814502ff6ebf0d29769bde126d400f80a88f
Author: Benny Wang <benny.wang@oracle.com>
Date:   Fri Mar 27 11:31:27 2015 +0100

    Modified an ambiguous comment on variable during fixing Bug#20752543.
    
    (cherry picked from commit 5bece0d650b3390b71cce95cb1a7fd6097a5edc2)

commit 1e061526f493ed88e2c2f3778a075c7dc0c19831
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Fri Mar 6 07:54:57 2015 +0100

    ITEM_FUNC_MATCH::INIT_SEARCH improvement.
    
    Added verification if we allow search on no indexed column if fixed flag
    is not true.

commit 04eec1b70315fd033df391d107ce919efa01ea6e
Author: Benny Wang <benny.wang@oracle.com>
Date:   Fri Mar 27 09:47:17 2015 +0100

    Fixed Bug#20783191: AN MERGE ERROR WAS NOT FOUND BEFORE PUSH WL411
    
    There is a merged error which was not solved before pushing wl411. This patch
    fixed that.
    
    (cherry picked from commit 4db8473ea1ad580f85a21555349b35946f7b56dc)

commit 0722b2d9be03f75495bd037a1211c128febdfff2
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Fri Mar 27 11:47:06 2015 +0530

    - Checking related to "Related to bug#20390670 - Following adjustment for WL#7868"
      caused Windows build to fail as windows could deduce data-type for template
      with params as ulong and ulint.
    
      Provided explicit template type.

commit 750962384ca849c721c4ea7d2eb4607fd9fd03cd
Merge: a064308 ef97fec
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Fri Mar 27 09:04:41 2015 +0530

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit ef97feca8df3b6cfa971189c7a62f297313f8146
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Fri Mar 27 04:30:40 2015 +0100

    - Bug#20752543: INNODB: FAILING ASSERTION: FLAGS & BUF_PAGE_PRINT_NO_CRASH
    
      Bug test-case involves use of UNION ALL and UNION that leads Optimizer to
      create intrinsic table and then eventually disable_index on such table.
      If this temporary table is stored in InnoDB then InnoDB being clustered
      index it can't support disabiling of sole clustered index.
    
      Solution: For all such cases Optimizer create a table with explicit
      unique index. InnoDB adds default clustered index.
      Unique index constraint for secondary index can be disabled as Tree
      structure used ROW_ID along with secondary index key to form a record that
      tree operates with.
    
      Reviewed by (InnoDB): Jimmy Yang (jimmy.yang@oracle.com)
      Reviewed by (Optimizer): Evgeny (evgeny.potemkin@oracle.com)
      RB: 8420

commit a064308d37814b83867d7dc92fa6ab8a386fe645
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Fri Mar 27 08:56:08 2015 +0530

    - Bug#20752543: INNODB: FAILING ASSERTION: FLAGS & BUF_PAGE_PRINT_NO_CRASH
    
      Bug test-case involves use of UNION ALL and UNION that leads Optimizer to
      create intrinsic table and then eventually disable_index on such table.
      If this temporary table is stored in InnoDB then InnoDB being clustered
      index it can't support disabiling of sole clustered index.
    
      Solution: For all such cases Optimizer create a table with explicit
      unique index. InnoDB adds default clustered index.
      Unique index constraint for secondary index can be disabled as Tree
      structure used ROW_ID along with secondary index key to form a record that
      tree operates with.
    
      Reviewed by (InnoDB): Jimmy Yang (jimmy.yang@oracle.com)
      Reviewed by (Optimizer): Evgeny (evgeny.potemkin@oracle.com)
      RB: 8420

commit 60692796566ce0c90a18d62840f96a69fa2d2a05
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Fri Mar 27 08:17:16 2015 +0530

      Related to bug#20390670 - Following adjustment for WL#7868
    
      - Small adjustments for more optimial behavior
      - Revive IO burst at checkpoint around max_modified_age_sync
      - added bool option innodb_flush_sync = [ON|OFF] to choose the behavior.
        ON is the default to keep previous behavior for upgraded users
    
        static MYSQL_SYSVAR_BOOL(flush_sync, srv_flush_sync,
        PLUGIN_VAR_NOCMDARG,
        "Allow IO bursts at the checkpoints ignoring io_capacity setting.",
        NULL, NULL, TRUE);
    
      Reviewed by: Sunny Bains (sunny.bains@oracle.com)
      RB: 7849
      Created by: Yasufumi

commit 137a6bcac73e48af664a296e71299119bff78b19
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Mar 26 21:42:05 2015 -0500

    Fix error in create_tablespace.test which had a capital letter in
    a table name, so it worked on Windows and Mac, but not Linux.

commit 6375c77c24d20466bea6f943f55b05ac1b2befb9
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Mar 27 12:34:38 2015 +1100

    WL#7696 - Fix a merge issue.

commit 7de4129cf1ac5d98c264ad2c5d88259c820b0b32
Merge: 9e73681 8631a8b
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Mar 27 12:17:49 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit 8631a8b5792b634c32874afde14661c652f00f75
Author: Haixiang Li <haixiang.li@oracle.com>
Date:   Fri Mar 27 01:58:10 2015 +0100

    Bug#18717059 MISSING ROWS ON NESTED JOIN WITH SUBQUERY WITH MYISAM OR MEMORY
    
    Description:
    ------------
     - Bug reporter said in bug page:
       The issue is only visible when using engines MyISAM or MEMORY.
       Not visible using InnoDB.
     - So we discuss three questions below.
      - 1. Why does InnoDB table get right results?
      - 2. Why doesn't MyISAM table get right results when
           'condition_fanout_filter=on'?
      - 3. Why does it get right results when 'condition_fanout_filter=off'?
      - A. A table's condition is always false(this bug belongs to this case),
           the query block is set "Impossible WHERE", the query would have zero
           rows in result.
           If the table is empty, then it is null-extended, and hence will not
           determine an empty query result.
      - A1 For a InnoDB table(non const table):
           InnoDB engine employs index organized table, so it can only use
           JT_REF(primary key is used in SQL) for non-const table.
           That is to say, a non-const InnoDB table must not be set zero result
           if this table is not a const table, so it can get right results.
      - For a MyISAM table(non const table):
           Although MySQL prefers key lookup in best_access_path(), this MyISAM
           table needs to check if ref access is more expensive.
      - A2 When 'condition_fanout_filter=off', the table scan access is more
           expensive than ref access so it uses ref access.
           In adjust_access_methods(), a non-const table with JT_REF access
           must not be set zero result, so it can get right results.
      - A3 When 'condition_fanout_filter=on', the table scan access is less
           expensive than ref access so it uses table scan access.
           In adjust_access_methods(), a table with JT_ALL must be set zero
           result, but as a inner table of outer join, it should not be set
           'Impossible WHERE' zero result.
    
    Fix:
    ----
    Although a table's WHERE condition is NULL, if this table is a inner table
    of outer join (LEFT OUTER or RIGHT JOIN), it should not be set
    'Impossible WHERE' zero result in adjust_access_methods().
    Adding a condition to exclude this case.
    
    Test case added.

commit 9e73681818d7432925b1094863a425d7785ba811
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Mar 27 10:11:54 2015 +1100

    WL#7696 - Fix a merge issue

commit 97d4dc25654f9e145f86a79d517c2f527d28ede9
Merge: 1e2b5ae 4fa74b1
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Mar 27 10:08:16 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit 4fa74b1df99da8a0bcb92b39f865caf1ac3ae29b
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Mar 26 16:07:29 2015 -0500

    Bug #20759613 ALTER TABLE CAN CRASH THE SERVER - Post fix

commit 81ebba1ef8be6f202b91cb6d9273a80093939da3
Merge: 65b3454 6115213
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Mar 26 13:42:00 2015 -0500

    Merge branch 'mysql-5.7-bug20759613' into mysql-5.7

commit 6115213a6d7d6e4bc63d7159e5f632fbebad0c0d
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Tue Mar 24 14:20:49 2015 -0500

    Bug #20759613 	ALTER TABLE CAN CRASH THE SERVER
    
    This is a regression caused by
      Commit: 7e7d64a7e34a5c141b4f9f534ddd8320f3461f9d [7e7d64a]
      Author: Mattias Jonsson <mattias.jonsson@oracle.com>
      Date: March 20, 2015 at 11:00:12 AM CDT
      Bug#20554858: INNODB: ADD TABLESPACE SUPPORT FOR NATIVE PARTITIONING
    which was reviewed by me.  That patch split m_file_per_table into two
    booleans, but did not use them correctly.
    
    Here, those variables and related routines are renamed for clarity,
    the correct variables are used, and m_use_file_per_table is fully
    initialized in one place. The test added to create_tabespace.test
    fails without this code fix in the same way that the bug reports
    the failure in n_test.

commit 65b345470cb010fa1f23dc49052191b8fa2ca289
Author: Mayank Prasad <mayank.prasad@oracle.com>
Date:   Thu Mar 26 23:14:43 2015 +0530

    Bug #20697446 	COM_STMT_REPREPARE MISSING IN PERFORMANCE SCHEMA IMPLEMENTATION OF SHOW STATUS
    
    Issue :
     Information com_stmt_reprepare (counter) was not available using
     performance_schema session/global status tables.
    
    Fix :
     Made this information available. Added com_stmt_reprepare information
     to be displayed in performance_schema session/global status tables.

commit e54f8009479f62c0e84e7398a5ceb604b39a6d15
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Thu Jan 29 12:24:20 2015 +0000

    Bug #20431860 I_BINLOG.BINLOG-BUG19894987 FAILING WITH WRONG STATEMENT
                  ERROR
    
    The execution of BINLOG statements in a client session will make the
    session GTID_NEXT to change to NOT_YET_DETERMINED_GROUP. So, after a
    BINLOG that contains an FD event, GTID_NEXT will be set to ANONYMOUS
    for the next statement unless there is an explicit SET GTID_NEXT.
    
    Suppose a binary log file from a MySQL 5.6 server running with
    GTID_MODE=OFF (or an earlier version of the server without GTIDs).
    It only contains anonymous transactions but without the
    Anonymous_gtid_log_events.
    
    These anonymous transactions must be kept anonymous in a MySQL 5.7
    server when, for example, executing the output of a mysqlbinlog for
    the above binary log file in the server client session.
    
    Without changing the GTID_MODE to NOT_YET_DETERMINED_GROUP, the server
    would apply the binary log file anonymous transactions using new GTIDs
    for each transaction if the client session had GTID_NEXT=AUTOMATIC.
    
    So as the server doesn't allow to apply anonymous transactions when
    GTID_MODE=ON, the user must set GTID_MODE back to AUTOMATIC before
    issuing any DDL/DML statement in the client session, or else he/she
    will get an ER_CANT_SET_GTID_NEXT_TO_ANONYMOUS_WHEN_GTID_MODE_IS_ON
    error.
    
    Fixed the test case, setting GTID_NEXT=AUTOMATIC after executing
    the BINLOG statements.
    
    (cherry picked from commit 59f2468a02faa41a8111a18ba1dc7cbbd55f740a)

commit f5a2c3f2f9417d04044211d5e08d554f29f757b7
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Jan 29 09:07:36 2015 +0100

    BUG#19894987: Post-push fix. Disable test for embedded which does not support the BINLOG statement
    
    (cherry picked from commit d7c1b3374c6aec08048f57d490ac08a7eea7ec7a)

commit 43ca15e8267095eb3ce68081414901e61bcdd4b3
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Wed Jan 28 16:35:09 2015 +0100

    BUG#19894987: HANDLE_FATAL_SIGNAL (SIG=11) IN HA_INDEX_OR_RND_END | SQL/HANDLER.H:1999
    
    Post-push fix: Fix ASAN warnings.
    
    (cherry picked from commit 348792f557bf6d66fc8e794b938c4bb9b917fa5e)

commit 47447270596f6670265de8adf3b166f285b913b3
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Fri Jan 23 10:36:58 2015 +0100

    BUG#19894987: HANDLE_FATAL_SIGNAL (SIG=11) IN HA_INDEX_OR_RND_END | SQL/HANDLER.H:1999
    
    Execution of certain BINLOG statements while having temporary tables
    open by HANDLER statements caused server crash.
    
    Execution of BINLOG statements for Start/Format_description events
    may close the connection's temporary tables. If a handler had been associated
    with a temporary table, the BINLOG statement's call to close_temporary_tables()
    would result in dangling pointers to the now freed TABLE in
    thd->handler_table_hash. Similarly, a dangling pointer would also be left if
    there was a lock on the temporary table. Running with valgrind showed that
    freed memory was being accessed.
    
    Solution: Properly close handlers and remove locks associated with temporary
    tables being closed by the BINLOG statement.
    
    (cherry picked from commit 11507ffa1df94c1d4df78f3b9b9d4de591ebc43e)
    
    Conflicts:
    	sql/sql_base.cc
    
    Changes to a GTID related comment. Retained the version from 5.6.

commit b71f39bc9d2c462b08935b4d1585b7b2222d04be
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Thu Mar 26 12:41:18 2015 +0100

    Bug#20764521 REGRESSION: FIREWALL USE GENERAL_HOST TO RESOLVE HOST
    
    To simply the handling of host notifications and avoid
    parsing of the event_general.general_user audit message the general_host was
    selected to represent the inbound host. This works well if there's a host
    resolve but fails miserably if there's only an IP.
    (5.7+ version)

commit 49a627bedebeea5019d90551fb73cfead5cf6a34
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Thu Mar 19 11:46:48 2015 +0100

    Bug#18892055: MISSING DATA ON SELECT ... IN WITH JOINS AND INNODB
    ENGINE
    
    When the inner table of an outer join has a (part of) a
    where condition pushed to it, this subcondition is
    deactivated until we have found a row for the table. When we
    do find a row, the predicate is activated and evaluated, and
    hence the row may get rejected after all. But the semijoin
    loose scan algorithm always proceeded as if the row was
    accepted.
    
    Concretely, the QEP_TAB::found_match was unconditionally set
    to true, when it should be set to true only if 'found' is
    true.
    
    Semi-join loose scan is not easily provoked on the outer
    table of an outer join, hence the convoluted test case.
    
    This conclusion is not easily drawn by reading the
    documentation, so it has been slightly improved upon.
    
    (cherry picked from commit 4dab7d84224c4bf0987cde24cbc2076a348b0389)

commit c76ef40e95ed0aeb403ac6a3708eb68af3a763c8
Merge: a4e848e 177981b
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Thu Mar 26 10:18:57 2015 +0100

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit 177981b068f392e0710830757323738d35941aed
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Mar 26 09:57:35 2015 +0100

    Bug#20774956: THREAD_POOL.THREAD_POOL_CONNECT HANGS
                  WHEN RUN ON A YASSL-COMPILED SERVER/CLIENT
    
    Temporary fix: Disable test when running with YaSSL.
    
    Reviewed-by: Erlend Dahl <erlend.dahl@oracle.com>

commit 717b2a6304d4f1610f829c20f818a9c6045a805b
Merge: 59fcec2 0358dbf
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Mar 26 09:50:49 2015 +0100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7795

commit a4e848e499f03bd08a0e5ecb53fa28f642b7af1c
Author: Martin Hansson <martin.hansson@oracle.com>
Date:   Thu Mar 19 15:25:04 2015 +0100

    Bug#18745214: ASSERTION FAILED: FALSE, FILE SQL_TMP_TABLE.CC OR
                  MALFORMED PACKET
    
    Problem: The procedure that creates a temporary table (create_tmp_table())
    expects a flat list of expressions that can be mapped to columns in the
    temporary table. But in case of row constructor expressions, the list is not
    flat.
    
    Solution: Remove row expressions in the contextualization phase of equalities
    and non-equalities. The factory function for equality Items gets its public
    interface broadened to include conjunctions/disjunctions.
    
    The problem also manifests itself for the operators >=, <=, < and >. In this
    case the problem lies in the functions split_sum_func() and
    split_sum_func2(). These functions are supposed to recursively replace set
    functions with Item_aggregate_ref objects (no splitting at all to be seen.)
    The functions should obviously keep recursing over rows, so this has been
    added (in item.cc).
    
    (cherry picked from commit 45261d5bd12a90b9c409e0efb398d199ad1541b9)

commit 1e2b5aede867ef980dfa6802bea2521bac25b3c5
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Mar 26 18:08:47 2015 +1100

    WL#7696 - Fix the column ordinatlity. Messed up in a previous merge.

commit 0358dbf5a8a75fb265641c8b68af74ace0a05911
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Thu Mar 26 12:10:18 2015 +0530

    Fix mem leak post push of BUG#20527217

commit 850af28e0d4f67a6c52efab62f56655aa306cb41
Merge: c4735ae 2b592db
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Mar 26 17:28:16 2015 +1100

    Merge branch 'mysql-5.7-wl7696' of myrepo:mysql into mysql-5.7-wl7696

commit c4735ae0994ff92e2643dedee7baca68a11defb6
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Mar 26 17:25:38 2015 +1100

    WL#7696 - Fix a compilation error
    
    fts_create_one_common_table - the real fix.
    
    The other two changes are inherited from trunk and fixed here so that testing
    can continue.

commit afa4990d8d69158278d30445614cf1d1220419cd
Merge: 1734b2c f265728
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Mar 26 14:13:52 2015 +1100

    Merge branch 'mysql-5.7' of myrepo:mysql into mysql-5.7-wl7696

commit f2657284ff3b8e1e1d22d5c82216a0ff71c2f5cf
Merge: c2580b9 8cd4910
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Mar 26 07:44:20 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8cd49108c9669dc876a5c40929cd57b819535149
Merge: cc5cd91 e8c5d4b
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Mar 26 07:43:35 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit e8c5d4b7412302b707bd790204cc4c937e218154
Merge: 0878e32 295d881
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Mar 26 07:42:26 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit 295d881ad47d1af017fe61b6c69bbdc4edf02b0e
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Thu Mar 26 07:40:35 2015 +0530

    Bug #20730155: BACKPORT BUG#19699237 TO 5.1
    
    Backport from mysql-5.5 to mysql-5.1
    
    Bug# 19699237: UNINITIALIZED VARIABLE IN
                   ITEM_FIELD::STR_RESULT LEADS TO INCORRECT
                   BEHAVIOR
    
    ISSUE:
    ------
    When the following conditions are satisfied in a query, a
    server crash occurs:
    a) Two rows are compared using a NULL-safe equal-to operator.
    b) Each of these rows belong to different charsets.
    
    SOLUTION:
    ---------
    When one charset is converted to another for comparision,
    the constructor of "Item_func_conv_charset" is called.
    This will attempt to use the Item_cache if the string is a
    constant. This check succeeds because the "used_table_map"
    of the Item_cache class is never set to the correct value.
    Since it is mistakenly assumed to be a constant, it tries
    to fetch the relevant null value related fields which are
    yet to be initialized. This results in valgrind issues
    and wrong results.
    
    The fix is to update the "used_table_map" of "Item_cache".
    This will allow "Item_func_conv_charset" to realise that
    this is not a constant.

commit c2580b931441fa8010b75568cbe9835225ba3386
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Mon Mar 23 12:08:27 2015 +0100

    Bug#20748660 THD->MDL_CONTEXT.OWNS_EQUAL_OR_STRONGER_LOCK | CREATE_INFO->TABLESPACE
    
    A failing DISCARD/IMPORT TABLESPACE may leave the flag
    THD::tablespace_op in an incorrect state, causing a
    succeeding statement to fail. This patch introduces
    a class utilizing RAII to make sure the flag is set
    and reset correctly by allocating a local instance
    of the class on the stack. The flag is reset by the
    destructor when the instance goes out of scope.
    
    Within the server, the THD::tablespace_op flag is used
    only in 'lock_table_names()' to avoid locking the
    tablespace name if this is a DISCARD or IMPORT tablespace
    command (which only support file-per-table tablespaces).
    This is the situation caught by this bug report.
    
    The THD::tablespace_op flag is exported by means of the
    'thd_tablespace_op()' function, which is part of the plugin
    API. This function is used by the SEs Archive, Blackhole,
    and InnoDB (partitioned and non-partitioned).
    
    The usage in Archive and Blackhole is in the overriding
    'handler::store_lock()' functions.
    
    Within InnoDB, the 'thd_tablespace_op()' function is used
    when opening a table, to suppress errors normally being
    thrown when attempting to open a table with no tablespace.

commit 1734b2c63be98ab0153c8257b01184104dbd7989
Merge: d0e2b70 08361b2
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Mar 26 10:09:03 2015 +1100

    Merge branch 'mysql-5.7' of myrepo:mysql into mysql-5.7-wl7696

commit 2b592db108678a46d206b6ebd68de998805edd2e
Author: Mikhail Izioumtchenko <michael.izioumtchenko@oracle.com>
Date:   Wed Mar 25 20:28:49 2015 +0100

    move some compression tests elsewhere
    until using Win32::API module is approved.
    Improve error detection, if there is no module,
    the tests will succeed, not fail as before,
    but the testing power will be somewhat limited.

commit 97543660999308893335d81b92307c389e6821a5
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Wed Mar 25 17:22:45 2015 +0100

    Bumped rpm version for oel due to respin

commit e1be8ff372fcc9750005775046ef2bffea73766b
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Mar 24 10:37:54 2015 +0100

    Bug#20756770 MYSQL SERVER DOESN'T COMPILE AGAINST OPENSSL 1.0.1M
    
    The #define in openssl/opensslv.h contains an extra space in 1.0.1M
    Fix the regexp that is used for parsing the version number.
    
    (cherry picked from commit e5f6940dfc10580117249fefaee511e44df55326)

commit 10d11ef1cf0e39e532e6ab05de0063bbcd04bf36
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Mar 24 10:15:29 2015 +0100

    Patch for Bug#17162055: SSL.CMAKE SILENTLY CHOOSES BUNDLED YASSL INSTEAD OF
    ERRORING FOR OLD OPENSSL VER
    
    The problem was that if the user specified incorrect path to SSL installation,
    or if the user specified unsupported (too old) SSL installation using WITH_SSL,
    it's implicitly changed to the 'bundled' value, meaning bundled YaSSL will be
    used instead of user-specified SSL.
    
    The fix is to do not change WITH_SSL to the 'bundled' value, but rather
    exit with an error message and let the user to correct the WITH_SSL value.
    
    (cherry picked from commit c4fcbf13b6cd3f075490dc80bfd7546c5504c74f)
    
    Conflicts:
    	cmake/ssl.cmake
    
    (cherry picked from commit e858eb9b5722520f3aaa445e284bba7b5882a249)

commit 6188a0b1185e924d70a75b5bbadf4d751487e2cc
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Wed Mar 25 13:49:36 2015 +0100

    Bug#20755346 EXAMPLE SCRIPT IN FIREWALL MISSES WHERE CLAUSE
    
    Two scripts are included in the source dir for the firewall
    plugin which demonstrates how the product can be installed
    and used. The stored procedure contains an UPDATE statement
    which is missing a WHERE clause which cause unintended side
    effect when used.
    
    (cherry picked from commit cc5cd91b85d7d758841349ec7b582a65941554d6)

commit ace283918b69fbdd3b2ef72c353136c2ddea1927
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Wed Mar 25 13:36:52 2015 +0100

    Bug#20764521 REGRESSION: FIREWALL USE GENERAL_HOST TO RESOLVE HOST
    
    Firewall only check hostnames through the general_host field which
    is empty if there's no hostname. This patch ignores the audit API
    and takes privileged user and host fields from the authenticated
    account as represented in the mysql.user table using the
    Security_context.
    
    Error reporting for set_firewall_mode() was also improved so
    that failure to create a new user isn't reported as OK.
    
    (cherry picked from commit 7d6690725f63c206a78340f554972f10017e9660)

commit 6c0b234ccd60a7036e81fdf8ce1146a3ac9e1689
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Mar 25 15:42:07 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - fix ndb_gis.result file in the same way as other
       test which source include/gis_generic.inc has been
       fixed.
     - it's no longer allowed to have linestrings with one point
       or polygons with ring or less than 4 points
     - see: Bug20316779 Invalid linestrings with one point are permitted
            Bug20316794 Invalid polygons with rings of less than 4 points are permitted

commit 0a50d9d50dd70d43f4d7e9e6f688f13f918c072a
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Mon Mar 16 12:55:07 2015 +0100

    Bug#20676000: FAILING MDL TABLESPACE ASSERTION FOR ALTER NDB TABLE IN UNIREG.CC:263
    
    For mysql versions before 50120, NDB stored the tablespace names only
    in the NDB dictionary. Thus, we have to get the tablespace name from
    the engine rather than the .FRM file in this case.
    
    This patch introduces a new handlerton function 'get_tablespace()', which
    retrieves a tablespace name from a storage engine, given a schema- and table
    name. The new handlerton function is implemented for the NDB storage engine.
    
    The existing server function 'get_tablespace_name()', currently retrieving
    the tablespace name from an .FRM file, is extended to instead get the name
    from the storage engine, using the new handlerton function, in the cases
    where this is relevant.

commit 400c73a4db3e6c9e8c05a42ea54ad7055c33edce
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Mar 25 15:39:28 2015 +0100

    WL#8326 Make NO_AUTO_CREATE_USER sql_mode behavior the default in 5.7
    
        Post-fix: a few more ndb_rpl and rpl_ndb results fixed

commit 08361b225db329bd35f328390433497a38c5cfbf
Merge: eff8c6d cc5cd91
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Wed Mar 25 15:29:28 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit cf249f61e4fe05b19f186335881c0d43d18e19c5
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Mar 25 14:58:01 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
    - fix result files for SHOW CREATE TABLE ot table containing
      tablespace, the tablespace name is now properly quoted
      after bug20554858

commit cc03a159d39cf616fcd3d233bb8077e495735d00
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Mar 25 14:46:13 2015 +0100

    WL#8326 Make NO_AUTO_CREATE_USER sql_mode behavior the default in 5.7
    
        Post-fix: ndb and ndb_rpl tests fixed

commit 59fcec24bc2d9ed87faf3322504127ec6a0f3079
Merge: 79862bd eff8c6d
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Mar 25 14:26:39 2015 +0100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7795

commit cc5cd91b85d7d758841349ec7b582a65941554d6
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Wed Mar 25 13:49:36 2015 +0100

    Bug#20755346 EXAMPLE SCRIPT IN FIREWALL MISSES WHERE CLAUSE
    
    Two scripts are included in the source dir for the firewall
    plugin which demonstrates how the product can be installed
    and used. The stored procedure contains an UPDATE statement
    which is missing a WHERE clause which cause unintended side
    effect when used.

commit eff8c6d7f444e94a761acb841fe94bbdd758128d
Merge: 3de3dc4 7d66907
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Wed Mar 25 13:44:26 2015 +0100

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

commit 7d6690725f63c206a78340f554972f10017e9660
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Wed Mar 25 13:36:52 2015 +0100

    Bug#20764521 REGRESSION: FIREWALL USE GENERAL_HOST TO RESOLVE HOST
    
    Firewall only check hostnames through the general_host field which
    is empty if there's no hostname. This patch ignores the audit API
    and takes privileged user and host fields from the authenticated
    account as represented in the mysql.user table using the
    Security_context.
    
    Error reporting for set_firewall_mode() was also improved so
    that failure to create a new user isn't reported as OK.

commit 3de3dc428fb8a67954f9a57b99054b47affb12ba
Merge: 36d69bc d3048b9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Mar 25 12:38:44 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit d3048b939b2758b4c1dae104cee1d28426b5b538
Merge: 5c1707e 09be0b9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Mar 25 12:31:43 2015 +0100

    Merge branch 'mysql-5.6' of myrepo:mysql into mysql-5.6

commit 36d69bc7b61379242fc00146bfe8c835dca3098a
Author: Annamalai Gurusami <annamalai.gurusami@oracle.com>
Date:   Wed Mar 25 14:03:02 2015 +0530

    Bug #20713559 ASSERT !HAS_DONE_RESERVATION, FSEG_ALLOC_FREE_PAGE_LOW()
    
    Problem:
    
    When a BLOB is stored in InnoDB, there is calculation to determine
    the number of pages and then the number of extents.  Once the correct
    number of extents are calculated, then that many extents are reserved.
    But during the calculation of number of extents, we are not taking
    into account the compressed pages.
    
    Solution:
    
    Calculate the number of extents, by taking into account whether the
    pages are compressed or not.
    
    rb#8402 approved by Sunny.

commit dc27c7638b69dde376b1c3d52d0546ec1f48d53f
Merge: bfc8ef1 09be0b9
Author: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
Date:   Wed Mar 25 15:33:08 2015 +0530

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

commit 09be0b97812473e9d7f388b7308afc75e5137a1d
Merge: 29fe32a 0878e32
Author: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
Date:   Wed Mar 25 15:32:24 2015 +0530

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

commit 0878e32378e2728d07a901ba5abeea2c87bf8e3c
Merge: 17ae11f 1b43787
Author: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
Date:   Wed Mar 25 15:31:04 2015 +0530

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

commit 1b43787a384ef77e8f7122e440002adef4224cd7
Author: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
Date:   Wed Mar 25 15:28:55 2015 +0530

    Bug# 20730103 BACKPORT 19688008  TO 5.1
    
    Problem: UDF doesn't handle the arguments properly when they
             are of string type due to a misplaced break.
             The length of arguments is also not set properly
             when the argument is NULL.
    
    Solution: Fixed the code by putting the break at right place
              and setting the argument length to zero when the
              argument is NULL.

commit bfc8ef1ffe284be78bfbd2cca6530eaa9f73dffe
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Mar 24 16:44:58 2015 +0100

    Bug#20430526 ADDRESSSANITIZER: HEAP-BUFFER-OVERFLOW IN FIELD_BLOB::GET_KEY_IMAGE FLOAT8STORE
    
    The range optimizer interpreted a hidden key part as an MBR index.
    (Hidden key parts are innodb primary keys, cannot be used as MBR)

commit 4369d9ac6c037fb72005ca351d74a845d98e8282
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Mar 16 15:07:48 2015 +0100

    Bug#20712031 CONVERT FIELD FLAG ACCESSORS FROM MACROS TO INLINE FUNCTIONS
    
    Substitute some flag macros with inline funtions:
    easier debugging, better type safety,
    and less pollution of the global namespace.

commit 698c7c1d750a25697e8b7f5a9f74c8ffead94f51
Author: Allen.Lai <zheng.lai@oracle.com>
Date:   Wed Mar 25 17:08:21 2015 +0800

    Bug#20744155 SHUTDOWN HANG, INFINITE LOOP IN INNOBASE_CLOSE_CONNECTION()
    
    We had two versions of trx_is_started(), one that took a const
    (correct version) and another one that took a non-const arg.
    Where it hangs, it seems the non-const version was being used.
    In this patch, we removed the non-const one.
    
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com> on IM

commit 5c1707eb63e0cfd82a36fe25dfd1d5c5ed64c007
Merge: e5f6940 29fe32a
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Mar 25 09:52:46 2015 +0100

    Merge branch 'mysql-5.6' of myrepo:mysql into mysql-5.6

commit 48fddb1095861b3263c94076551e85e97521fd57
Merge: 0de9cbf ba41628
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Mar 25 07:07:32 2015 +0100

    Merge branch 'mysql-5.7' into mysql-trunk-cluster
    
    Conflicts:
    	VERSION
    	mysql-test/suite/ndb/r/ndb_dd_alter.result
    	mysql-test/suite/ndb/t/ndb_dd_alter.test
    	sql/partition_info.cc
    	support-files/mysql.spec.sh

commit d0e2b70395c66b95aaf236bea37af383416c2e79
Merge: 9c00290 b6d242d
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Mar 25 12:32:14 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit ba416289724378cc5951f35c5ff5f2447b09ea90
Author: Haixiang Li <haixiang.li@oracle.com>
Date:   Tue Mar 24 00:33:31 2015 +0100

    Bug#19811896 ASSERTION FAILED: CURR_TABLE->TABLE_REF ||
                 !(HAVING_COND->USED_TABLES() & ~(1 |
    
    Description:
    ------------
     - MySQL is going to add HAVING condition to a temp table,
       in JOIN::make_tmp_tables_info(), it has three steps below:
      - a) Calling update_used_tables() to update 'used_tables_cache'.
      - b) Calling DBUG_ASSERT to assure fields in HAVING condition
           have been replaced with fields in an internal temporary table.
      - c) Calling make_cond_for_table() to do merge the condition of
           HAVING clause into temp table.
     - If the HAVING clause of a query contains a subquery referencing a
       column from the top query, MySQL will crash in DEBUG mode, because
       it expects the column to be part of the temporary table; it is
       actually part of it, but Item_subselect::update_used_tables() fails
       to reflect it, and cannot be fixed alas.
    
    Fix:
    ----
    If the HAVING condition contains a subquery, relaxing the assertion.
    
    Test case added.

commit 0de9cbff5996ba08094196812dfe472b021f6a7b
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

commit 43e1df7891ba07fee85ea8ffce6f0479f8d8f9db
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

commit b6d242dea958bc3f21dc62f62317ff25374f66ba
Merge: 7a5fffc 29fe32a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Mar 24 17:22:21 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 29fe32a1e112f2320caeac17985d28a26b865cb2
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Mar 24 17:20:23 2015 +0100

    Fix old sin
    
     - add one line copyright header also to files in the unmentionable

commit 7a5fffcc88f14d71829325fc5c735ad942d421cf
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Mar 17 12:13:01 2015 +0100

    Bug#20262654 INNODB: MYSQL IS TRYING TO PERFORM A CONSISTENT READ BUT THE READ VIEW IS NOT AS
    
    The function copy_fields may fail if innodb rolls back the transaction.
    Fix: let copy_fields return bool: thd->is_error()

commit 4fe90a1f80c4029a10810a4aa1ef80b9f4daef81
Author: Marc Alff <marc.alff@oracle.com>
Date:   Tue Mar 24 15:53:05 2015 +0100

    Fixed whitespace

commit 1a884616fe81afbdf1811ecd8a28f2afeb8d4121
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Mar 19 13:48:07 2015 +0100

    Bug#20651661 NDBEVENTBUFFER LEAKS GCI_OP
    
    When all subscription for a NdbEventBuffer was canceled and a new
    one issued, active and completed (not passed to application) gci
    containers was cleared without freeing allocated gci ops and put
    EventBufData in use to free list.
    
    This patch frees gci ops when EventBufData are put to free list.

commit 296068158f2948750206eeeade63e8d6064885bf
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Mar 24 15:08:36 2015 +0100

    Remove three files which did not properly remain
    
     - These treee files are now in different place
     - Suspect that problem has been caused by revert and then
       reapplying upstream merges.

commit 03e2196c435aed5a3de836811a9d0f2cc49ff9c2
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Thu Mar 5 08:52:04 2015 +0100

    Bug#20527217 - INNODB: PUT FTS AUXILIARY TABLES INTO THE SAME GENERAL TABLESPACE AS THE PRIMARY
    
    Problem:
    --------
    If an FTS primary table is assigned to a general tablespace, FTS
    auxiliary tables should also be created in the same tablespace.
    
    Fix:
    ----
    Create FTS aux tables in same general tablespace, if the FTS primary
    table is in general tablespace.
    
    Since FTS Aux tables will be in the same general tablespace, they follow
    the  properties of the tablespace.
    
    1) AUX Tables can be now compressed (if General Tablespace is compressed)
    2) AUX Tables will have same ROW_FORMAT as FTS primary table
    3) AUX Tables will now adhere to 'DATA DIRECTORY'
    
    Reviewed-by: kevin.lewis@oracle.com
    Reviewed-by: jimmy.yang@oracle.com
    RB: 8166

commit 19712bac4df077874f7cba62bf3b705ed8a417ed
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Mar 24 16:15:31 2015 +0200

    Bug #16555730 addendum 2
    
    Use the correct case for the P_S tables and columns.

commit 25fd9df4d41cf3e139891c87d69c0f8b4a198437
Merge: 49f9ed1 59441ca
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Mar 24 13:18:54 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Bug#20734434 - SPELLING ERROR \"EMDEDDED\" IN RPM SPEC FILES
    
    - Updated emdedded to embedded

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 17ae11ff5bc8695b54020ac3bcc2f3929aa2aecb
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Mar 24 12:55:43 2015 +0100

    Bug#20734434 - SPELLING ERROR \"EMDEDDED\" IN RPM SPEC FILES
    
    - Updated emdedded to embedded

commit 49f9ed1ae8d1ac221b9e9ef6402cef03cf40e295
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Tue Mar 24 09:35:34 2015 +0100

    Bug#20753569: handle_fatal_signal (sig=11) in st_select_lex::merge-derived
    
    There is no reason to add ordering to an INSERT or REPLACE statement,
    so excluding those possibilities.

commit c597cadb527be73c19fe7fa48d4a45a802f18901
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Mar 24 12:28:29 2015 +0200

    Addendum to bug #16555730:
    
    Give the tests a descriptive name.

commit d21c86f232a795c8010209e57f3f720cb803136f
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Tue Mar 24 15:19:02 2015 +0530

    Bug# 19573096: LOADING CORRUPTED GEOMETRY DATA INTO A
                   MYISAM TABLE CAUSES THE SERVER TO CRASH
    
    Post push fix to correct test case.

commit e5f6940dfc10580117249fefaee511e44df55326
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Mar 24 10:37:54 2015 +0100

    Bug#20756770 MYSQL SERVER DOESN'T COMPILE AGAINST OPENSSL 1.0.1M
    
    The #define in openssl/opensslv.h contains an extra space in 1.0.1M
    Fix the regexp that is used for parsing the version number.

commit e858eb9b5722520f3aaa445e284bba7b5882a249
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Mar 24 10:15:29 2015 +0100

    Patch for Bug#17162055: SSL.CMAKE SILENTLY CHOOSES BUNDLED YASSL INSTEAD OF
    ERRORING FOR OLD OPENSSL VER
    
    The problem was that if the user specified incorrect path to SSL installation,
    or if the user specified unsupported (too old) SSL installation using WITH_SSL,
    it's implicitly changed to the 'bundled' value, meaning bundled YaSSL will be
    used instead of user-specified SSL.
    
    The fix is to do not change WITH_SSL to the 'bundled' value, but rather
    exit with an error message and let the user to correct the WITH_SSL value.
    
    (cherry picked from commit c4fcbf13b6cd3f075490dc80bfd7546c5504c74f)
    
    Conflicts:
    	cmake/ssl.cmake

commit b5ed76ee3db348f319102317fab2704463d3a087
Author: Georgi Kodinov <georgi.kodinov@oracle.com>
Date:   Tue Mar 24 10:52:10 2015 +0200

    Bug #16555730: FEDERATED SHOULD DEFINE CONNECTION ATTRIBUTES TO
      IDENTIFY ITSELF
    
    Added a mysql_options() call to set the program name for federated
    connections.

commit 53a9f77cedee799c38e02b0c2e9e25425557b1ef
Merge: aa8063a d12fba3
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Mar 24 14:16:47 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d12fba38c562d00b2391fcc35e2c1c60418395d1
Merge: 42ffa91 caf48a2
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Mar 24 14:15:40 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit caf48a2716698a7f08a05f4fbac451596aaa29ef
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Tue Mar 24 14:09:18 2015 +0530

    Bug#20422680	BUF_POOL_WATCH_SET WOULD CRASH TRYING
    			TO USE A SECOND WATCH PAGE PER INSTANCE
    
    Description:
    	BUF_POOL_WATCH_SIZE is also initialized to number of purge threads.
    so BUF_POOL_WATCH_SIZE will never be lesser than number of purge threads.
    From the code, there is no scope for purge thread to skip buf_pool_watch_unset.
    So there can be at most one buffer pool watch active per purge thread.
    In other words, there is no chance for purge thread instance to hold a watch
    when setting another watch.
    
    Solution:
    	Adding code comments to clarify the issue.
    
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    Approved via Bug page.

commit aa8063a6dffd6d2a395e0f01499cca804f9cdd13
Author: viswanatham <viswanatham.gudipati@oracle.com>
Date:   Tue Mar 24 14:03:04 2015 +0530

    Removing the duplicate testcase

commit af47dc83b56c6ce5c83fc6c07196b68b8cb8b3f2
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu Mar 19 12:19:22 2015 +0800

    Bug#20709391 SCHED_GETCPU() IN DEFAULT GET_RND_INDEX() COULD NOT
    GENERATE RANDOM COUNTERS
    
    The sched_getcpu() in default get_rnd_index() doesn't generate a
    random number as we expected, so if some threads occupy the same
    CPU, they would get the same counter. After the push of WL#8316
    which makes default purge threads from 1 to 4, the 4 purge threads
    would try to request the same slot in the sync_wait_array due to
    the not random generator.
    
    We replace existing get_rnd_index() with the RDTSC one, which
    generates more random numbers, to reduce collision. With RDTSC,
    we also make the for-loop in sync_array_get_and_reserve_cell()
    work correctly, instead of trying the same slot over and over.
    And we abandon sched_getcpu() totally, since it just generates
    limited numbers.
    
    RB: 8362
    Reviewed-by: Marko <marko.makela@oracle.com>

commit d59a1d4925198947386e7af017db3d9a620b8a9f
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Tue Mar 24 16:06:00 2015 +0800

    BUG#20742590 - INNODB FTS WITH MECAB CRASHES BY LARGE STRING
    
    The root cause of the crash is out of memory. Mecab doesn't handle
    the exception properly, so we need to handle it in mecab parser.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 8405

commit ab4d351cb8f4791516fe9744768030c25d3cb0d5
Merge: 1f58f28 42ffa91
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Tue Mar 24 08:52:05 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 42ffa91aad898b02f0793b669ffd04f5c178ce39
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.

commit 1f58f286257eaf2c435666a7850f1bbe8c8f254f
Author: Satya Bodapati <satya.bodapati@oracle.com>
Date:   Tue Mar 24 12:23:00 2015 +0530

    Update errors.lst file from svn repo

commit 001cbddc409f05dedd828f74b52d66a6f8b7f066
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Tue Mar 24 12:08:50 2015 +0530

     Bug#20748479: INNODB:FAILING ASSERTION: SRV_READ_ONLY_MODE
     || TRX->IN_DEPTH > 0 IN SELECT
    
     If transaction workload involved use of intrinsic table then active transaction
     object is also passed to intrinsic table APIs. Intrinsic table are meant to
     ignore these transaction object as intrinsic table doesn't support rollback
     neither are they shared across connections. One such instance was left out that
     tried using transaction for intrinsic table too. Fixed it now.
    
     Reviewed By: Sunny Bains (sunny.bains@oracle.com)
     RB: 8403

commit 79862bd26154ac525ebeaf6d00f25f7882699f5f
Merge: 5fd1a01 5c3ef51
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Mar 23 17:18:08 2015 +0100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7795

commit 5fd1a015a6a1e3e558f16cf5ffc512138f77f6a0
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Mar 23 17:15:30 2015 +0100

    WL#7795 PERFORMANCE SCHEMA, HISTORY PER THREAD
    
    Test suite.

commit 5c3ef5190577dd591d92bf0859e1ffa027cef6d6
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Mon Mar 23 16:54:31 2015 +0100

    Bug#20733540 Assertion failed: !table || (!table->read_set ...)
    
    The problem exists for natural join/join using queries where one of
    the tables is a derived table, but is accessed through a join nest.
    In this case, mark_common_columns() checks for table reference being
    is_view_or_derived(), or a field is present. But this test misses
    the case above, since the derived table is underneath the join nest.
    
    The fix is to have one check for a field, which is the simple case,
    and use the Item pointer for all other cases.

commit 8b70314d4e542c1834eeabdb9e79b452f5131ce5
Author: Roy Lyseng <roy.lyseng@oracle.com>
Date:   Mon Mar 23 16:18:20 2015 +0100

    Bug#20310257 Explain for insert into a view show wrong table for insert
    
    This is a problem for EXPLAIN of an INSERT ... SELECT statement into
    a multi-table view: The first table of the view was always displayed
    as the table being inserted into, even if inserting into a different
    table.
    
    This bugfix has been slightly eased by some refactoring made in WL#5275.
    EXPLAIN relied on LEX::leaf_tables_insert to be set correctly as
    the "leaf" table to insert into. But the logic in
    select_insert::prepare() was wrong: It would always assign the first
    leaf table to this.
    
    Notice that we now calculate insert_table_ref for an INSERT.
    The bug fix is to rename LEX::leaf_tables_insert to
    insert_table_leaf and copy the value from insert_table_ref.
    (The renaming was made to synchronize the name of the table_list
     pointer with insert_table, which is the name of the user-supplied
     table (base table or view) being inserted into.)
    
    We also realized that LEX::insert_table_leaf and the local variable
    insert_table_ref was duplicates, so we have removed the local variable
    wherever possible.
    
    The calculation of st_select_lex::leaf_table_count and
    st_select_lex::leaf_tables in mysql_insert_select_prepare() has also
    been simplified.
    
    There was also a problem with prepare_for_positional_update(), since
    it was based on a table object that sometimes was not calculated yet.
    The simple solution was to have two calls to
    prepare_for_positional_update(), one for each place the insert table
    is determined. It is unfortunate to have it in two places, but
    the alternative is some bigger refactoring.

commit 0b7baee775ca84e9e937a6488b7c2ff78869c1f9
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Mon Mar 23 14:48:03 2015 +0100

    WL#8313: Set ROW based binary log format by default
    
    Post-push fix: 'force binlog_format=..' 'restore binlog_format'
    did not work when mtr was invoked with --mysqld=--binlog-format=mixed
    
    Solution: save value of current binlog_format, and restore that,
    rather than restoring to DEFAULT.

commit 1742f7a0c5cab9106719dd7c21d9037e08bf3bae
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Mar 23 13:37:49 2015 +0100

    removed unused function

commit 24ded4b12aada89c8183559ff916b47afd33a71a
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Tue Mar 17 15:44:31 2015 +0100

    Bug#20685427 INVALID WRITE OF FREED MEMORY IN ITEM_FUNC_MATCH::CLEANUP
    
    My preferred solution.
    
    Regression due to the fix of
    Bug #20261601 	ASSERTION FAILED: !FIRST_QEP_TAB->TABLE()->NO_KEYREAD
    This fix had introduced an access to table_ref->table in Item_func_match::cleanup(),
    but such pointer may point to just-freed data, if it's an internal tmp
    table (this cleanup() runs after free_tmp_table()).
    
    Fix: resetting no_keyread in all exit paths proves to be error-prone. Instead,
    let's reset it when the statement gets a hold on the table object
    (i.e. at start), in TABLE::reset(). It's not a problem to delay resetting
    to the next statement, as no_keyread has no resources (buffers, cursors, locks)
    attached to it.

commit aeb04497245d76863dc3013e8f025c06c0400923
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Mon Mar 23 13:19:05 2015 +0100

    Revert "WL#8322 Improve default MySQL CLI prompt in 5.7"
    
    This reverts commit bdb495629478dee1771834c1c60d5933f7ce0eab.
    
    Pull out this change pending further discussions.

commit d14934cd06963d08123da53a8cc9eeef8e84edcc
Author: Libing Song <libing.song@oracle.com>
Date:   Mon Mar 23 18:29:21 2015 +0800

    Bug#20464737 SEMI_SYNC: SLAVE IO FAILS WITH ER1236 'SLAVE HAS MORE
                 GTIDS THAN THE MASTER HAS'
    
    Postfix. Fixed a typo in test.

commit 53de393da09d713627a24e2b9a61968431fce79b
Merge: 4c760db 7f58410
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Mar 23 14:48:19 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 7f58410b3f11eddb38ff8c57a7a58095f7db2910
Merge: 2f008a0 0a1a0b3
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Mar 23 14:34:22 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 0a1a0b3e9e52e1ca866b02c3a0b7a0a0c75a115e
Merge: 51e5753 34f9610
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Mar 23 14:33:36 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit 34f9610466afddb96f267f4047d95f3ffb49adc1
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Mar 23 14:31:28 2015 +0530

    Bug #20730220 : BACKPORT BUG#19880368  TO 5.1
    
    Backport from mysql-5.5 to mysql-5.1
    
    Bug#19880368 : GROUP_CONCAT CRASHES AFTER DUMP_LEAF_KEY
    
    Problem:
    find_order_by_list does not update the address of order_item
    correctly after resolving.
    
    Solution:
    Change the ref_by address for a order_by field if its
    SUM_FUNC_ITEM to the address of the field present in
    all_fields.

commit 4c760dbc44fe0e6434a284cdd02c5cef90b24525
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Mon Mar 23 09:07:41 2015 +0100

    Bug#19504183 GIS: -0 WOULD BE TRANSLATED TO 0 AUTOMATICALLY
    
    Post push fix.
    
    Updated test result for innodb_gis.point_big.

commit d4b0932d8af84a49466ba51dcb42c5d68ddfa985
Merge: 749c8bb 2f008a0
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Mar 23 12:08:46 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 2f008a03fca8853d0073d743d2296d9708c64701
Merge: f71f260 51e5753
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Mar 23 12:08:02 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 51e575390ad13c1dc308e36872b53837a7dc62cf
Merge: 961a36c 4dbb734
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Mar 23 12:07:18 2015 +0530

    Merge branch 'mysql-5.1' into mysql-5.5

commit 4dbb73483768e928c9841c512fc881c66ff79a74
Author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
Date:   Mon Mar 23 12:05:55 2015 +0530

    Bug #20730129: BACKPORT BUG#19612819  TO 5.1
    
    Backport from mysql-5.5 to mysql-5.1
    
    Bug #19612819 :  FILESORT: ASSERTION FAILED: POS->FIELD != 0 || POS->ITEM != 0
    
    Problem:
    While getting the temp table field for a REF_ITEM
    make_sortorder is using the real_item. As a result
    server fails later with an assert.
    
    Solution:
    Do not use real_item to get the temp table field.
    Instead use the REF_ITEM itself as temp table fields
    are created for REF_ITEM not the real_item.

commit 749c8bbe7ff01f427a08bfae21df1cdcd7ce1276
Author: Libing Song <libing.song@oracle.com>
Date:   Mon Mar 23 14:25:18 2015 +0800

    Bug#20464737 SEMI_SYNC: SLAVE IO FAILS WITH ER1236 'SLAVE HAS MORE
                 GTIDS THAN THE MASTER HAS'
    
    Slaves, especially semisync slaves, encountered ER1236 when
    connecting to their masters. When connecting to the master
    with COM_GTID_DUMP request, the slave sends all replicated
    gtids to master and master checks if all the gtids(only
    the gtids have master's uuid) are included in its gtid_executed.
    However, there is a chance that a gtid is already in slave's
    gtid_executed, but not in master's gtid_executed. Gtid is
    added into gtid_executed after it is binlogged, so it is
    possible that a transaction is replicated and applied on
    slave, but not committed on master yet.
    
    To fix it, master will check if all gtids are in the set of
    (gtid_executed, owned_gtids).

commit 9c00290f7c3937579234e79130861712562979bd
Merge: 7237754 1fdd1dd
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Mon Mar 23 17:04:08 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit 7237754ded759f3a3984c1b7483b8523a011be3f
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Mon Mar 23 16:59:53 2015 +1100

    WL#7696 - Make LZ4 decompress safe during recovery
    
    Use LZ4_decompress_safe() when the page is being recovered via the double
    write buffer. If a page is corrupt on disk due to a torn (partial) write
    LZ4_decompress_fast() can potentially access memory beyond the input buffer
    size.
    
    Use the double write buffer page for recovery only if the original data page
    cannot be decompressed due to corruption.

commit 1fdd1ddfa0305b0a9d02362b755ab81f7f658456
Merge: eccef2f f71f260
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Mar 23 08:57:11 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit f71f26009bd09389c4139b393c250a55850cf57e
Merge: d5c5965 961a36c
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Mar 23 08:56:02 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 961a36ccb41a303bd8e1cebc9e6dc78058829609
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Mar 23 08:49:26 2015 +0530

    Bug# 19573096: LOADING CORRUPTED GEOMETRY DATA INTO A
                   MYISAM TABLE CAUSES THE SERVER TO CRASH
    
    Issue:
    -----
    During index maintanence, R-tree node might need a split.
    In some cases the square of mbr could be calculated to
    infinite (as in this case) or to NaN. This is currently
    not handled. This is specific to MyISAM.
    
    SOLUTION:
    ---------
    If the calculated value in "mbr_join_square" is infinite or
    NaN, set it to max double value.
    
    Initialization of output parameters of "pick_seeds" is
    required if calculation is infinite (or negative infinite).
    
    Similar to the fix made for INNODB as part of Bug#19533996.

commit eccef2fd5092ab8e1b5e63d02d562fa2cf424afc
Author: Krunal Bauskar <krunal.bauskar@oracle.com>
Date:   Mon Mar 23 08:38:42 2015 +0530

     Bug#20730289: FAILING ASSERTION: (&DICT_SYS->MUTEX)->IS_OWNED()
    
     ALTER statement in the bug test-case is trying to create temporary table as
     part of Optimizer plan. Temporary table (or intrinsic to be specific) is not
     suppose to have foreign key but the code to add FK was left over as part of
     some old changes that then use to invoke it to formally block FK and display
     proper error message. Error message is no more required as intrinsic tables
     are internal only now.
    
     Fix: Completely block invocation of FK code (including parsing that check for
     presence of FK) for intrinsic table.
    
     Reviewed by: Sunny Bains (sunny.bains@oracle.com)
     RB: 8379

commit 0ee2b401f985a357d685451151e4aea31b8bf7dc
Merge: 8696427 d5c5965
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Mar 23 08:09:08 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit d5c596509fb09104a128b63a194b589d94029927
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Mon Mar 23 08:08:01 2015 +0530

    Bug#20109861: MYSQL 5.6 CRASHES WITH "MYSQLD GOT SIGNAL 11"
                  BY QUERY WITH MULTIPLE JOINS
    
    ISSUE:
    ------
    When a subquery is converted to semi-join, the query is
    flattened and a single query is created. The outer-most
    query's select_lex class does not keep track of the inner
    query's condition and between count. This will create a
    problem when there are large number of tables in the join
    condition of the inner query (25 or more in this case).
    
    Trunk & 5.7: Fixed by Roy as part of "WL#5275: Process
                 subqueries in FROM clause in the same way as
                 view"
    5.5: Does not convert a subquery to semi-join. Hence problem
         does not occur.
    
    SOLUTION:
    ---------
    During the conversion from subquery to sem-join, make sure
    that cond_count and between_count are added to the outer
    query's select_lex.

commit 8696427300ada4f2fc8d5a7c41f87bfb6c90d31c
Author: David.Zhao <david.zhao@oracle.com>
Date:   Sat Mar 21 18:33:06 2015 +0800

    Bug#20316779 Invalid linestrings with one point are permitted
    Bug#20316794 Invalid polygons with rings of less than 4 points are permitted
    
    Follow-up fix: put the object construction in a scope to work correctly
    with the already existing goto statements in the same function.

commit c54d0c432a311f86bef8973198b6fda4af37ec84
Author: David.Zhao <david.zhao@oracle.com>
Date:   Sat Mar 21 12:48:47 2015 +0800

    Bug#20316779 Invalid linestrings with one point are permitted
    Bug#20316794 Invalid polygons with rings of less than 4 points are permitted
    
    Forbid linestrings that have only one point and polygons having a ring that has
    less than 4 points unless it's a non-closed ring with 3 points(which will be
    automatically closed internally), in all functions that creates a piece of
    geometry data.
    
    Those with multiple identical points are allowed as before and counted
    as multiple points.

commit 7e7d64a7e34a5c141b4f9f534ddd8320f3461f9d
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Fri Mar 20 17:00:12 2015 +0100

    Bug#20554858: INNODB: ADD TABLESPACE SUPPORT FOR NATIVE PARTITIONING
    
    Tablespace support per partition was not included
    when wl#6035 (InnoDB native partitioning)
    and wl#6205 (InnoDB support for general shared tablespaces)
    was added.
    
    This enables support for general shared tablespaces also for
    partitioned innodb tables.
    
    Also fixed the output of SHOW CREATE TABLE to quote
    the tablespace name as an identifier.
    
    Also fixes test for bug#20588947.

commit a7768516a77d95a5cf114d0f976c9093e5175ef3
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Mar 20 15:37:31 2015 +0100

    Remove hack to allow large number of failing tests in mtr.pl

commit 91153f3385c4917a215aa4c7818b3f6265608286
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Fri Mar 13 12:39:31 2015 +0100

    Bug#19504183 GIS: -0 WOULD BE TRANSLATED TO 0 AUTOMATICALLY
    
    Problem: The handling of negative zero in geometric points is
    inconsistent. Most functions preserve negative zeros, but some
    function convert negative zeros to zeros:
    
    WKT export functions convert negative zero to zero explicitly in
    Geometry::append_points(), Gis_point::get_data_as_wkt() and
    Gis_line_string::get_data_as_wkt()
    
    ST_AsGeoJSON() converts negative zeros to zeros if max_dec_digits is
    larger than 308 (default is 2**32-1). This happens because
    Item_func_as_geojson::append_coordinates() calls my_double_round(),
    which makes an internal calculation where it tries to multiply the
    value with 10**max_dec_digits. Non-zero values will result in +/-Inf,
    but zero and negative zero will result in -NaN. Later in the code,
    only the +/-Inf case is handled, so the function returns -NaN for zero
    and negative zero. This is later converted to zero in GeoJSON output.
    
    ST_GeomFromGeoJSON() uses rapidjson to parse the JSON string. "-0.0"
    is handled correctly, but "-0" is stored as integer internally and
    hence loses the sign bit.
    
    Negative zero and zero have different binary representations, but they
    compare as equal, so it's mostly a presentation issue.
    
    Fix: Always preserve negative zeros.
    
    In WKT export functions: Partially revert fix for bug #19133043, which
    introcued negative zero to zero conversion.
    
    In my_double_round(), add correct handling of zero and negative zero
    for large numbers of decimals.
    
    In rapidjson::GenericReader::ParseNumber(), store "-0" as a double
    internally, but add a new parameter is_int to the Double() handler
    function to make it possible to tell that the number was specified as
    an integer.
    
    Because of the storage format of geometric data and how the equality
    operator works, geometries with negative zeros do not compare as equal
    to the same geometries with zeros. This bugfix doesn't change
    that. Geometric operations should be compared using ST_Equals instead
    of the equality operator.

commit 054f60ffa6022767a2fc0a4fe4522b7c069d0be2
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Fri Mar 20 14:03:43 2015 +0100

    WL#8326 Make NO_AUTO_CREATE_USER sql_mode behavior the default in 5.7
    
    Post-push fix: innodb.innodb_mysql test fixed.

commit b5f2a6d59936b111a01214ffa2ea55759a16e56c
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Fri Mar 20 14:24:59 2015 +0100

    Post-push fix for BUG#20471216: 5.6 WITH GTID_MODE=X CANT CONNECT TO 5.7.
    6 WITH GTID_MODE=X_PERMISSIVE
    
    sys_vars.gtid_mode_basic needed different changes in 5.7 compared to
    5.6. Fixed this in 5.7.

commit 5e14a4c13775ceb8f25fe9cf1495d7d43daa0de9
Merge: 97de35e 90e6626
Author: aditya <aditya.a@oracle.com>
Date:   Fri Mar 20 15:36:23 2015 +0530

    Bug #20478242	MEMCAHCED SET COMMAND ACCEPTS NEGATIVE VALUES FOR EXPIRE TIME
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 90e6626db90b0d7b099ceb809e5059fa3d88fce1
Author: aditya <aditya.a@oracle.com>
Date:   Fri Mar 20 15:28:02 2015 +0530

    Bug #20478242    MEMCAHCED SET COMMAND ACCEPTS NEGATIVE VALUES FOR EXPIRE TIME
    
    PROBLEM
    
    Inside memcached server the expire time is stored as unsigned int,so when the
    user gives a negative value it is converted to a large number and is accepted.
    
    FIX
    
    Simple and easy fix is to restrict the maximum value of expire time to INT_MAX32
    since any negative value will be greater than this and we can reject it.
    
    Also removed useless assert in  innodb_flush_sync_conn() function

commit 97de35ee88b0e375c6fe71988304d3f610e26e7d
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Thu Mar 19 13:25:08 2015 +0100

    WL#7126: bug fix
    
    Field_counter went beyond boundaries. Fixed by removing the extra
    field_count increment.
    
    (cherry picked from commit 241ae778060b04f72fd020f03b9e4a977e53d07c)
    
    Conflicts:
    	mysql-test/t/disabled.def

commit 341462b383c3bf85ab08d01f9eaf7c6653ddaf43
Author: Catalin Besleaga <catalin.besleaga@oracle.com>
Date:   Wed Mar 18 10:38:19 2015 +0100

    WL#7126: Refactoring of protocol class
    
    - extract I/O calls into a Protocol interface and implementations
    - moved send_result_set_row to THD
    - renamed end_statement to send_statement_status and moved to THD
    - on THD renamed protocol to m_protocol and added getter/setter
    - removed com_data from THD
    - moved THD::client_capabilites to protocols and added
    has_client_capability, remove_client_capability, add_client_capabilit
    - changed method signature for dispatch_command
    - moved send_result_metadata to THD and renamed it to
    Protocol::send_result_set_metadata()  and split it into
    send_result_metadata(), start_result_metadata(), send_field_metadata()
    and end_result_metadata()
    - renamed:
    Protocol::prepare_for_resend() -> start_row()
    Protocol::write()              -> end_row()
    Protocol::remove_last_row()    -> abort_row()
    
    (cherry picked from commit bc37dabbd3cb746f23d9c8c5458bfd699f7c3e44)
    
    Conflicts:
    	sql/CMakeLists.txt
    	sql/protocol_classic.cc
    	sql/query_result.cc
    	sql/sql_parse.cc
    	sql/sql_parse.h
    	sql/sql_thd_api.cc

commit c8b0cbf7c4f710468f1335ac342e9bd5b8ef0670
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Wed Mar 18 15:24:57 2015 +0100

    BUG#20728488 SERIOUS REGRESSION IN 5.7.6-M16: IB_LOGFILE'S FAIL TO BE RE-CREATED WHEN DELETED
    
    mysql_install_db was not waiting for forked mysqld to finish bootstrap
    process causing premature shutdown and need for crash recovery.
    
    Resolves https://bugs.mysql.com/76344

commit 8e9a3354f539aa873b148444a457e45141b13688
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Fri Mar 20 05:58:41 2015 +0100

    Bug#20697533 Make main.explain_for_connection_rqg_trad experimental

commit d91b4e9f3f7abb2d180415be288ee68e181adc64
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Fri Mar 13 03:30:29 2015 +0100

    Making couple of unstable tests experimental
    
    (cherry picked from commit b469f44f0f7054ec741c7477be227654dc543973)

commit 42ddbc5eb2f040a150d1f82723f84e963c530964
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Mar 20 13:45:00 2015 +1100

    WL#7696 - Reset the contents of the page to NUL.
    
    Reset the contents of the page if it is a compressed page read in during
    a double write buffer recovery.

commit f6901129366e2f4fc2ef27bdb903f5ea04109932
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Mar 20 13:29:46 2015 +1100

    WL#7696 - Use the double write buffer pages for compressed pages.
    
    When recovering from the double write buffer, don't try and decompress the
    page in the data file. This is to avoid crashing the server, in the remote
    chance that the page contents are corrupt and cause the decompression to
    crash.

commit 6407ad67812d08bf09753375c816168b6c0ed504
Author: Allen.Lai <zheng.lai@oracle.com>
Date:   Fri Mar 20 09:38:32 2015 +0800

    Bug#19473391 HA_INNOBASE::INDEX_FLAGS() REPORTS BOGUS FLAGS FOR
    SPATIAL INDEXES
    
    As dicussed with Novald, we removed some index flags for spatial
    index. And we fixed random select result of test case
    innodb_gis.create_spatial_index in this patch also.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>

commit 02eab842fcd32b21d2b8417e0f63d429fa651f1f
Merge: 624bbf8 93d52cc
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Mar 20 09:34:38 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit 93d52ccdfd538a886028b0be44ac4259446faa8f
Merge: cf7f63b 57e1bcd
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Thu Mar 19 20:55:23 2015 +0400

    Merge branch 'mysql-5.6' into mysql-5.7

commit 57e1bcdef94746d5dc23037ab4f08b5f2d533373
Author: Ramil Kalimullin <ramil.kalimullin@oracle.com>
Date:   Thu Mar 19 20:54:27 2015 +0400

    Bug #19509373: NON-ERROR COM_QUIT EVENTS RECORDED INCORRECTLY
      - additional fix.

commit 8fe2389a29b2a05c5ff24da29c98a68802fccc31
Merge: 93b7fbe cf7f63b
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Mar 19 17:43:44 2015 +0100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7795

commit cf7f63b4737079b9916d5b33a963ed0bf4d76858
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Mar 19 17:28:58 2015 +0200

    Bug#19229231 INNODB.LOG_FILE_NAME FAILS SPORADICALLY ON PB2
    
    Post-fix: Tolerate different ordering of messages.
    Sometimes, t1.ibd is flagged before t3.ibd.
    
    Test passed with --repeat=20 --parallel=4.

commit aa382507057afc15d85bed492530850e8129927c
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Thu Mar 19 17:06:29 2015 +0200

    Bug#19229231 INNODB.LOG_FILE_NAME FAILS SPORADICALLY ON PB2
    
    Post-fix: Use a proper regular expression in the test.
    Tablespace ID 100 is not matched by [1-9]*.

commit c3f8de0140f40b3e9a96be57285bfd08e51a4cd7
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Thu Mar 19 11:29:53 2015 +0100

    BUG#20471216: 5.6 WITH GTID_MODE=X CANT CONNECT TO 5.7.6 WITH GTID_MODE=X_PERMISSIVE
    
    This is the 5.7 version of this patch. Tests needed to be rewritten
    and source code is a little bit different, so null-merged from 5.6 and
    created a new changeset (this one) for 5.7.
    
    Background:
    
    In 5.6, GTID_MODE can only take two values: ON and OFF. In 5.7,
    GTID_MODE can take four values: ON, ON_PERMISSIVE, OFF_PERMISSIVE, and
    OFF. A 5.7 master should be able to replicate to a 5.6 slave if master
    uses X_PERMISSIVE and slave uses X.
    
    Problem:
    
    Due to a sanity check on the slave where the slave explicitly checks
    the master's GTID_MODE, the slave refuses to start replication.
    
    The 5.6 server was actually prepared to handle the new modes
    introduced by 5.7, but in the end the names of the modes were changed:
    5.6 allows a master to have modes UPGRADE_STEP_1 and UPGRADE_STEP_2
    but not ON_PERMISSIVE or OFF_PERMISSIVE.
    
    Fix:
    
    - Allow slave to replicate if the master's GTID_MODE *begins* with ON
      or OFF. The slave in this case will ignore the remainder of the
      GTID_MODE string and treat master as being ON or OFF.
    
    - Report a warning if the master's GTID_MODE begins with ON or OFF but
      is not equal to ON or OFF.
    
    @sql/rpl_slave.cc
    - Allow master's GTID_MODE to be any string that begins with ON or
      OFF.
    - Report a warning if the master's GTID_MODE begins with ON or OFF but
      is not equal to ON or OFF.
    
    @mysql-test/include/assert_grep.inc
    - Improve debug info.
    
    @mysql-test/suite/rpl/t/rpl_gtid_mode.test
    - In 5.7, this is a more appropriate place for the test.  Also, the
      test is rewritten to avoid server restarts since restarts are not
      needed in 5.7. Also removed the .opt file for the test.

commit 295882bdb0d615b3eec8d7b22fac9bd935573526
Merge: 4b0ce5b 1e44141
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Thu Mar 19 14:23:58 2015 +0100

    Null-merge BUG#20471216 from branch 'mysql-5.6' into mysql-5.7

commit 1e4414187c4db1e49d3e4e726d6473afef969bcd
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Thu Feb 5 18:14:18 2015 +0100

    BUG#20471216: 5.6 WITH GTID_MODE=X CANT CONNECT TO 5.7.6 WITH GTID_MODE=X_PERMISSIVE
    
    Background:
    
    In 5.6, GTID_MODE can only take two values: ON and OFF. In 5.7,
    GTID_MODE can take four values: ON, ON_PERMISSIVE, OFF_PERMISSIVE, and
    OFF. A 5.7 master should be able to replicate to a 5.6 slave if master
    uses X_PERMISSIVE and slave uses X.
    
    Problem:
    
    Due to a sanity check on the slave where the slave explicitly checks
    the master's GTID_MODE, the slave refuses to start replication.
    
    The 5.6 server was actually prepared to handle the new modes
    introduced by 5.7, but in the end the names of the modes were changed:
    5.6 allows a master to have modes UPGRADE_STEP_1 and UPGRADE_STEP_2
    but not ON_PERMISSIVE or OFF_PERMISSIVE.
    
    Fix:
    
    - Allow slave to replicate if the master's GTID_MODE *begins* with ON
      or OFF. The slave in this case will ignore the remainder of the
      GTID_MODE string and treat master as being ON or OFF.
    
    - Report a warning if the master's GTID_MODE begins with ON or OFF but
      is not equal to ON or OFF.
    
    - Change server to use the names ON_PERMISSIVE and OFF_PERMISSIVE in
      some error messages.
    
    @sql/rpl_slave.cc
    - Allow master's GTID_MODE to be any string that begins with ON or
      OFF.
    - Report a warning if the master's GTID_MODE begins with ON or OFF but
      is not equal to ON or OFF.
    
    @mysql-test/include/assert_grep.inc
    - Backport this test utility from 5.7.
    
    @mysql-test/suite/rpl/t/rpl_gtid_mode.test
    - Add cases for OFF_PERMISSIVE and ON_PERMISSIVE.
    
    @mysql-test/suite/rpl/t/rpl_gtid_mode_off_new_master.test
    - New test running with gtid_mode=off.
    
    @mysql-test/suite/rpl/t/rpl_gtid_mode_on_new_master.test
    - New test running with gtid_mode=on.

commit 4b0ce5bd0ee9ba1bb0e3ac49f128d516be6fe0ca
Merge: 3fb7ce2 19668dd
Author: aditya <aditya.a@oracle.com>
Date:   Thu Mar 19 18:15:25 2015 +0530

    Bug#20391552 CRASH DURING MEMCACHE WORKLOAD
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit 19668ddd80943ee78ddf56b5eb84448594495e8f
Author: aditya <aditya.a@oracle.com>
Date:   Thu Mar 19 18:11:21 2015 +0530

    Bug#20391552 CRASH DURING MEMCACHE WORKLOAD
    
    PROBLEM
    
    Cursor transaction (crsr_trx) is initially used for a read operation (get) ,
    so the crsr_trx->read_only option is set as 1,and then the same transaction
    is used for write (set) operation without resetting the crsr_trx->read_only = 0
    ,so it crashes in the innodb layer. Usually the background thread commits
    the transaction and resets it,but in this case the connection got the
    connection lock first and reused the transaction which leads to crash.
    
    FIX
    
    Check the status of crsr_trx->read_only before using the transaction for
    write.If set commit the transaction before reusing.

commit 3fb7ce2229496cb353920599df3b2b9809ed8b61
Merge: 3e2e065 7348273
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Mar 19 12:56:16 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	mysql-test/suite/sys_vars/t/transaction_alloc_block_size_basic.test
    	mysql-test/suite/sys_vars/t/transaction_prealloc_size_basic.test

commit 7348273feb71f54a7e1be9541f17816d8c15e50b
Merge: d410186 68dccc2
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Mar 19 12:51:44 2015 +0100

    Merge branch 'mysql-5.5' into mysql-5.6

commit 68dccc24bf6075d73c2aea854c7c74dfa11c062d
Merge: 4043930 bfa092c
Author: Jon Olav Hauglid <jon.hauglid@oracle.com>
Date:   Thu Mar 19 12:06:55 2015 +0100

    Merge branch 'mysql-5.1' into mysql-5.5
    
    Conflicts:
    	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
    	sql/mysqld.cc

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
    
    Backport from mysql-5.5 to mysql-5.1 of:
    
    Bug19770858: MYSQLD CAN BE DRIVEN TO OOM WITH TWO SIMPLE SESSION VARS
    
    The problem was that the maximum value of the transaction_prealloc_size
    session system variable was ULONG_MAX which meant that it was possible
    to cause the server to allocate excessive amounts of memory.
    
    This patch fixes the problem by reducing the maxmimum value of
    transaction_prealloc_size and transaction_alloc_block_size down
    to 128K.
    
    Note that transactions will still be able to allocate more than
    128K if needed, this patch just reduces the amount that can be
    preallocated - as well as the maximum size of the incremental
    allocation blocks.
    
    (cherry picked from commit 540c9f7ebb428bbf9ec028feabe1f7f919fdefd9)
    
    Conflicts:
    	mysql-test/suite/sys_vars/r/transaction_alloc_block_size_basic.result
    	mysql-test/suite/sys_vars/r/transaction_alloc_block_size_basic_64.result
    	mysql-test/suite/sys_vars/t/disabled.def
    	mysql-test/suite/sys_vars/t/transaction_alloc_block_size_basic.test
    	sql/sys_vars.cc

commit 3e2e0651b149f03dd8cfa0488f8cd0c3f6cb6543
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Thu Mar 19 09:52:45 2015 +0100

    Post-push fix: BUG#20644208: CORRECT HELP TEXT FOR BINLOG_GTID_SIMPLE_RECOVERY
    
    Had forgot to include the different text in 5.7 source code, doing it
    now.

commit 44a61c36b086b042c50b92534f4ed9e363dfc88b
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Wed Mar 18 16:00:53 2015 +0200

    Fix Bug#20692511 INNODB_ZIP.INNOCHECKSUM_3 FAILS WITH COMPRESSION
    
    The problem comes from "WL#8159 Include Sys Schema in MySQL 5.7"
    (commit 498aa96e33d4a3e9b08d9f5f20288ff35a1a050f) which adds a new
    (system) table outside of the mysql/ directory in the sys/ directory.
    But innochecksum_3.test assumes that $ENV{MYSQLD_DATADIR}/mysql/*.ibd
    will match all InnoDB tables.
    
    Thanks to Leith, satya and marko for helping me nail this down.
    
    (cherry picked from commit a30df797e3cb32761e05cd6b4ccd6d81c59ec0b8)

commit 93b7fbe4036aafd8f6aaf34ed9fcb7bf80d25d79
Merge: 08e439a e74d858
Author: Marc Alff <marc.alff@oracle.com>
Date:   Thu Mar 19 09:24:17 2015 +0100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7795

commit e74d8581e22f0b669d49ff00ddf7e23c32bdfb78
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Mon Mar 16 18:15:03 2015 +0530

    Bug#20270687 - HANDLER READ PREV IN PARTITION CRASH
    
    Problem :
    ---------
    When m_queue gets empty (after all rows from all partitions are
    fetched), m_top_entry keeps pointing to the partition pointed by the
    last m_queue entry. During all further calls(next/prev), we attempt
    fetch row from SE by passing NULL buffer pointer. This is not correct
    and is the issue.
    
    The test case does fetch using handler with every fetch running in a new
    transaction and an updated row seems to be getting visible if in
    sequence. Once there is a matching row after all rows are fetched, the
    crash is inevitable as the input buffer passed is NULL.
    
    Solution :
    ----------
    Make m_top_entry point to "NO_CURRENT_PART_ID" as there is no more
    partition to fetch data from and m_queue is empty. This would imply
    HA_ERR_END_OF_FILE for all future calls(next/prev).
    
    Partition_helper::handle_ordered_next
    Partition_helper::handle_ordered_prev
    
    Also, we assert NULL buffer pointer before fetch.
    
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 8317

commit 624bbf8e14641737569adf0ab037256cd1115d3f
Merge: fd78f48 5161e34
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Mar 19 10:59:20 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit 5161e34e328ce00342ccd05b878a5a4bec430894
Merge: 459033b d410186
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Wed Mar 18 16:21:44 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit d4101860a835045e7b71fbaeec00b2054a8145d3
Author: Sven Sandberg <sven.sandberg@oracle.com>
Date:   Tue Mar 17 10:54:59 2015 +0100

    BUG#20644208: CORRECT HELP TEXT FOR BINLOG_GTID_SIMPLE_RECOVERY
    
    Correct the help text.

commit 459033bed105cfd1e85e3c0d449dcbf63a0e0bd0
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Mar 18 20:00:52 2015 +0800

    BUG#20668156 INNODB FTS PLUGIN ASSERTION: RET == 0 IN FTS_QUERY_READ_NODE
    
    '%' as first char is forbidden for LIKE in internal SQL parser,
    '%' as last char is reserved for wildcard search. so we just ignore
    a query token starting and ending with '%' with plugin parser.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 8347

commit 8ec5f4903b3a22d0f03752f14436730f9f4d6e36
Merge: 3abb586 1b601b9
Author: viswanatham <viswanatham.gudipati@oracle.com>
Date:   Wed Mar 18 15:51:21 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 1b601b99e154ecd1adc52768d18424279ac46b11
Author: viswanatham <viswanatham.gudipati@oracle.com>
Date:   Wed Mar 18 15:42:13 2015 +0530

    A new testcases Innodb stress are being added

commit 3abb586b3af7f7c3feecf97c1a7f8fc493f08acc
Merge: 484c856 1889263
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Wed Mar 18 11:45:51 2015 +0530

    Bug#20468712: FIELD_CHARSET->CSET->FILL IN FIELD_STRING::UNPACK CAUSE
    HEAP-BUFFER-OVERFLOW
    
    Merge branch 'mysql-5.6' into mysql-5.7

commit fd78f481a4b6684b4f677e99a2232c3ecfd8f80f
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Mar 18 17:10:58 2015 +1100

    WL#7696 - Fix syntax error on Windows.

commit 3ea8ec42e81ce137851266aa4adfea92942f141b
Merge: d2b35bc 1f9a0ae
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Mar 18 17:07:53 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit 1889263118174cd43ab1e253db80680111cfb8f8
Author: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
Date:   Wed Mar 18 11:36:58 2015 +0530

    Bug#20468712:FIELD_CHARSET->CSET->FILL IN
    FIELD_STRING::UNPACK CAUSE HEAP-BUFFER-OVERFLOW
    
    Problem:
    ========
    With binlog_row_image set to minimal and for certain
    combination of columns as shown in bug page, unpacking a row
    results in a crash.
    
    Analysis:
    ========
    In row based replication during the execution of an update
    statement the before image is considered as read set and the
    after image is considered as write set. These two sets are
    packed as before image and after image. During this packing
    the initial bytes of the packet are reserved for storing
    bitmaps of columns that are being packed. Number of bytes
    required to store the bitmap is calculated as shown below.
    
    null_byte_count= (bitmap_bits_set(cols) + 7) / 8;
    
    Before image's byte count is based on the read set columns
    and after image's byte count is based on the write set.
    After these reserved bytes actual field data is packed.
    While unpacking the data, the received row_images are
    pointed to the locations past these reserved bytes and
    actual field data is extracted.
    
    In the existing code while unpacking the data, for both the
    before image and after image the read set columns are being
    specified on slave. This causes the offsets to point to
    incorrect byte locations and this results in a crash.
    
    For example in the bug scenario while packing the data the
    null_byte_count of before image is 1 and null_byte_count of
    after image is 2. While unpacking the after image, since we
    are using before image's values the row_data pointer is
    incorrectly incremented by 1 pointer and the offset becomes
    incorrect.
    
    Fix:
    ===
    Similar to packing procedure during unpacking, the after
    image column bitmap is passed for unpacking the after image.

commit 484c8564568548d21454d38a8780b9465d001cb7
Merge: 1f9a0ae 69bcefa
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Wed Mar 18 06:53:19 2015 +0100

    Null-merge 5.6 into 5.7

commit 1f9a0ae3188d319852ee5b33cd1cc6b78ef20f83
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Mar 18 13:36:42 2015 +1100

    Bug#20647894 - CRASH OF SERVER DURING REPAIR TABLE1, TABLE2 QUICK
    
    Replace return with DBUG_RETURN.
    
    Approved by Jimmy Yang over IM.
    
    (cherry picked from commit c3be414ddb726b8ff06edaf400ab3d7bf680e304)

commit ba7803c6d3958dfa10b631a0d108d45db58ebccc
Author: Nisha <nisha.gopalakrishnan@oracle.com>
Date:   Wed Mar 18 09:32:26 2015 +0530

    BUG#20106553: ALTER TABLE WHICH CHANGES INDEX COMMENT IS
                  NOT LONGER INPLACE/FAST OPERATION.
    
    Analysis:
    
    ALTER TABLE operations involving only changes to the INDEX
    comment is no longer INPLACE for MyISAM tables and requires
    index rebuild for InnoDB.
    
    The patch for bug fix BUG#19779365 reflects the modified
    index comment using ALTER TABLE operation by index rebuild
    which cannot be performed using INPLACE algorithm. Hence
    ALTER TABLE operation involving changes only to the INDEX
    comment using INPLACE algorithm reports an error.
    
    Fix:
    
    Changing the index comment using ALTER TABLE operation
    is marked as a fast/INPLACE operation.

commit d2b35bcd848ea954291ca312f8ffe93b11b5c539
Merge: 2e5f380 d0ddd4c
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Mar 18 10:17:40 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696
    
    Conflicts:
    	storage/innobase/fil/fil0fil.cc

commit 2e5f380703da161ac24e8c2cc29ae17c90f6771e
Merge: d7dcfd8 62ea4d1
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Mar 18 10:11:36 2015 +1100

    Merge branch 'mysql-5.7-wl7696' of myrepo:mysql into mysql-5.7-wl7696

commit d7dcfd8864b0e8a73638981df94dff81a23fb761
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Mar 18 10:10:08 2015 +1100

    WL#7696 - Fix debug assertion.

commit 62ea4d13586b31ba6444d917ae900845e8521737
Author: Mikhail Izioumtchenko <michael.izioumtchenko@oracle.com>
Date:   Tue Mar 17 22:31:44 2015 +0100

    mysql-test/include/innodb-compress-utils.inc:
      add OSD support to get allocated file size for Windows

commit 959052702ad2f5a84497c185d75fd4a6c8a96b4d
Author: Mikhail Izioumtchenko <michael.izioumtchenko@oracle.com>
Date:   Tue Mar 17 21:41:05 2015 +0100

    add the result file missing in the previous commit

commit ddc63eddcb54ba472c46f0a6f3cb67902dd2e4e7
Author: Mikhail Izioumtchenko <michael.izioumtchenko@oracle.com>
Date:   Tue Mar 17 21:35:51 2015 +0100

    Test update:
      mysql-test/suite/innodb/t/table_compress.test:
        fix one failing case for 32k
      mysql-test/suite/innodb/r/table_compress_2.result: make use of new
        include files
      mysql-test/suite/innodb/t/table_compress_3.test: new test to cover
        what was not covered yet, shared tablespaces in particular
      mysql-test/include/innodb-compress-verify.inc: common sequence
        for compression verification
      mysql-test/include/innodb-compress-utils.inc: perl compression
        related utilities.
        Note: OSD Windows file allocated size is not implemented yet.
        The test is still expected to pass on Windows because the allocated
        size is forced to the expected value.

commit d0ddd4cd9f9f06db086ab5f3a74be152f72ee437
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Mar 17 16:50:19 2015 +0100

    Bug #20536590: BACKPORT BUG #12368204 AND BUG #16953758 TO MYSQL-5.6
    
    Post fix patch for merge to 5.7+

commit 8823190d8898a0d02ebeae1cb4906550f788660c
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Mar 17 16:18:36 2015 +0200

    Post-push fix for Bug#20691930 (innodb_zip.wl5522_debug_zip failure):
    
    Do not attempt to reset the page type when importing compressed tablespaces.
    The page type can be invalid only on uncompressed tablespaces, because
    at the time when compression support was introduced, InnoDB already
    initialized FIL_PAGE_TYPE on every page.

commit 0f2c9760d0a0c698c77185e0dacb372a6a4afaf7
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Mar 17 13:59:31 2015 +0100

    Bug #20536590: BACKPORT BUG #12368204 AND BUG #16953758 TO MYSQL-5.6
    
    Backported the fixes.
    Partially backported the fix for bug #19463877 too :
    the part about different audit events count for the different
    protocols.
    Changed the strategy of the original fix to account for the lack
    of the changes done in WL#6613 as follows:
    Instead of mixing the calls to the audit log API by calling them
    both outside of the general log hooks and inside some
    moved all audit log API calls inside the general log hooks but
    before any checks to the general log options. Made sure that the
    general log hooks are called regardless of the value of the
    general log option and moved all checking of it inside the
    hooks.
    Changed the binary log calles used by the prepared statement
    code to use the convenience hooks instead of directly calling the
    LOGGER functions. Ensured that prepared statements pass down the
    query text.
    Getting it from the THD is not correct for prepared statements.
    ** Added an extra test file that tests firewall with general log off.

commit fc1f91f396bc73fcea72f17d6c22c174ba057e9b
Author: Marko Mäkelä <marko.makela@oracle.com>
Date:   Tue Mar 17 13:53:08 2015 +0200

    Bug#20691930 5.7.6 CRASH WHEN RUNNING MYSQL_UPGRADE AFTER BINARY UPGRADE
    This is a regression from
    Bug#17345513 CHECKING FIL_PAGE_TYPE BREAKS COMPATIBILITY WITH
    OLD INNODB DATA FILES
    
    This affected a production environment where the data files were
    originally created with MySQL 5.0 or earlier. Originally, InnoDB only
    initialized FIL_PAGE_TYPE on two types of pages:
    
    #define FIL_PAGE_INDEX		17855	/*!< B-tree node */
    #define FIL_PAGE_UNDO_LOG	2	/*!< Undo log page */
    
    When files were allocated in the file system, the field was
    initialized to 0. When a page was initialized in the buffer pool, the
    field would be left uninitialized, reusing whatever value happened to
    be at that address (typically one of the 3 values).
    
    In the originally reported incident, page 32768 in the system
    tablespace is an allocation bitmap page, but the uninitialized
    FIL_PAGE_TYPE field on it happened to be FIL_PAGE_INDEX, which caused
    the flush-time check to fail.
    
    Our fix comprises the following parts:
    
    1. Reset wrong page type on allocation bitmap pages and change buffer bitmap
    pages based on the page number, without checking the page contents and
    without writing redo log.
    
    #define FIL_PAGE_IBUF_BITMAP	5	/*!< Insert buffer bitmap */
    #define FIL_PAGE_TYPE_FSP_HDR	8	/*!< File space header */
    #define FIL_PAGE_TYPE_XDES	9	/*!< Extent descriptor page */
    
    2. On database startup, reset the page types on the following pages
    in the system tablespace, writing redo log:
    
    #define FSP_IBUF_HEADER_PAGE_NO	3	// init to 6=FIL_PAGE_TYPE_SYS
    #define FSP_TRX_SYS_PAGE_NO	5	// init to 7=FIL_PAGE_TYPE_TRX_SYS
    #define FSP_FIRST_RSEG_PAGE_NO	6	// init to 6=FIL_PAGE_TYPE_SYS
    #define FSP_DICT_HDR_PAGE_NO	7	// init to 6=FIL_PAGE_TYPE_SYS
    
    3. Whenever we modify other types of pages, we reset the FIL_PAGE_TYPE
    within the same mini-transaction, to one of the following values:
    
    #define FIL_PAGE_INODE		3	/*!< Index node */
    #define FIL_PAGE_TYPE_SYS	6	/*!< System page */
    #define FIL_PAGE_TYPE_FSP_HDR	8	/*!< File space header */
    #define FIL_PAGE_TYPE_XDES	9	/*!< Extent descriptor page */
    
    Note: Some page types are initialized immediately after page
    allocation, and the pages are not modified further without changing
    the page type first.  Nothing needs to be done for these page types,
    if the requirement is to have valid page type when we are writing back
    pages from the buffer pool to files.
    
    #define FIL_PAGE_IBUF_FREE_LIST	4	/*!< Insert buffer free list */
    #define FIL_PAGE_TYPE_BLOB	10	/*!< Uncompressed BLOB page */
    #define FIL_PAGE_TYPE_ZBLOB	11	/*!< First compressed BLOB page */
    #define FIL_PAGE_TYPE_ZBLOB2	12	/*!< Subsequent compressed BLOB page */
    
    Because MySQL does not officially support upgrade following by a
    server crash, there should be no legitimate usage scenario where such
    pages with an incorrect page type would be written out as a result of
    applying redo log during crash recovery.
    
    BLOB pages created before MySQL 5.1 could carry any page type
    (including FIL_PAGE_INDEX), but this should not be an issue, because
    existing BLOB pages are never updated in place. The BLOB columns are
    always updated by copy-on-write, with a valid FIL_PAGE_TYPE.
    
    Note: InnoDB never modifies BLOB pages in place. If BLOB data is modified,
    entirely new pages will be initialized and rewritten. Thus, no logic
    is implemented to update FIL_PAGE_TYPE on BLOB pages. This means that
    even after this fix, subsequent versions of MySQL must be prepared
    to read BLOB pages that contain anything in FIL_PAGE_TYPE.
    
    RB: 8314
    Reviewed-by: Kevin Lewis <kevin.lewis@oracle.com>
    Reviewed-by: Vasil Dimov <vasil.dimov@oracle.com>
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>

commit 0cbe553a578898a7a5dd0d996d7645ca0d1e021f
Author: Dyre Tjeldvoll <Dyre.Tjeldvoll@oracle.com>
Date:   Thu Mar 12 09:05:36 2015 +0100

    BUG#20562022: ED_CONNECTION::EXECUTE_DIRECT() USES UNINITIALIZED VALUES
    
    Problem: Valgrind issues a warning about the variable
    LEX::keep_diagnostics being read without prior initialization. Root cause
    is that the LEX constructor does not initialize it and in certain
    circumstances (NDB) it is read before normal initialization takes
    place.
    
    Solution: Introduce a new enum value DA_KEEP_UNSPECIFIED, and use this
    to initialize the member variable in the constructor. This ensures
    that it is always safe to read the member variable, but retains the
    semantics of the existing initialization mechanism.

commit 69bcefaf70bdc959b563f715d7620de266c9e2c0
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Mar 17 11:02:19 2015 +0100

    Bug #20536590: BACKPORT BUG #12368204 AND BUG #16953758 TO MYSQL-5.6
    
    Backported the fixes.
    Partially backported the fix for bug #19463877 too :
    the part about different audit events count for the different
    protocols.
    Changed the strategy of the original fix to account for the lack
    of the changes done in WL#6613 as follows:
    Instead of mixing the calls to the audit log API by calling them
    both outside of the general log hooks and inside some
    moved all audit log API calls inside the general log hooks but
    before any checks to the general log options. Made sure that the
    general log hooks are called regardless of the value of the
    general log option and moved all checking of it inside the
    hooks.
    Changed the binary log calles used by the prepared statement
    code to use the convenience hooks instead of directly calling the
    LOGGER functions. Ensured that prepared statements pass down the
    query text.
    Getting it from the THD is not correct for prepared statements.
    ** Added an extra test file that tests firewall with general log off.

commit b576505057b5227ec8868a373589a032a1be64a5
Merge: fdde2bc e4d5b88
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Mar 17 11:10:17 2015 +0100

    Merge branch 'mysql-5.7' of myrepo.no.oracle.com:mysql into mysql-5.7

commit fdde2bc338dfc4b8501a1b28e82d4fff2669c76f
Merge: 59eb1c8 b5b7cd6
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Mar 17 11:09:43 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit b5b7cd64c70f9cc743a2ff311f8ddbbdf23d475b
Author: Kristofer Pettersson <kristofer.pettersson@oracle.com>
Date:   Tue Mar 17 11:02:19 2015 +0100

    Bug #20536590: BACKPORT BUG #12368204 AND BUG #16953758 TO MYSQL-5.6
    
    Backported the fixes.
    Partially backported the fix for bug #19463877 too :
    the part about different audit events count for the different
    protocols.
    Changed the strategy of the original fix to account for the lack
    of the changes done in WL#6613 as follows:
    Instead of mixing the calls to the audit log API by calling them
    both outside of the general log hooks and inside some
    moved all audit log API calls inside the general log hooks but
    before any checks to the general log options. Made sure that the
    general log hooks are called regardless of the value of the
    general log option and moved all checking of it inside the
    hooks.
    Changed the binary log calles used by the prepared statement
    code to use the convenience hooks instead of directly calling the
    LOGGER functions. Ensured that prepared statements pass down the
    query text.
    Getting it from the THD is not correct for prepared statements.
    ** Added an extra test file that tests firewall with general log off.

commit e4d5b88e928b8f7b6d1bab5f0a725aeb8d4005f8
Merge: 59eb1c8 8d739e4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Mar 17 10:56:30 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7
    
    Conflicts:
    	BUILD/README

commit 59eb1c81b24b3eec78cc70a0a4ffbe1608e3b3f7
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Mar 13 16:15:30 2015 +0100

    Fix comments about recommended way to build.

commit 94170110e880363c2533445bf73329d416a1f3f4
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Mar 13 16:12:32 2015 +0100

    Fix comments about recommended way to build.

commit 8d739e4e9aa04ffbd5c0f1c050deb399a87dc855
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Mar 13 16:12:32 2015 +0100

    Fix comments about recommended way to build.

commit a8728033c0b4ff204d8d692e6f265d79e678602b
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Tue Mar 17 15:14:23 2015 +0800

    Followup: bug#20651493 INNODB FTS WITH MECAB PARSER PRINTS EMPTY ERROR MESSAGE
    
    Fix mecab test failuers on pb2.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> on IM

commit 7596e30d033a99ea8b7a8bfb16b7a5eb290952e4
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Tue Mar 17 15:33:01 2015 +1100

    WL#7696 - Code clean up. Ignore table COMPRESSION setting if set to NONE.

commit 54986ddcca0897307a517ed6bf14aea6c386ce7f
Merge: c14096d f82d85e
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Tue Mar 17 12:04:47 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit c14096d968d39c1beb8692bbc49e3d95a1a4c4f3
Merge: 4c5cfcf 45d919c
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Tue Mar 17 12:03:38 2015 +1100

    Merge branch 'mysql-5.7-wl7696' of myrepo:mysql into mysql-5.7-wl7696

commit 4c5cfcf475de86539fc98c9d396d6aa97d0e7aa1
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Tue Mar 17 12:02:57 2015 +1100

    WL#7696 - Minor code cleanup

commit 23b3bcabc446d57cae61622811dbc0d1fe61d82c
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Tue Mar 17 11:55:14 2015 +1100

    WL#7696 - Fix the punch hole size calculation.

commit f82d85ee9d70eb925542303486a2608af28d571c
Merge: 88c8f17 96cc21d
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Tue Mar 17 01:09:07 2015 +0100

    Merge branch 'mysql-5.6' into mysql-5.7

commit 96cc21df0015aed3415296c04555888dcf0898be
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Tue Mar 17 01:07:03 2015 +0100

    Remove redundancy in release test suite. funcs_1 is a default suite and run with ps-protocol is covered by "--comment=ps" run

commit 88c8f17cb1dff356e4d2eb3f0f409ce649eb2fe3
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Tue Mar 17 00:14:28 2015 +0100

    Bug#19822257 WRONG VALUE PASSED TO --INIT-FILE OPTION CAUSES SERVER HANG
    
    Problem: After initialization of the signal handlers on Linux, signal handler processing
             thread waits for activation, which never occurs during invalid initialization
             of the server. Server thread waits infinitely for the signal handler processing
             thread to finish.
    Fix    : Activate signal handler processing just before the server aborts.
    
    Reviewed-by: Georgi Joro Kodinov <georgi.kodinov@oracle.com>
    Reviewed-by: Jon Olav Hauglid <jon.hauglid@oracle.com>

commit bc26918663de750fd547473a76a87aeb01955af2
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Mon Mar 16 23:28:18 2015 +0100

    WL#8326 Make NO_AUTO_CREATE_USER sql_mode behavior the default in 5.7
    
    Post-fix: innodb.innodb and innodb_zip.wl6469 tests fixed.

commit 0142243a51baa827bf8d815d15a829aad3b06fd4
Merge: 00bb86d c371329
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 16 16:35:59 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit c37132953b7d50fb790cba6905a1fabf2292becc
Merge: 45dd4bc 7cabd50
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 16 16:34:58 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 5a26b9e790a5f4f00011116b714e670d207dfd6d
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Mon Mar 16 16:29:18 2015 +0100

    WL#8326: Make NO_AUTO_CREATE_USER sql_mode behavior the default in 5.7
    
    * ER_WARN_DEPRECATED_SQLMODE_UNSET error entry removed.
    * ER_WARN_DEPRECATED_SQLMODE_UNSET and ER_WARN_DEPRECATED_SQLMODE unified.
      The message is more generic now.
    * Warning message at startup changed.

commit 7cabd5092c97d52f771b9e268bc65aef726f6a3a
Merge: 22ea924 67fbd5d
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 16 15:34:57 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit 67fbd5dd0cbb53778ecfd3b7f856eef734ffc26a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 16 15:29:40 2015 +0100

    Bug#20712432 AUTOTEST: TESTFK FAIL IN CLEARTABLE WITH 256 REFERENCED ROW EXISTS
    
    Make error logging in UtilTransactions::clearTable to report more
    accurate failure line for easier debugging.

commit 00bb86d65d640a09e2bd67ab7e0b97e54f2fb092
Merge: 1a11a52 45dd4bc
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 16 15:25:48 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 45dd4bc163225d236635265125f949a1f04c9361
Merge: f8eb8ab 22ea924
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 16 15:24:02 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 22ea9246f2cbe5f49cb9ebc259c6f7233bf14754
Merge: 08e052d be0cff6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 16 15:18:08 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2
    
    Conflicts:
    	storage/ndb/src/common/util/NdbOut.cpp
    	storage/ndb/test/ndbapi/testNdbApi.cpp

commit be0cff68ee2a0bfb1886192e901d0ce9af1478d4
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 16 14:51:11 2015 +0100

    Bug#18408653 AUTOTEST FAIL: TESTNDBAPI -N FRAGMENTEDAPIFAILURE T1
    
    Test FragmentedApiFailure have several threads using the same
    cluster connection scan requests that should fail.
    
    Another thread tells cluster to disconnect the connection to the
    scan threads, which eventually should end with some command fail
    due to the lost connectio nto cluster.
    
    Checks for disconnect error are added for two commands in scan
    thread function runFragmentedScanOtherApi.
    
    getNdbScanOperation tries to start separate transaction for scan
    operations and can fail in the same way as preceding startTransaction.
    
    Call to execute can abort transaction due to disconnect.

commit e0bdc81a967cc5fd5fd5609ee9acd33a35349d3a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 16 15:05:42 2015 +0100

    Bug#18408653 AUTOTEST FAIL: TESTNDBAPI -N FRAGMENTEDAPIFAILURE T1
    
    Use thread friendly logging, avoid mixing lines outputed from
    different threads.
    
    Also make informative logging visible if testNdbApi is runned in
    verbose mode.

commit 1178b778c71e28f57e571f8566db5da7dc6235fc
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Mar 16 15:03:53 2015 +0100

    Bug#18408653 AUTOTEST FAIL: TESTNDBAPI -N FRAGMENTEDAPIFAILURE T1
    
    Make ndbout_c and println not write in each others output lines.
    
    ndbout_c wrote message and new-line in two writes, which often
    result in mixed up lines when several threads calls ndbout_c
    concurrently.
    
    Patch changes this so new-line is written in same write as message.

commit 3c31a918f567b5eb58891724917c8414dc71ebe9
Author: magnus.blaudd@oracle.com <>
Date:   Mon Nov 11 16:31:59 2013 +0100

    Bug#17775772 POTENTIALLY UNINITIALIZED BUFFER IN NDBOUT::PRINT* PRINTOUT
      - print nothing or just empty newline instead of uninitialized buffer
      - catch error with an assert in debug compile

commit 3ef952fe6af29c36f565ca6fff81471a31d036e6
Author: magnus.blaudd@oracle.com <>
Date:   Mon Nov 11 16:17:56 2013 +0100

    Bug#17775607 POTENTIALLY UNINITIALIZED BUFFER IN VNDBOUT_C PRINTOUT
     - print empty newline instead of uninitialized buffer
     - catch error with an assert in debug compile
     - Mark vndbout_c as static and thus local to implementation
    Conflicts in copyright:
    	storage/ndb/include/util/NdbOut.hpp
    	storage/ndb/src/common/util/NdbOut.cpp

commit 1a11a52561d9f48cccf032667469ddd6848e3926
Merge: 9112bc2 f8eb8ab
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Mar 16 15:37:02 2015 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 0f2bf6670a5b3fc32f08fbdec255562a3b31c341
Author: Marek Szymczak <marek.szymczak@oracle.com>
Date:   Mon Mar 16 10:57:52 2015 +0100

    Bug # 20645725 GRAVE ACCENT CHARACTER (`) IS NOT FOLLOWED WITH BACKSLASH WHEN ESCAPING IT
    
    Newly added mysql_real_escape_string_quote function escapes the string depending on
    NO_BACKSLASH_ESCAPES flag of the sql_mode variable. This is invalid for grave accents,
    which should be always doubled.
    
    The implementation of the mysql_real_escape_string_quote should always double grave accents
    and leave other characters unchanged.
    
    Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By: Gleb Shchepa <gleb.shchepa@oracle.com>

commit 069844b3b3dc4bde8c7a40b9ff4db0bfb322d552
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Mar 16 09:56:17 2015 +0100

    Remove unused parameter ndbcluster_drop_event()
    
    - the "type_str" parameter was unsued

commit 5ce6d2fa5bb8f356bbc7e79e2baf0daba8df0b7c
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Mar 11 16:37:10 2015 +0100

    Bug#20032381 KILLED_STATE SAVE IN NDBCLUSTER_BINLOG RETRY AT SHUTDOWN DOESN'T NEED TO BE VOLA
    
     - remove volatile specifier from local stack variables
     - add const specifier to local stack variable which is never
       modified
     - rename said variable from "killed" to "save_killed"

commit 352c72dae72872c43aba6041cb03c0f0546662b2
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Mar 11 16:31:25 2015 +0100

    Bug#20014045 MONOTONIC SPELT INCORRECTLY IN NDB CODE
    
     - Fix spelling of isMontonic variable

commit f8eb8ab918967383db05d5beed10990885c20e3f
Merge: e1fa5dd 08e052d
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Mar 16 14:40:02 2015 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 08e052db6d90ab2f0f014788b0f23477b6ab8e13
Merge: 12b3d52 7531137
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Mar 16 14:39:01 2015 +0530

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit 27dbc484ac352a5b80a5c7131314041342b91087
Author: viswanatham <viswanatham.gudipati@oracle.com>
Date:   Mon Mar 16 14:32:53 2015 +0530

    adding stress testcases for innodb

commit 75311377a707b083a6a1fee713c69f1b7dc946f1
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Mar 16 12:29:14 2015 +0530

    Bug#20092754:  MYSQLD CRASH (FOUND UNCOMITTED AUTOCOMMIT+RBWR
    TRANSACTION, COMMIT STATUS 3)
    
    A bulk delete operation is committed early to avoid an
    additional round-trip while returning the number of affected
    rows. This early commit fails due to a time-out error. If an
    early commit is done, this is handled at transaction commit
    time by verifying that the transaction is in the Committed
    state. This commit check only covers the case of a successful
    commit, and causes a mysqld core in the cases where the early
    commit failed.
    
    Modified the commit check to handle early-commits based on
    transaction state:
    
    1) Committed: expected status, commit succeeded
    2) Aborted: commit failed on NotStarted transaction,
                no rollback needed
    3) NeedAbort: commit failed on Started transaction,
                rollback needed
    4) Started/NotStarted: commit not attempted,
                not a valid case
    
    Added some error-handling so that the 4012 error is detected
    during transaction execution. Also fixed the row count for
    early-commit failures.

commit 24bad667a5fa727d6bccf80e83f9a86071797601
Author: David.Zhao <david.zhao@oracle.com>
Date:   Fri Mar 13 15:40:51 2015 +0800

    WL#7929 GIS: Implement ST_Buffer and ST_Distance with Boost.Geometry
    
    Post-fix: make expected test results consistent on all platforms for
    some GIS buffer test cases.

commit 983ee2c1eea0baef00c587f139ff0c6c4950b720
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Mon Mar 16 10:37:43 2015 +0800

    Bug#20651493 INNODB FTS WITH MECAB PARSER PRINTS EMPTY ERROR MESSAG
    
    Use the proper mecab function to show error message.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com>
    RB: 8315

commit 1c214db744731caf564f0b27ac76f865e9f1cd94
Merge: de50594 4f39cfb
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Mon Mar 16 13:05:31 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit 4f39cfb13b465bb1bfcadf88c4740e26ce3c45fa
Author: Haixiang Li <haixiang.li@oracle.com>
Date:   Sat Mar 14 06:44:57 2015 +0100

    Bug#20239912 QUERY RESULTS ARE DIFFERENT WHEN OPENING OR CLOSING
                 SEMIJOIN OPTIMIZER_SWITCH
    
    Description:
    ------------
     - The query contains a NOT IN subquery with a nullable left expression.
     - This subquery contains a semi-join operation, for which materialize-scan
       strategy is chosen. Every evaluation of the not-in subquery triggers
       a new materialization.
    
     - The materialized table of the materialize-scan nest has this condition:
       - <if>(outer_field_is_not_null,
              (<cache>(test.r1.col_int_key) = <subquery3>.pk),
              true)
         which is translated to an eq_ref access for the nest's first table iir2,
         column iir2.pk, with equality to test.r1.col_int_key;
       - Note that this eq_ref is guarded with a triggered condition.
    
     - If the left-hand expression of the NOT IN (i.e. r1.col_int_key) is NULL,
       "Full scan on NULL key" is needed to switch eq_ref to scan; however the
       code handling this didn't consider semi-join tables.
    
    Fix:
    ----
    Let MySQL executor to extend "Full scan on NULL key" to support semi-join
    tables.
    
    Test case added.

commit 45d919c81fb20493be0a0a54802666683d6590a6
Author: Mikhail Izioumtchenko <michael.izioumtchenko@oracle.com>
Date:   Fri Mar 13 20:13:38 2015 +0100

    mysql-test/suite/innodb/t/table_compress_2.test:
    
      remove references to WL name;
      assume lz4 support is available
      support innodb_compress_debug=lz4

commit 6fee2b90cc0adadf4a38dc25efb25da387913cc6
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Wed Mar 11 19:10:30 2015 +0400

    Bug #20294206: INCORRECT CODE(OR INDENTING)
    
    Incorrect copy&paste of the code (missed curly braces) lead to NULL
    pointer dereference on OOM error.
    
    The patch fixes the problem and cleanups the code for the
    consistency: set Item_func::arg_count to 0 on OOM error in all
    Item_func constructors.

commit 6cf541b88ba245ffe3646e3bf5a176020b7fa703
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Fri Mar 13 17:51:27 2015 +0100

    Bug#17668844: CRASH/ASSERT AT ITEM_TYPE_HOLDER::VAL_STR IN ITEM.C
    
    We have a predicate of the form:
    literal_row <=> (a UNION)
    
    The subquery is constant, so Item_cache objects are used for its
    SELECT list.
    In order, this happens:
    - Item_subselect::fix_fields() calls select_lex_unit::prepare,
    where we create Item_type_holder's
    (appended to unit->types list), create the tmp table (using type info
    found in unit->types), and call fill_item_list() to put the
    Item_field's of this table into unit->item_list.
    - Item_subselect::fix_length_and_dec() calls set_row() which
    makes Item_cache's of the subquery wrap the Item_type_holder's
    - When/if a first result row is found for the subquery,
    Item_cache's are re-pointed to unit->item_list
    (i.e. Item_field objects which reference the UNION's tmp table
    columns) (see call to Item_singlerow_subselect::store()).
    - In our subquery, no result row is found, so the Item_cache's
    still wrap Item_type_holder's; evaluating '<=>' reads the
    value of those, but Item_type_holder objects are not expected to be
    evaluated.
    
    Fix: instead of putting unit->types into Item_cache, and later
    replacing with unit->item_list, put unit->item_list in Item_cache from
    the start.
    There was also a bug in Item_cache_datetime::val_str():
    if cache_value() says "I cached" (returns true), it might
    have cached a NULL value, in which case we must return
    a NULL pointer, instead of &str_value; note that this is
    like in other places of this function where if null_value is true
    we already return NULL.
    Without this, we had a wrong predicate value when types of the UNION
    are DATE and TIME, and UNION's result is empty and left argument is NULL.

commit 4b6bef0c0beb79419692733e43037b5ed91a1d42
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Mar 13 17:35:03 2015 +0100

    Revert the following commit:
    
    commit 7f9326d72196ac6558afc9646718d0693d491104
    Author: Marc Alff <marc.alff@oracle.com>
    Date:   Wed Mar 11 14:12:03 2015 +0100
    
        Bug#20684424 SHOW_COMPATIBILITY_56 SHOULD SHOULD BE OFF BY DEFAULT
    
        Before this fix, the default value for SHOW_COMPATIBILITY_56 was ON.
    
        With this fix, the default value is OFF, as originally intended
        when implementing this new feature.
    
    --
    
    This commit breaks Connector/J, which still uses SHOW VARIABLES WHERE ...

commit 9112bc293de7c7eec53a06f8331a59712462ff59
Merge: 81f8574 e1fa5dd
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 13 16:52:54 2015 +0100

    BUG18949230: manual merge

commit e1fa5dd33568a426d7c6a335c05f88e72ab6915a
Merge: c71af93 12b3d52
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 13 16:44:06 2015 +0100

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit 12b3d52d26d2c7f2f93457833572ea78506c845b
Merge: f9ea27c 6d1b3e9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 13 16:42:46 2015 +0100

    Merge ../mysql-5.1-telco-7.1 into mysql-5.5-cluster-7.2

commit 3011c55e5e19f0dd4a44222366b243e0a3c3da83
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Fri Mar 13 13:16:26 2015 +0100

    Bug#20691920 SOMETHING IN TEST OPT_HINTS CAUSES ALL MEMORY TO BE CONSUMED AFTER FIX 20685187
    
    Regression introduced by:
    Bug#20685187 USE -STD=C99 WHEN BUILDING WITH GCC ON SOLARIS
    
    Fix: ensure that support for timers is compiled in for Solaris.
    Move opt_hint timeout tests to separate file
    in case we have platforms that do not support timers.
    
    Rollback the use of -std=c99
    Add extra cmake check that isinf is visible in C and C++

commit 81f8574ac5505f835ff820bc22c1f8d0df3bb793
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Mar 13 15:03:00 2015 +0100

    Raise version number after cloning 7.4.5

commit 05d0496cc3a6b091a449f80eaf0b645182e29351
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Mar 13 13:49:17 2015 +0100

    Remove old style spec references

commit 2cb2080282be6ef20b7a41267e612447b399b633
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Mar 13 17:47:06 2015 +0530

    Bug#20553132 USER WITH EXPIRED PASSWORD ABLE TO EXECUTE ALTER USER .. PASSWORD EXPIRE COMMAND
    
    Problem: A user with expired password was allowed to alter user properties through
    ALTER USER command.
    
    Solution: If user's password is expired and she is trying to execute ALTER USER to change
    her own/other's properties, make sure that her own password is being changed as well. Otherwise,
        throw error even if user has required privileges.
    
    Reviewed-By: Bharthy Satish <bharthy.x.satish@oracle.com>
    Reviewed-By: Georgi Kodinov <georgi.kodinov@oracle.com>
    Reviewed-By: Marek Szymczak <marek.szymxzak@oracle.com>

commit 8ed09c737cefe1f9a465df912221d2253e833827
Author: Vinay Fisrekar <vinay.fisrekar@oracle.com>
Date:   Fri Mar 13 17:05:59 2015 +0530

    Correct MTR command for 64k run. Adiing missing "k".

commit 7ad2ba37a40d96bcfd129ffabaea4de95b6340f5
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Mar 13 12:23:50 2015 +0100

    Removed support-files directory from CMakeLists.txt

commit 149f26840faaec74e50b241600d0c3eb8fcdad36
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Mar 13 12:01:24 2015 +0100

    Removed old sytle rpm spec file mysql.spec.sh

commit 8a141665b340f2d712447e3cd3c557718a92beaa
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Mar 12 11:25:58 2015 +0100

    WL#7696 Add support for 'bundled' or 'system' lz4 library
    
    Add support for lz4 in innochecksum as well

commit 08e439a9c174afcf1335acd2a235833bc77ec890
Author: Marc Alff <marc.alff@oracle.com>
Date:   Fri Mar 13 09:52:22 2015 +0100

    WL#7795 PERFORMANCE SCHEMA, HISTORY PER THREAD
    
    Feature implementation

commit 01ae236aae7624a026206e3e468adc199ff97fc2
Author: viswanatham <viswanatham.gudipati@oracle.com>
Date:   Fri Mar 13 14:02:36 2015 +0530

    Modifying the default value to crc32 due to wl8315

commit d4c453fddc35c3fd10f5a51ff1920dee7f2e0c63
Merge: 9bdd0c3 1eb1685
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Mar 13 13:14:21 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 1eb16850557e068a8658baf4a2ced5494b54c617
Merge: 5ab9cf4 4043930
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Mar 13 13:14:09 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 4043930170f760249faa3b0656d5c509a65a32ee
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Mar 13 13:13:48 2015 +0530

    Bug #20439913 CREATE TABLE DB.TABLE LIKE TMPTABLE IS
    BINLOGGED INCORRECTLY - BREAKS A SLAVE
    
    Submitted a incomplete patch with my previous push,
    re submitting the extra changes the required to make
    the patch complete.

commit 9bdd0c30ef715771c6b30753e7280cf7b030f359
Merge: ade9b84 5ab9cf4
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Mar 13 12:33:25 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 5ab9cf420b0bae9b6f60f22e5b1d043c861cb3c4
Merge: 44abaf5 be296e1
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Mar 13 12:33:11 2015 +0530

    git checkout mysql-5.7
    git merge mysql-5.6
    git checkout mysql-trunk
    git merge mysql-5.7
    git push git@myrepo.no.oracle.com:mysql mysql-trunk mysql-5.7 mysql-5.6 mysql-5.5Merge branch 'mysql-5.5' into mysql-5.6

commit be296e1a31fe1714d0a651801ed18653a30d974d
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Fri Mar 13 12:32:44 2015 +0530

    Bug #20439913 CREATE TABLE DB.TABLE LIKE TMPTABLE IS BINLOGGED INCORRECTLY - BREAKS A SLAVE
    Analysis:
    In row based replication, Master does not send temp table information
    to Slave. If there are any DDLs that involves in regular table that needs
    to be sent to Slave and a temp tables (which will not be available at Slave),
    the Master rewrites the query replacing temp table with it's defintion.
    Eg: create table regular_table like temptable.
    In rewrite logic, server is ignoring the database of regular table
    which can cause problems mentioned in this bug.
    
    Fix: dont ignore database information (if available) while
    rewriting the query

commit ade9b84a1f23c4580f2823a1eead9d26930deb34
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Thu Mar 12 09:26:19 2015 +0530

    BUG#20597821 [Part -2] INNODB: INCORRECT DUPLICATE KEY ERROR FOR AUTOINC COLUMN
    
    Problem :
    ---------
    The assumption that autoinc value can be always set from cfg file was not
    correct. The case when cfg file is missing also needs to be handled.
    
    If .cfg files are missing during import, autoinc value is not
    getting set properly. This caused [innodb_bug14589582.test] to fail in
    i_innodb internal suite.
    
    Solution :
    ----------
    1. If .cfg file is missing then reset auto_inc value in dict_table_t to
    0. This enables initialization of the value appropriately at later stage
    for both partitioned and non-partitioned table.
    
    2A. For partitioned table the initialization happens at
       ha_innopart::info_low->ha_innopart::initialize_auto_increment
    
    2B. For non-partitioned table add check to initialize
    (innobase_initialize_autoinc) autoinc in ha_innobase::info_low.
    
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 8050

commit a64f6f0aa409da8bcfd96fbf1606a78fcf982ad2
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Fri Mar 13 04:22:50 2015 +0100

    Tetss that use innodb_compress_debug should run against debug server

commit eac79ab640301f4ccece8f9cc0c2aa0864242122
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Fri Mar 13 00:48:06 2015 +0100

    Added runs with differnt combination and page size setting for Innodb suites

commit 00b5269c2b083d97cfad2488f7f9fab9196d8889
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Thu Mar 12 21:41:38 2015 +0100

    Bug#20584754: CAN'T FIND RECORD IN 'TABLE100_KEY_PK_PARTS_2_DATETIME_3'
    
    Problem with innodb prefetch and partitions.
    A cached row was returned from a different partition
    since the prefetch cache is not partitioning aware.
    
    Fixed by disable adding rows to the prefetch cache
    for sorted index reads.

commit 4e02c72083acacffaaa865e0b84737b5271a639d
Author: Mattias Jonsson <mattias.jonsson@oracle.com>
Date:   Thu Mar 12 17:27:34 2015 +0100

    Bug#20533779: A TEST FOR DISTICT CLAUSE UNSTABLE ON PB2 DUE TO VARIATION IN EXPLAIN OUTPUT
    Problem was an update caused the explain to be affected by background pruning.

commit feb9dc6de26208dec253a8e4412868c32d04a7cd
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Thu Mar 12 12:05:50 2015 -0500

    Bug #20693114 	INNODB_ZIP.16K FAILS WITH UNDO TABLESPACES = 2
    
    Change the testcase so that the space_id is not displayed, since it is not
    the same when there are extra undo tablespaces.

commit adeb0e39d07c091946e892a222b22f0821f82a2b
Author: Norvald H. Ryeng <norvald.ryeng@oracle.com>
Date:   Thu Mar 12 13:12:17 2015 +0100

    Bug#20363531 MY_GCVT PRODUCES OVERLONG DOUBLE VALUE TEXT STRING
    
    Problem: WKT export functions produce too long string representations
    of coordinate values instead of switching to exponential notation.
    
    Gis_point::get_data_as_wkt() reserves MAX_DIGITS_IN_DOUBLE bytes
    memory for each coordinate and calls String::qs_append() to append a
    coordinate to the string. However, String::qs_append() calls my_gcvt()
    with a maximum limit of FLOATING_POINT_BUFFER - 1, which is over 300
    bytes.
    
    The result is that the string length isn't limited, which caused bug
    20322499. That bug was temporarily fixed by reserving more memory in
    Gis_point::get_data_as_wkt().
    
    Fix: Add a new function, String::qs_append(double, size_t) that limits
    the length of the output buffer given to my_gcvt(), and use this
    instead of String::qs_append(double). This solves the overflow in bug
    String::qs_append() floating point functions.
    
    Set MAX_DIGITS_IN_DOUBLE to 25 characters.
    
    No test case added since the test case is the same as for bug
    20322499, which is already in the test suite.

commit e61083a774882447fa1863a8b672c0e20e9b1c41
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Feb 13 19:02:21 2015 +0200

    Fix Bug#20427694 RECORDS_IN_RANGE IS +/-1 AGNOSTIC
    
    The code in InnoDB that estimates the records in a given range
    (btr_estimate_n_rows_in_range()) is agnostic to off-by-one errors because
    it returns an estimate. Indeed +/- 1 is irrelevant if 4587 or 4586 is
    returned when the actual value is 4600 for example. This is fine - it is
    expected that the returned value is an approximation.
    
    The problem arises from the fact that different codepaths handle the
    range boundaries differently (include the boundary or not). One of those
    codepaths handles the case then the range fits entirely in one page and
    another when the range spans across multiple pages. So, for the same
    dataset we could get different results (+/-1) depending on the page size -
    if for a big page size the range fits in one page and for a smaller page
    size it spans across multiple pages.
    
    The solution is to tune ha_innobase::records_in_range() and
    btr_estimate_n_rows_in_range() to honor the type of the boundaries of the
    range - e.g. open, closed or unbounded from the left/right range and always
    return the exact number of rows in the range if all the pages in the range
    were sampled (see N_PAGES_READ_LIMIT).
    
    Reviewed-by: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    Reviewed-by: Guilhem Bichot <guilhem.bichot@oracle.com> (only */subquery.*)
    RB: 8034
    (cherry picked from
    commit 4452052ea9c8ef14239ab64ceb8b2b5da2c4ea5a and
    commit f60a0b0b5c6d9e2608ba4caa8fc2076cfad09438 and
    and adjustment to opt_hints.result)

commit 9fff0792096c7a966ebf1bb3ee76a00df5eb8d4e
Author: Mark Leith <mark.leith@oracle.com>
Date:   Thu Mar 12 12:45:17 2015 +0000

    WL#8159 - Include Sys Schema in MySQL 5.7
    
    Further test fixes for when running with either --ps-protocol or --embedded.

commit 7ac893b625f222b7cac414f5cdf3ddd68145bc41
Author: Allen.Lai <zheng.lai@oracle.com>
Date:   Thu Mar 12 17:54:29 2015 +0800

    This is a followup patch of bug#20547644 for fixing pb2 test failure.

commit 0993d50c25a5994b660081e2c3c3be35f8473138
Author: Erlend Dahl <erlend.dahl@oracle.com>
Date:   Thu Mar 12 10:29:06 2015 +0100

    Disable main.opt_hints on Solaris for the time being.
    
    Approved by Bjorn Munch <bjorn.munch@oracle.com> over IM.

commit 4f9575927e952f6931118253c6b95b710f2f1c0f
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Mar 12 09:53:22 2015 +0100

    WL#8355 "Improve scalability by partitioning LOCK_grant lock."
    
    Fix broken build if configured with -DWITH_PERFSCHEMA_STORAGE_ENGINE=0

commit de505948e08038d5ad535c507387d3623cda03f7
Merge: 85c14e1 ff58c01
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Mar 12 17:55:46 2015 +1100

    Merge branch 'mysql-5.7-wl7696' of myrepo:mysql into mysql-5.7-wl7696

commit 85c14e12247636819c267f6434dc1194f7e18c23
Merge: 0b0a2a1 cf46a5b
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Mar 12 17:55:11 2015 +1100

    Merge branch 'mysql-5.7' of myrepo:mysql into mysql-5.7-wl7696

commit 0b0a2a1f93357995bdd21856b903d379a67f0278
Merge: e003636 06a2d4a
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Mar 12 17:54:39 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit cf46a5b46b0c948b1eba6027dd786ed135e0b9db
Author: Anitha Gopi <anitha.gopi@oracle.com>
Date:   Thu Feb 19 05:23:51 2015 +0100

    Bug#20533411 : Disabled valgrind runs of audit log tests
    
    (cherry picked from commit afca96da009d3e6fa96a7d4b6c8b042c26e1693c)

commit 06a2d4a412b4c563d617407a814d37867d4f70f4
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Thu Mar 12 09:31:56 2015 +0530

    Bug #20602525 ALTER USER DOES NOT VERIFY AUTH PLUGIN
    Whenever existing user is modified to alter the plugin attribute there
    should be a check to see if plugin is loaded else throw and error that
    plugin is not loaded.

commit 311bf8d862fbf66f2fa9b1e1ff2140bd08f88811
Author: Bin Su <bin.x.su@oracle.com>
Date:   Thu Mar 12 10:13:40 2015 +0800

    WL#8316 - Enabled multiple page cleaners and purge threads by default in 5.7
    
    As approved via ServerPT, it's recommended that we make the following
    compiled-in defaults changes in 5.7GA:
    
    innodb_page_cleaners=4
    innodb_purge_threads=4
    
    RB: 8013
    Reviewed-by: Vasil Dimov <vasil.dimov@oracle.com>

commit ff58c01964eafc05a7d0bdd801230e19a50b1409
Author: Mikhail Izioumtchenko <michael.izioumtchenko@oracle.com>
Date:   Wed Mar 11 21:51:23 2015 +0100

    mysql-test/suite/innodb/t/table_compress.test:
      Fix failure when hole punching is not available.
      Now the test will be skipped instead

commit 7f9326d72196ac6558afc9646718d0693d491104
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Mar 11 14:12:03 2015 +0100

    Bug#20684424 SHOW_COMPATIBILITY_56 SHOULD SHOULD BE OFF BY DEFAULT
    
    Before this fix, the default value for SHOW_COMPATIBILITY_56 was ON.
    
    With this fix, the default value is OFF, as originally intended
    when implementing this new feature.

commit 818f9f4660ae2d9257429e1ed025fd54dd075be1
Author: Marc Alff <marc.alff@oracle.com>
Date:   Wed Mar 11 16:01:58 2015 +0100

    Bug#20685859 ENABLE STAGES WITH PROGRESS BY DEFAULT FOR EASE OF USE
    
    Before this fix, every "stage/%" instrument is disabled by default.
    
    With this fix, stage instruments that provide online progress monitoring
    are enabled and timed by default.
    
    The list of stage instruments with online progress is currently:
    
    - stage/sql/copy to tmp table
    - stage/innodb/alter table (end)
    - stage/innodb/alter table (flush)
    - stage/innodb/alter table (insert)
    - stage/innodb/alter table (log apply index)
    - stage/innodb/alter table (log apply table)
    - stage/innodb/alter table (merge sort)
    - stage/innodb/alter table (read PK and internal sort)
    - stage/innodb/buffer pool load

commit a937f57a1b034024e3598af2765c3acafda54bf6
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Mar 11 16:51:00 2015 +0100

    Bug #20551271 VALGRIND FAILURE IN THREAD_POOL.THREAD_POOL_CONNECT
    
    Post-push fix: broken build for YASSL

commit b5dd38520ab0cbdadb7a4f696492c7c8eb9672dc
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Wed Mar 11 16:17:55 2015 +0100

    Bug#20685187 USE -STD=C99 WHEN BUILDING WITH GCC ON SOLARIS
    
    The patch for
        Bug #19573096: LOADING CORRUPTED GEOMETRY DATA INTO A
                       MYISAM TABLE CAUSES THE SERVER TO CRASH
    Introduced a build break on solaris:
    myisam/rt_split.c:69:3: error: implicit declaration of function 'isinf'
    [-Werror=implicit-function-declaration]
    
    The error goes away when building with -std=c99

commit 534e17153d3f06764b9df38b7e8de4812c214b6a
Author: Robert Golebiowski <robert.golebiowski@oracle.com>
Date:   Thu Mar 5 20:08:22 2015 +0100

    Bug #20551271 VALGRIND FAILURE IN THREAD_POOL.THREAD_POOL_CONNECT
    
    Bug description:
    
    thread_pool.thread_pool_connect fails in valgrind
    
    Bug fix:
    Openssl error queue assosiated with each thread was not freed on thread
    release. Added call to ERR_remove_thread_state(0) when thread is
    released. ERR_remove_thread_state(0) frees the error queue of the
    current thread. Also while on it I have replaced the call to
    ERR_remove_state with ERR_remove_thread_state. ERR_remove_state is
    marked as deprecated.

commit 5dd0e35c5537890a390823f09cfed8f74cc4919a
Author: Sivert Sorumgard <sivert.sorumgaard@oracle.com>
Date:   Wed Mar 11 11:14:02 2015 +0100

    Bug#20652173 MDL FOR TABLESPACES MUST BE REFLECTED IN P_S
    
    MDL for tablespaces was introduced without the required
    updates to the P_S implementation. This bugfix adds the
    required P_S changes to map from the new MDL namespace
    to an entry in a P_S internal enumeration, mapping to
    correct object type name, etc.
    
    A new test case is added to the MDL tablespace test to
    verify correct P_S output as well as proper synchronization
    with I_S contents.

commit bba2502570b0a2e75deebdfcbdf08e9234a84202
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Wed Feb 11 16:00:38 2015 +0100

    Bug#20407961	VIEW'S CHECK OPTION SOMETIMES NOT HONOURED IF INCLUDED IN A TOP VIEW
    
    Problem: when there is a view v2 nested inside another view v1, the
    check option of v2 is not tested if v1 has LOCAL CHECK OPTION or no
    check option.
    
    The fix: rewrite prep_check_option(); starting from the top view, it
    recurses into underlying views as before, but with changed rules: if a
    view has CASCADED or its parent had it, the underlying views are said
    to have it too; if a view has nothing, its children CHECK OPTIONs are
    unaffected.
    effective_with_check is not needed anymore:
    - it's tested in INSERT, but we must always honour the inserted table's
    check option
    - same for LOAD DATA
    - same for non-SELECT statements using setup_conds (just need to limit
    ourselves to merged views, for efficiency; which limitation was previously
    implemented by setting effective_with_check in merge_derived())
    Changes to result files show the new behaviour.
    In funcs_1:
    - the massive result changes towards the end, are just logs of the failed
    statements with their error codes.
    - Added printout of v3's CREATE for more clarity.
    - for myisam_views-big some other lines are changed, just like it
    had been done for innodb_views a few days ago.

commit ee05fd4731b4f79de73f9f3e0d1f7ddd1bcd9ac4
Merge: 157e622 44abaf5
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Mar 11 16:12:58 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 44abaf5156040a11e3bb3fd4ec1c370283f44b5c
Merge: a12b6a7 16c578a
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Mar 11 16:11:01 2015 +0530

    Revert "Merge branch 'mysql-5.5' into mysql-5.6"
    
    This reverts commit 42a1cec7a51c72793533e9307202304ec6e4f627, reversing
    changes made to 8c3f11e8d483f0c3879f2d635a5777fbcb1cdcc9.

commit 16c578a0d4a5d43161c5bb6b2e2d1fbbe7ade5a0
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Mar 11 16:07:49 2015 +0530

    Revert "Bug #19573096: LOADING CORRUPTED GEOMETRY DATA INTO A"
    
    This reverts commit c7de768ec20f5167cff2c69a255d95ca2eded46a.

commit 157e622e0bc62cca94bdab8fd60dc25cdc4854ac
Merge: 5da7f17 a12b6a7
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Mar 11 15:21:05 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit a12b6a7c2b6082194a0ad8f3ab82801f3383bc2b
Merge: 42a1cec 5d2a2c4
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Mar 11 15:19:19 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit 5d2a2c45bb00120ed2f08b4d9622f5cf94ca6867
Author: Thirunarayanan Balathandayuthapani <thirunarayanan.balathandayuth@oracle.com>
Date:   Wed Mar 11 15:17:35 2015 +0530

    Bug #20417397	MYSQL SHOW ENGINE INNODB STATUS SHOWING NEGATIVE
    			RESERVATION AND SIGNAL COUNT
    
    Problem:
    	Reservation and Signal count value shows negative value for show engine
    innodb statement.
    
    Solution:
    	This is happening due to counter overflow error. Reservation and Signal
    count values are defined as unsigned long but these variables are converted to
    long while printing it. Change Reservation and Signal count values as unsigned
    long datatype while printing it.
    
    Reviewed-by: Marko Mäkelä <marko.makela@oracle.com>
    Approved in bug page.

commit 5da7f1797d87aa7f94cfd5334d6c2255e0afe57a
Author: Praveenkumar.Hulakund <praveenkumar.hulakund@oracle.com>
Date:   Wed Mar 11 15:00:34 2015 +0530

    Bug#20030284 - HANDLE_FATAL_SIGNAL (SIG=11) IN NAME_HASH_SEARCH
    
    Follow up patch to backport patch committed in 5.8 to 5.7.

commit 582e4a7d76c6f16308417c193097a4e8231a2e72
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Wed Mar 11 12:24:56 2015 +0400

    Enabling federated.federated test back for @darwin and @freebsd platforms
    (was disabled before as Bug#18702657 -- is already fixed as Bug#20087571).

commit 23b5aed33299062209948ed175eb9edc39992217
Merge: b4f300a 42a1cec
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Mar 11 11:41:28 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 42a1cec7a51c72793533e9307202304ec6e4f627
Merge: 8c3f11e c7de768
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Mar 11 11:40:05 2015 +0530

    Merge branch 'mysql-5.5' into mysql-5.6

commit c7de768ec20f5167cff2c69a255d95ca2eded46a
Author: Sreeharsha Ramanavarapu <sreeharsha.ramanavarapu@oracle.com>
Date:   Wed Mar 11 11:18:52 2015 +0530

    Bug #19573096: LOADING CORRUPTED GEOMETRY DATA INTO A
                   MYISAM TABLE CAUSES THE SERVER TO CRASH
    
    Issue:
    -----
    During index maintanence, R-tree node might need a split.
    In some cases the square of mbr could be calculated to
    infinite (as in this case) or to NaN. This is currently
    not handled. This is specific to MyISAM.
    
    SOLUTION:
    ---------
    If the calculated value in "mbr_join_square" is infinite or
    NaN, set it to max double value.
    
    Initialization of output parameters of "pick_seeds" is
    required if calculation is infinite (or negative infinite).
    
    Similar to the fix made for INNODB as part of Bug#19533996.

commit b4f300ab186868094da130841659cfdf2a74bec9
Author: Daogang.qu <bill.qu@oracle.com>
Date:   Wed Mar 11 11:03:05 2015 +0800

    Bug #19451053  CRASH AFTER DIRECT INSERT INTO MYSQL.GTID_EXECUTED TABLE
    
    When gtid_mode=on and binary log is off, the server automatically
    inserts the transaction's GTID into mysql.gtid_executed within
    the transaction. But if the GTID has already been inserted into
    the table by an explicit INSERT statement, the server crashes.
    
    After the fix, the server does not crash in above case. Push a
    warning to client if user is modifying the gtid_executed table
    explicitly. Ignore the duplicate key error and log a warning
    for it when writing transaction owned GTID into gtid_executed
    table implicitly within the transaction, we did not push a
    warning to client in the case, since it is slave SQL thread
    or worker sometimes.
    
    @ sql/binlog.cc
    We invoke the warn_on_modify_gtid_table(...) in two places to
    decrease the iterations to table list for improving performance.

commit 66135526c33b77bea6e13e94decf7c46bc841c5a
Author: Shaohua Wang <shaohua.wang@oracle.com>
Date:   Wed Mar 11 10:32:40 2015 +0800

    BUG#20679975 I_INNODB.INNODB_BUG17305626 FAILS ON WINDOWS AFTER WL#8316
    
    It removes a ibd file after restarting mysqld in the test, but the ibd
    has been opened by buffer load thread, so it fails on windows but succeeds
    on on-windows platforms.
    
    The fix is simple: set innodb_buffer_pool_load_at_startup=OFF.
    
    Reviewed-by: Jimmy Yang <jimmy.yang@oracle.com> on IM.

commit 752f5d19c96c067ce6428f4d5f3f6a8e75be4c2d
Author: Allen.Lai <zheng.lai@oracle.com>
Date:   Wed Mar 11 09:13:40 2015 +0800

    Bug#20547644 DATA CORRUPTION CAUSED BY SOME SIMPLE SQL
    
    if there're rows in the table.  We should block adding a new geo
    column and add spatial index on it same time.
    Since currently, we don't define any default value for geometry
    datatype.
    
    Reviewed-by: Jimmy Yang<jimmy.yang@oracle.com>
    RB: 8255

commit f83eb37ce0b7aa19d591b2d67342e3ac926b7332
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Mar 11 00:14:22 2015 +0100

    Revert accidental bump of server version back to 5.6.23

commit 56f6154ed5ae5cb51f658000d4af2725d2129f55
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Mar 9 17:37:26 2015 +0100

    Bug#20575529 PERFORMANCE_SCHEMA.GLOBAL_VARIABLES MYSTERY DEPRECATION
    WARNING
    
    The following query
      SELECT * from performance_schema.global_variables;
    displays a deprecation warning related to the global variable 'sql_log_bin',
    because of special logic implemented for this very variable for backward
    compatibility reasons.
    
    See the resolution of
      Bug#67433 Using SET GLOBAL SQL_LOG_BIN should not be allowed
    for details.
    
    This fix filters out explicitly variable 'sql_log_bin'
    from table performance_schema.global_variables because:
    - this variable is not intended to be global,
    - there is no need to preserve backward compatibility
    for this table since it is new, unlike the existing
    table INFORMATION_SCHEMA.global_variables.

commit 7323b2abfb98105f76336b81d1e010a0c0036c45
Author: Marc Alff <marc.alff@oracle.com>
Date:   Mon Mar 9 17:40:04 2015 +0100

    Bug#20559828 SHOW GLOBAL VARIABLES WHERE NOT DEPRECATED IN EMBEDDED
    
    Before this fix, the command:
      SHOW GLOBAL VARIABLE WHERE ...
    printed a deprecation warning, inviting to use the performance_schema tables
    instead.
    
    This warning was incorrect, and caused confusion for the embedded build.
    
    There are two separate changes that are independent:
    
    First, the syntax
      SHOW GLOBAL VARIABLE WHERE ... [LIKE ...]
    should be changed to simply
      SHOW GLOBAL VARIABLE [like ...]
    abandonning the WHERE clause syntax.
    This applies to all builds, including embedded.
    
    Secondly, the query
      SHOW GLOBAL VARIABLE [like ...]
    might be rewritten using the new performance_schema tables instead.
    This is optional, and only applies to builds that include the
    performance_schema (hence does not apply for the embedded build).
    
    The warning printed mixed the two changes.
    
    The deprecation only applies to the first part,
    dropping support for the WHERE clause in SHOW STATUS / SHOW VARIABLES.
    
    With this fix, the proper deprecation warning is now printed,
    and it is also printed for embedded builds.

commit 42782b013c3c35d1b626fec14907c9e42a30e332
Author: Gleb Shchepa <gleb.shchepa@oracle.com>
Date:   Tue Mar 10 12:36:30 2015 +0400

    Bug #20087571: 5.7 EASILY HITS ERROR 1436 (HY000): THREAD STACK OVERRUN ERRORS ON MANY EXPR'S
    
    This bug is a regression of WL7200: that WL introduced an unconditional
    recursive processing of AND and OR parse tree nodes during the
    contextualization, when the original parser had some conditional
    flattening of nested AND/OR expression.
    That affected very long recursive AND/OR expression: instead of the normal
    execution the parser failed with a parse error: ER_STACK_OVERRUN_NEED_MORE.
    
    This bugfix re-introduces an optimization that flattens recursive AND/OR
    expressions at parse time (before the itemization/contextualization):
    
     (X1 AND X2) AND (Y1 AND Y2) ==> AND (X1, X2, Y1, Y2)
     (X1 AND X2) AND Y ==> AND (X1, X2, Y)
     X AND (Y1 AND Y2) ==> AND (X, Y1, Y2)
    
    and the same for OR.

commit 737f71e6eb35d18452b651ec7d6af2d2c63b047b
Author: Joao Gramacho <joao.gramacho@oracle.com>
Date:   Tue Mar 10 16:06:39 2015 +0000

    WL#7518 Deprecate @@session.gtid_executed
    
    Post push fix for main.ps_ddl test case.
    
    The test case uses a SHOW VARIABLES query that throws a warning when
    displaying the content of the deprecated variable.
    
    As the deprecated variable is not present on embedded servers, the same
    test case do not throw warnings at SHOW VARIABLES.
    
    The fix creates a new test include file to assert that no other warning
    messages than the expected one (ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT)
    were issued by the statement, making the test case result the same for
    embedded and non-embedded servers.

commit 41b6702709f4d3504a94e58759e2cf07d925376e
Author: murthy <murthy.narkedimilli@oracle.com>
Date:   Tue Mar 10 16:13:54 2015 +0100

    Adding additional check to check the existence of mysqltest.1 manpage.

commit a52d17f4553d658542f5671d34edacad12b38ab3
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Mar 10 14:07:41 2015 +0100

    Large section of test was accidantally (auto)-merged into a duplicate
    when merging 5.7.6 back to 5.7. Removed the duplicate code.

commit 30a337135f5a25799bddd8c1ebc2f5bce2c6b18b
Author: Mark Leith <mark.leith@oracle.com>
Date:   Tue Mar 10 12:23:41 2015 +0000

    Fix tests for the sys.statements_with_full_table_scans and sys.statements_with_full_table_scans to work with the Query Cache enabled (as well as v_statements_with_full_table_scans.test wrongly testing the schema_tables_with_full_table_scans view).

commit e446a1b27c844056174f86cc4bc4caaa25ee4f43
Merge: 2d06e94 e1298eb
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Mar 10 12:11:21 2015 +0100

    Merge branch 'mysql-5.7.6-m16-release' into mysql-5.7
    
    Conflicts:
    	mysql-test/r/mysql_upgrade.result
    	mysql-test/r/mysql_upgrade_ssl.result
    	packaging/deb-precise/changelog
    	packaging/deb-trusty/changelog
    	packaging/deb-utopic/changelog
    	packaging/deb-wheezy/changelog
    	sql/auth/sql_auth_cache.cc
    	sql/sql_initialize.cc

commit 2d06e9467aa72738df966180792ca2aab3d9a46b
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Tue Mar 10 09:19:43 2015 +0100

    Bug#20455386 INVALID WRITE IN COPY_FIELD::SET CAUSE CRASH WITH TMP TABLES
    
    Has already been fixed. Just adding testcase.

commit 58569fb6258b9f35187b1896fb03eb4c8d473e13
Author: Guilhem Bichot <guilhem.bichot@oracle.com>
Date:   Mon Mar 9 15:50:23 2015 +0100

    Bug#17435114 ASSERTION FAILED: THD->LEX->LOCK_TABLES_STATE == QUERY_TABLES_LIST::LTS_NOT_LOCK
    
    Adding testcase.
    Bug was introduced in 07/2013 and can't be reproduced neither with a
    tree of 09/2013 nor today.
    It was previously debugged, and found to be due to two lock_tables()
    calls. Debugging today's 5.7 shows only one lock_tables() call, which
    is correct:
    - no need to lock subquery's tables as ALTER EVENT is designed
    to reject subqueries which use tables, see 'case SQLCOM_ALTER_EVENT' in
    mysql_execute_command()
    - just need to lock mysql.events for update.
    Likely, the many refactorings done in the last 1.5 years have
    changed the code flow.

commit 01ee0eff779920ed0877d71ab84a218c13f99127
Author: David.Zhao <david.zhao@oracle.com>
Date:   Tue Mar 10 17:43:44 2015 +0800

    WL#7929 GIS: Implement ST_Buffer and ST_Distance with Boost.Geometry
    
    Post-fix: fix a memory issue reported by valgrind.

commit 5181706a4336aa03d1eca1b927cba8e9c122f694
Merge: fb98ef1 8c3f11e
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Mar 10 12:34:06 2015 +0530

    Merge branch 'mysql-5.6' into mysql-5.7

commit 8c3f11e8d483f0c3879f2d635a5777fbcb1cdcc9
Author: Venkatesh Duggirala <venkatesh.duggirala@oracle.com>
Date:   Tue Mar 10 12:32:15 2015 +0530

    Bug#20574628: SEMI-SYNC REPLICATION PERFORMANCE DEGRADES WITH A HIGH NUMBER OF THREADS
    Problem:
    when semi-sync replication is enabled and
    when the number of threads running is increasing (going beyond a
    threshold), performance of the system is going drastically down.
    
    Analysis:
    A transaction in semi-sync replication waits for the ACK
    inside ReplSemiSyncMaster::commitTrx on a condition variable
    COND_binlog_send_. In reportReplyBinlog function, when server
    receives an ACK, it sends condition broadcast to all the
    threads that are waiting on COND_binlog_send_.
    
    Each transaction thread waiting an ACK does the follow (simplified):
    - hold a lock LOCK_binlog_
    - in a loop ( while (is_on()) ) :
      - compare the ACK position with its own position;
         - if the ACK is still behind, it waits on a condition variable COND_binlog_send_
         - if the ACK is ahead or equal, it exits this loop and
            proceeds with the next step
    - unlock the lock LOCK_binlog_
    
    The problem here with this design is that all the threads wake up and while it
    is likely that only few will return to the application and most of them will
    go back to wait on the same condition variable. This creates unnecessary context
    switches and a lot of LLC cache thrashing in multi-cpu systems
    which reduces the throughput of the system.
    
    Fix: The approach splits the *one* condvar used for all threads
    to wait into *several* condvars. Each of the condvars is associated
    with a position range. Thence only those that fall threads that are waiting
    for a given acknowledged range are awaken when the ACK comes back
    (as opposed to waking up all transactions, regardless whether the ACK affects
    them or not).

commit fb98ef1461f01ec7116388b9caabff3051a678c2
Author: Bharathy Satish <bharathy.x.satish@oracle.com>
Date:   Tue Mar 10 09:57:09 2015 +0530

    Bug #20634154 GRANT/ALTER USER CLEARS PASSWORD EXPIRE.
    For a user account whose password is expired, the user must set password
    before running any queries. But instead when GRANT/ALTER user statement is
    executed for that user the password expired flag is set to false in memory,
    which is incorrect and causes the user to run any queries without even
    setting the password. This patch fixed this issue.

commit 38213e7155e5c94f643f3200384ddaa5cdfb23cc
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Mar 10 09:20:00 2015 +0530

    BUG#20597821 - INNODB: INCORRECT DUPLICATE KEY ERROR FOR AUTOINC COLUMN
    
    pushed missed new test file partition_auto_increment_import.inc
    
    Problem :
    ---------
    Insert fails with duplicate key error for AUTO_INCREMENT column after
    export/import of tablespace with partitioned table.
    
    For partitioned table, during import, initialize_auto_increment is
    called before importing all the partitions and the Next_auto_inc_val in
    "partition share" is getting initialized to the max column value of
    first partition. Next insert generates auto_inc value which already
    exists in other partition and fails.
    
    Solution :
    ----------
    1. ha_innopart::discard_or_import_tablespace() - Do auto_increment
     initialization after all partitions are imported.
    
    2. Don't do innobase_initialize_autoinc() in
     ha_innobase::discard_or_import_tablespace as we have got the correct
    value from .cfg file already.
    
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 8215

commit 22e18ecaace391e813a5e30a320f49e1abbb4169
Author: David.Zhao <david.zhao@oracle.com>
Date:   Mon Mar 9 11:07:49 2015 +0800

    WL#7929 GIS: Implement ST_Buffer and ST_Distance with Boost.Geometry
    
    Make test case result consistent on all platforms; Remove 2 test cases
    which in debug build, Boost.Geometry takes too much time to compute on
    Solaris 11.

commit 71fb4711f0b498d80eec1b81a938fad74f3fdfa0
Author: Debarun Banerjee <debarun.banerjee@oracle.com>
Date:   Tue Mar 10 08:59:22 2015 +0530

    BUG#20597821 - INNODB: INCORRECT DUPLICATE KEY ERROR FOR AUTOINC COLUMN
    
    Problem :
    ---------
    Insert fails with duplicate key error for AUTO_INCREMENT column after
    export/import of tablespace with partitioned table.
    
    For partitioned table, during import, initialize_auto_increment is
    called before importing all the partitions and the Next_auto_inc_val in
    "partition share" is getting initialized to the max column value of
    first partition. Next insert generates auto_inc value which already
    exists in other partition and fails.
    
    Solution :
    ----------
    1. ha_innopart::discard_or_import_tablespace() - Do auto_increment
     initialization after all partitions are imported.
    
    2. Don't do innobase_initialize_autoinc() in
     ha_innobase::discard_or_import_tablespace as we have got the correct
    value from .cfg file already.
    
    Reviewed-by: Mattias Jonsson <mattias.jonsson@oracle.com>
    Reviewed-by: Sunny Bains <sunny.bains@oracle.com>
    
    RB: 8215

commit e003636185a518fd9fc8f4f487eca98498070de9
Merge: d4f4203 738ffef
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Tue Mar 10 12:02:57 2015 +1100

    Merge branch 'mysql-5.7' into mysql-5.7-wl7696

commit 738ffef8eb7dae68bd897722043a7c6ff186162b
Author: Kevin Lewis <kevin.lewis@oracle.com>
Date:   Mon Mar 9 16:18:42 2015 -0500

    Bug#20671465 - INNODB: MISSING BRACKETS IN FSP_FLAGS_IS_VALID()
    
    Approved by Mattias Jonsson from Suggested Fix section

commit 9e6356fa939233ac22a9e9d3010ff59b0661964e
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Mon Mar 9 18:36:21 2015 +0100

    Raise version number after cloning 5.7.7-rc

commit d4f42035c6cf3eadd0726b0e4486aad8546ca56b
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Sat Mar 7 10:20:04 2015 +0200

    Fix a compilation warning in non-debug mode
    
    .../os0file.cc: In function 'dberr_t os_file_io_complete(const IORequest&, os_file_t, unsigned char*, unsigned char*, ulint, ulint, ulint)':
    .../os0file.cc:1561: error: unused variable 'block_size'

commit b9c9bf800d73af08f32f23a8d50e4f40f2b834df
Merge: da56952 776a969
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Sat Mar 7 10:08:00 2015 +0200

    Merge remote-tracking branch 'origin/mysql-5.7' into mysql-5.7-wl7696
    
    * origin/mysql-5.7:
      WL#8355 "Improve scalability by partitioning LOCK_grant lock."
      WL#8356 "Improve scalability by not acquiring unnecessary locks for internal temp tables".
      WL#8356 "Improve scalability by not acquiring unnecessary locks for internal temp tables".
      WL#8356 "Improve scalability by not acquiring unnecessary locks for internal temp tables".

commit da56952992741b24f5b585548ea85d89a290f9c8
Merge: 30407d0 ee66b79
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Mar 6 19:21:05 2015 +0200

    Merge remote-tracking branch 'origin/mysql-5.7' into mysql-5.7-wl7696
    
    * origin/mysql-5.7:
      WL#6860 Binlogging XA-prepared transaction
      WL#7725 FIREWALL
      Bug20595292 - Take file_format out of show_i_s_tables.inc
      Bug#11865600: Slow views by using subselect as column
      Bug#11745276 SUBQUERY IN FROM CLAUSE OF VIEWS
      Bug #20595292 	INNODB: MTR TEST 16K FAILING SPORADICALLY

commit 6d1b3e966ea4527deb34041cb2c3c6b0f59e4fad
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 6 17:31:11 2015 +0100

    BUG#18949230: Removed unneeded ndbassert and fixed printout, also recorded number of real periods

commit 30407d016c8a6102adf38c4b295fb765f3793f8b
Merge: ff9249c c4345d0
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Mar 6 17:41:23 2015 +0200

    Merge remote-tracking branch 'origin/mysql-5.7' into mysql-5.7-wl7696
    
    * origin/mysql-5.7:
      WL#7725 FIREWALL

commit ff9249c3e25a7cbccede3e6e2eb0e4508a54d79b
Merge: 53cda2f 6398cdf
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Mar 6 17:01:05 2015 +0200

    Merge remote-tracking branch 'origin/mysql-5.7' into mysql-5.7-wl7696
    
    * origin/mysql-5.7:
      BUG#20613327 IMPLEMENT WL#7307 AND WL#7787 UNIX SOCKET AUTH PROPOSAL wrt to debian packaging BUG#20636865 5.6.23-->5.7.7 DEB PACKAGE UPGRADE FAILING WITH MYSQL_CLIENT_TEST_EMBEDDE ERRORS BUG#20546298 MOVE DEMO AND EXAMPLE FILES TO TEST PACKAGE wrt to debian packaging BUG#20561621 DEB PKGS MISSING SOME DEPS wrt to debian packaging
      Bug #20627890: SHOW CREATE USER DOESN\'T WORK WITH 5.6 AND 5.5 CLIENTS Bug #20600865: IDENTIFIED BY PASSWORD IS NOT DEPRECATED FOR ALTER USER                BUT DOESN\'T WORK
      WL# 7712: Support SSL by default in libmysql
      WL#7518-Deprecate-session.gtid_executed
      WL#8326 Make NO_AUTO_CREATE_USER sql_mode behavior the default in 5.7

commit 53cda2f2eb043384816e4899a6149bd58582df10
Merge: 2f44261 42ecd2e
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Mar 6 17:00:29 2015 +0200

    Merge commit '42ecd2e' into mysql-5.7-wl7696
    
    * commit '42ecd2e':
      WL#8315 Make innodb_checksum_algorithm=CRC32 the default in 5.7
    
    (merge mysql-5.7 up to and including 42ecd2e into mysql-5.7-wl7696)

commit 2f44261e2ab4858d337be022ed01f7a7e7eb377e
Merge: c8341bc 814f5e4
Author: Vasil Dimov <vasil.dimov@oracle.com>
Date:   Fri Mar 6 16:58:26 2015 +0200

    Merge commit '814f5e4' into mysql-5.7-wl7696
    
    * commit '814f5e4':
      WL#8317 Enable InnoDB Buffer Pool dumps by default in 5.7
    
    (merge mysql-5.7 up to and including 814f5e4 into mysql-5.7-wl7696)

commit 83bee7ae1960b9a8fb6a8d12b43a461093c6b9e4
Merge: 298c854 c71af93
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Mar 6 14:26:43 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit c71af930a59f1ac885aa38b69fd70669153b16a2
Merge: d904e65 f9ea27c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Mar 6 14:26:17 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit f9ea27c30c72f7dd346b310579eec349bdd172fe
Merge: aa78ea7 5774112
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Mar 6 14:25:40 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit 577411216d9a8146eb3056da2f18e437f500c7de
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Mar 6 14:22:57 2015 +0100

    Added some extra output to ndbapi tests utilities as an aid to
    hunt down the AutoTest failure 'testBasic -n Bug54986 D2'

commit 298c85475b418bc0269bd39da2f534112c48aad9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 6 10:42:35 2015 +0100

    Added log printout about invalidation of REDO log and where log head was found

commit 6dcfcec529a204e0c2b4dfa9d121af7a628e4628
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Mar 6 10:28:00 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - The expected warnings didn't appear after running a failing
       ALTER TABLE RENAME with too long db identifier.
     - This problem occured because the query which read the current
       mysqlds datadir was done between the failing ALTER and the
       SHOW WARNINGS query, thus the warning stack was cleared.
     - Fix by moving the read of current mysqld datadir earlier.
     - Apparently MySQL Server 5.7 has changed so that also
       a SELECT which just reads variables clears the warning stack.

commit e087cd98875c15e708971e3bb43edb909c8a8b87
Merge: 306522e 1491682
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Mar 6 10:18:06 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-trunk-cluster
    
    Conflicts:
    	storage/ndb/src/cw/cpcd/CPCD.cpp
    	storage/ndb/src/ndbapi/NdbOperationExec.cpp
    	storage/ndb/src/ndbapi/NdbQueryOperationImpl.hpp
    	storage/ndb/src/ndbapi/NdbTransaction.cpp

commit f252174c38781c8f5ec3a2dcb84ce6b4c0d663d9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 6 10:09:06 2015 +0100

    Added autotest files for Mikaels environment, added comments about how to get file system as part of results in autotest, added comment about how to handle older git versions with autotest

commit 047114b171261d4e9de2eb5859862a198adc4cd3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Mar 6 09:45:59 2015 +0100

    BUG#20546157: Fix problems in START_PERMREQ and START_INFOREQ that hangs node restarts when invalidation of nodes is still ongoing at node restart

commit ef318cf9630460cdb612d79b0dcffe9142abb575
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 5 14:29:27 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - slightly change test data and test query to avoid using column with index
     - this makes the test query run in the same way also in the future

commit 34a47842827dd079d54fb979db4c0a3e5cfc7d6d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 5 14:23:09 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
         - add all columns returned from the frag_ops view to the GROUP BY
           in order to avoid that sql_mode=ONLY_FULL_GROUP_BY rejects the query

commit 093128ead80146057abc03c6a9431bce8e2690fc
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 5 13:59:21 2015 +0100

    Bug#20480035 REMOVE MCP_BUG44529
    
     - The mysqld participating in schema distribution
       of DROP DATABASE failed to remove the database
       when there was a .ndb file in the directory
       which didn't have any corresponding table in NDB.
     - The problem is generic and really not related to schema distribution
       participant, it can be reproduced with only one mysqld
     - Fix by adding an additional check for leftover .ndb
       files in ndbcluster's DROP DATABASE implementation. The
       fix is a rewrite and thus intentionally mimics the beaviour
       of find_db_tables_and_rm_known_files() which previously
       deleted these files.
     - Add testcase reproducing with one mysqld
     - Add testcase reproducing with two mysql(s), same test as for
       bug44529 but with comments.

commit c8341bcd17cef07b898919ed0e46b55ae3b21e51
Merge: ec7f002 8e2cf83
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Mar 6 11:58:22 2015 +1100

    Merge branch 'mysql-5.7-wl7696' of myrepo:mysql into mysql-5.7-wl7696

commit ec7f0022abb2cff367b74923c9f4dc3b4e9b2928
Merge: 831e433 0d23c24
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Fri Mar 6 09:06:57 2015 +1100

    Merge branch 'mysql-5.7' of myrepo:mysql into mysql-5.7-wl7696

commit 306522eb2d8236273326545a8112cbc82c6f9406
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 5 15:50:43 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
    - re: WL#6629 Performance Schema, Status Variables
    - ignore deprecation warnings which occurs when reading
      values from information_schema.global_status

commit 3a4f287e507d65b8f5a31b0ca5120303962c05cd
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 5 15:49:29 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - re: WL#6629 Performance Schema, Status Variables
     - rewrite queries which used information_schema.global_variables
       to read the server_id to not use information_schema and instead
       read the variable direct, update .result files.

commit e506fed69d97f9a445f9fe6c1b8e21e947ce34d1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 5 15:33:13 2015 +0100

    Disable ndb_rpl_circular_2ch* waiting for Bug20592110

commit ee9e064f0176c20bbb929f2e544b3ae2da760d4e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 5 15:27:46 2015 +0100

    Disable ndb_addnode_witbinlog waiting for Bug17400320

commit c6a75e4e7a61d887f0874ec44ae5a4fbac58ca5f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 5 14:56:04 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - 5.7 outputs additional columns from EXPLAIN since EXTENDED and PARTITION
       been turned on by default.
        1) This causes the 'rows' column to shift from position 9 to 10
        2) Also it introduces the new column 'filtered' which is to be
           considered as unreliable as 'rows'. Quoting comment in existing
           test case "experience has shown that 'rows' estimates may vary
           depending on OS, compiler and .. phase of moon."
     - Fix problem by increasing the column number in masking of 'rows' and at the
       same time add masking of the 'filtered' column.

commit 4f38678ceee66c7fcef17879f234273c3d3caf22
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Mar 5 14:47:57 2015 +0100

    BUG#75720: Fix platform issues with ndb_dd_dump test

commit 0d8c08cf0b678cbb39c605f6c220d8a1f7474886
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 5 14:29:27 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - slightly change test data and test query to avoid using column with index
     - this makes the test query run in the same way also in the future
    
    (cherry picked from commit e36c19e35910cc7f5244c8a28215adbd899043ab)

commit 0b1d8fda4174851712c6d9df6d0ce8ac2d6b888b
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Mar 5 14:23:09 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
         - add all columns returned from the frag_ops view to the GROUP BY
           in order to avoid that sql_mode=ONLY_FULL_GROUP_BY rejects the query
    
    (cherry picked from commit c59dfe0d66c0f50b39f06f00681257007ec9b918)

commit 8e2cf83e576f0f04560c2c28c59e3e03058bac59
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Thu Mar 5 10:31:32 2015 +0100

    WL#7696 Add support for 'bundled' or 'system' lz4 library
    
    (cherry picked from commit 9e71067cd1ff319f2f76d68880ec7da0e058a6b4)

commit 831e433ac4a281382c985b4a7e9709e24c612bae
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Thu Mar 5 10:54:52 2015 +1100

    WL#7696 - Don't print a warning on Windows if SPARSE FILE attribute can't be set

commit 14916822ee7d7e2637bc77d40ca2e958fc88b8ec
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Mar 4 20:21:31 2015 +0100

    BUG#20631645: Ensure that SYSFILE->latestLCP_ID is properly up-to-date in the pause LCP protocol

commit 19c2f1b63ed75f4be073ff7125bb8a99fb93bdc2
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Mar 4 17:33:25 2015 +0100

    Fix regression caused by wl#7674 in testBasic -n RefreshTuple T6 D1
    
    After the wl, exceptional epochs are queued and thus pollEvents()
    returns 1 when there is empty epochs on the queue top. Instead of
    expecting pollEvents() return 0, call nextEvent()as usual when
    pollEvents() returns 1.  nextEvent() will handle exceptional epochs.

commit 7596fafa06704b013720837ae26b40c65f51e556
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Mar 4 17:10:07 2015 +0100

    Fix regression caused by wl#7674 in testDict -n Bug13416603 I2.
    
    After the wl, exceptional epochs are queued and thus pollEvents() returns 1 when there is empty epochs on the queue top. Instead of expecting pollEvents() return 0, call nextEvent()as usual when pollEvents() returns 1.  nextEvent() will handle exceptional epochs.

commit 163c360a0171cc37cf9f97ce286acdde346c0ac7
Merge: 21f6b7f d904e65
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Mar 4 13:32:28 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit d904e652fc8249b591fc3815f235447c7ab8a723
Merge: 55c73ca aa78ea7
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Mar 4 10:40:52 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit aa78ea7278b7830e795fa6adc108743866aaf57a
Merge: 7015907 c049ba6
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Mar 4 10:37:29 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit c049ba6daf413b82837475595e6d35439ae36c6c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Mar 4 09:57:08 2015 +0100

    Fix for Bug#20408733:
    
     ScanOperations allocate too much memory for receive buffers
    
    A scan operation, both a plain single table scan, and a
    'query scan' used by pushed join, stores the result set
    in a buffer. This maximum size of this buffer is calculated
    and preallocated before the scan operation is started.
    
    This buffer may consume considerable amount of memory, in
    some cases we have observed a 2Gb buffer footprint in a test
    executing 100 parallel scans. This was for a tiny 2-node,
    non-mt config (2 fragments), and the memory consumption will scale
    linearly with more fragments
    
    There are several root causes for this problem:
    
    1. Result rows are 'unpacked' to full NdbRecord format before they
       are stored in the buffer. If only some of the table columns are
       selected from a table, there will be lots of empty (wasted) space
       in the buffer.
    2. Due to the 'unpacked' buffer format, varchar/varbinary columns has
       to be allocated for the max size defined for the columns.
    3. The 'BatchByteSize' and 'MaxScanBatchSize' is not taken into consideration
       as a limiting factor when calculating max buffer size.
    4  As buffer size is scaled by 'BatchSize', the problem became worse
       with 7.2 where the default was raised from 64 to 256
    
    This patch refactors the NdbReceiver class to buffer result rows
    in its 'packed' format. The NdbReceiver internal 'class NdbReceiverBuffer'
    is introduced in order to better seperate NdbReceiver handling of
    buffered (packed) and non buffered result set.
    
    Buffered scan result rows are now not unpacked until they are
    made the 'current row', either by NdbReceiver::getNextRow(), or
    NdbReceiver::getRow(<row>).
    
    The NdbReceiver code which convert from the transporters 'packed'
    format, into either row format described with a NdbRecord,
    or into NdbRecAttr values, are refactored into several
    NdbReceiver::unpack<foo>() methods. The same code is then
    used to unpack either a buffered or unbuffered result row.
    
    NdbReceiver::result_bufsize() has been added to calculate the
    size of the (packed) result buffer which has to be allocated.
    This calculation now also takes the config variables
    'BatchByteSize' and 'MaxScanBatchSize' as a limiting factor
    of the required buffer size.
    
    Unpacking of NdbRecAttr data from either a NdbScanOperation or
    a NdbQueryOperation has also been streamlined: Previously the
    'dataPtr' for each RecAttr were fetched from NdbReceiver and then
    'unpacked' one by one. The new method
    NdbReceiver::get_AttrValues(NdbRecAttr* rec_attr_list) leaves this
    operation entirely to NdbRecord, and as an addition side effect
    makes the same unpack code reusable inside NdbReceiver.
    
    In addition a general cleanup of the NdbReceiver class has been
    performed, some of them are:
    
    - Removed the code for handling the old NdbRecaAttr variant of
      NdbReceiver::execKEYINFO20(). That code relied on
      NdbReceiver::m_rows[] to have been allocated and set up, and m_rows[]
      is not allocated *anywere* - So that code is efficiently defuncted.
      Checked back to 7.0, without finding aby trace of that.
    
    - Removed 'useRec' argument to NdbReceiver::init(). The same
      info can be deducted by checking if the later NdbRecord* arg to
      NdbReceiver::do_setup_ndbrecord() '!= NULL'. Furthermore,
      setting 'useRec' in ::init(), and not specifying a NdbRecord in
      ::do_setup_ndbrecord(), would set the NdbReceiver into an
      inconsistent state.
    
    - Cleaned up the 'class NdbRecord' decl itself by removing
      unused, and redundant member variables. Mainly due to the
      same info now being available from 'class NdbReceiverBuffer'.

commit 42341ab880f88bd491754d9849ff21a97ac27a23
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Mar 4 14:52:54 2015 +1100

    WL#7696 - Punch hole message is Linux specific.

commit ebbb67370e15895ecbdf992af887fd818a476c55
Author: Sunny Bains <Sunny.Bains@oracle.com>
Date:   Wed Mar 4 13:58:59 2015 +1100

    WL#7696 - Backport code from mysql-trunk to mysql-5.7

commit 99a76b125acaa0896ce831a558c39dc6c87adfc7
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Mar 3 19:07:28 2015 +0100

    Followup fix for "Bug20364309 MODIFY SHOW CREATE TABLE OUTPUT FOR BETTER OPENSTACK"
    
     - update anoter .result file since indentation has now changed

commit fe0975ab359fc3623e3be1411a5d150cc6e4e741
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Mar 3 18:28:58 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - 5.7 outputs additional columns from EXPLAIN since EXTENDED and P
       been turned on by default.
        1) This causes the 'rows' column to shift from position 9 to 10
        2) Also it introduces the new column 'filtered' which is to be
           considered as unreliable as 'rows'. Quoting comment in existing
           test case "experience has shown that 'rows' estimates may vary
           depending on OS, compiler and .. phase of moon."
     - Fix problem by increasing the column number in masking of 'rows' and at the
       same time add masking of the 'filtered' column.

commit fe5ce73abd9ba0268a8f902034a7c19b56c6680f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Mar 3 18:16:45 2015 +0100

    Another follow up fix for "BUG11748566 - MYSQL SHOWS WRONG DEFAULT VALUE FOR PK IF  NOT NULL NOT SPECIFIED"
    
     - Tables created with CREATE TABLE t (a INT PRIMARY KEY) and CREATE TABLE t (a INT, PRIMARY KEY(a)) now
       get the same default values.

commit 2f8b96534d1c3229fc067b56b36d31db9d36c046
Merge: 57e106c 3defdaa
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Mar 3 17:42:30 2015 +0100

    Merge '7.4' into mysql-trunk-cluster
    
     - fix conflicts in copyright headers
     - replace  Sql_condition::WARN_LEVEL_WARN with
       Sql_condition::SL_WARNING
     - replace usage of pthread_ with native_
     - Add SHOW_SCOPE_GLOBAL to new(or refactored) status variables
    
    Conflicts:
    	.gitignore
    	VERSION
    	mysql-test/collections/default.experimental
    	mysql-test/suite/ndb/r/ndb_alter_table_online.result
    	mysql-test/suite/ndb/r/ndb_alter_table_online2.result
    	mysql-test/suite/ndb/r/ndb_types.result
    	mysql-test/suite/ndb/t/ndb_types.test
    	mysql-test/suite/ndb_binlog/r/ndb_binlog_ddl_multi.result
    	mysql-test/suite/ndb_binlog/r/ndb_binlog_discover_multi.result
    	mysql-test/suite/ndb_binlog/r/ndb_binlog_log_bin.result
    	mysql-test/suite/ndb_binlog/t/ndb_binlog_discover.test
    	mysql-test/suite/ndb_rpl/r/ndb_rpl_conflict_epoch.result
    	mysql-test/suite/ndb_rpl/r/ndb_rpl_conflict_epoch_ext.result
    	mysql-test/suite/ndb_rpl/r/ndb_rpl_conflict_epoch_trans.result
    	mysql-test/suite/ndb_rpl/r/ndb_rpl_conflict_epoch_trans_ext.result
    	mysql-test/suite/ndb_rpl/t/ndb_conflict_info.inc
    	mysql-test/suite/ndb_rpl/t/ndb_rpl_conflict_epoch.inc
    	mysql-test/suite/ndb_rpl/t/ndb_rpl_conflict_epoch_trans.inc
    	mysql-test/suite/ndb_rpl/t/ndb_trans_conflict_info.inc
    	mysql-test/suite/ndb_rpl/t/ndb_trans_conflict_info_stable.inc
    	mysql-test/suite/rpl/r/rpl_4threads_deadlock.result
    	mysql-test/suite/rpl/t/rpl_4threads_deadlock.test
    	packaging/rpm-oel/mysql.spec.in
    	scripts/mysql_system_tables.sql
    	sql/ha_ndb_ddl_fk.cc
    	sql/ha_ndbcluster.cc
    	sql/ha_ndbcluster_binlog.cc
    	sql/ha_ndbcluster_binlog.h
    	sql/sql_show.h
    	storage/ndb/CMakeLists.txt
    	storage/ndb/clusterj/clusterj-core/src/main/java/com/mysql/clusterj/core/SessionFactoryImpl.java
    	storage/ndb/include/kernel/GlobalSignalNumbers.h
    	storage/ndb/include/kernel/ndb_limits.h
    	storage/ndb/include/mgmapi/mgmapi_config_parameters.h
    	storage/ndb/include/ndbapi/NdbDictionary.hpp
    	storage/ndb/include/transporter/TransporterCallback.hpp
    	storage/ndb/include/transporter/TransporterRegistry.hpp
    	storage/ndb/src/common/debugger/signaldata/CMakeLists.txt
    	storage/ndb/src/common/debugger/signaldata/PackedSignal.cpp
    	storage/ndb/src/common/debugger/signaldata/SignalDataPrint.cpp
    	storage/ndb/src/common/debugger/signaldata/SignalNames.cpp
    	storage/ndb/src/common/portlib/NdbCondition.c
    	storage/ndb/src/common/transporter/TransporterRegistry.cpp
    	storage/ndb/src/kernel/blocks/ERROR_codes.txt
    	storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp
    	storage/ndb/src/kernel/blocks/dbspj/Dbspj.hpp
    	storage/ndb/src/kernel/blocks/lgman.cpp
    	storage/ndb/src/kernel/blocks/tsman.cpp
    	storage/ndb/src/kernel/error/ErrorReporter.cpp
    	storage/ndb/src/kernel/vm/DLHashTable.hpp
    	storage/ndb/src/kernel/vm/mt.cpp
    	storage/ndb/src/mgmsrv/MgmtSrvr.hpp
    	storage/ndb/src/mgmsrv/Services.cpp
    	storage/ndb/src/ndbapi/ClusterMgr.cpp
    	storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp
    	storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp
    	storage/ndb/src/ndbapi/NdbScanOperation.cpp
    	storage/ndb/src/ndbapi/TransporterFacade.hpp
    	storage/ndb/src/ndbapi/WakeupHandler.cpp
    	storage/ndb/src/ndbapi/trp_buffer.hpp
    	storage/ndb/src/ndbapi/trp_client.hpp
    	storage/ndb/test/ndbapi/testBasic.cpp
    	storage/ndb/test/ndbapi/testIndex.cpp
    	storage/ndb/test/ndbapi/testLimits.cpp
    	storage/ndb/test/ndbapi/testNdbApi.cpp
    	storage/ndb/test/src/HugoTransactions.cpp
    	storage/ndb/tools/ndb_dist_priv.sql
    	support-files/mysql.spec.sh

commit 21f6b7ff2d510933f441dc5b24b579cabed9bbfb
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Mar 3 13:26:14 2015 +0100

    BUG#20568586: Fix ndb_cpcd to avoid reading a closed file

commit 4bbeb6f1afdfa73a10a52d3b058adeed8d7f9d15
Merge: 411c741 55c73ca
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Mar 3 13:24:19 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 55c73ca2cd11468a13bf23813239e6d6985eb542
Merge: b5a0a87 7015907
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Mar 3 13:23:47 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 7015907a16e1a07891ab0b93ad1966f006873dba
Merge: e443bbe c7ecc49
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Mar 3 13:23:16 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit 411c7419c9b8e2d9e82ccdc5a4cb04a685ebac84
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Mar 3 13:11:34 2015 +0100

    BUG#20567730: Ensure that late arriving LCP_FRAG_ORD with lastFragmentFlag set from new master are handled correctly, correct is to ignore them if such a signal arrives in idle LCP state

commit c7ecc4964dbd466c4f22934c64553d698b4c55b5
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Mar 3 13:11:08 2015 +0100

    Fix for bug#20538179
    
     	NDB : TEST HANDLING OF ARBITRATOR FAILURE DURING ARBITRATION
    
    Fix a failure seen in AutoTest: 'testNodeRestart -n ClusterSplitLatency'.
    This is also a genuine bug where the 'Loser' in the arbitration
    is allowed to reconnect before the arbitration has completed.
    During the reconnect, it hits a ndbrequire in Qmgr::execRECONNECT_REP
    as we are still in phase ZRUNNING.
    
    Frazer describes the failure scenario as:
    
    .........
    I guess that it needs :
     1.  Losing side is slightly slower / behind the winning side at detecting the silence / loss of the other side
     2.  Losing side enters state ZPREPARE_FAIL as part of execPREP_FAILREQ() - in 2 node case, this occurs quickly once the 'other node' failure is decided, as we are / must become President. Losing side sends CLOSE_COMREQ to TRPMAN for 'other' node.
     3.  Handling of 'other node' failure causes DUMP 9991 to be sent to TRPMAN, re-enabling communication.
     4.  Unblocking of transporter causes DISCONNECT_REP to be sent to TRPMAN and then QMGR
     5.  DISCONNECT_REP reception calls node_failed() which causes transition from ZPREPARE_FAIL -> ZFAIL_CLOSING due to bad (fixed) switch statement
          Also causes all pending messages to be discarded, so e.g. no FAIL_REP signals are received which would kill us.
     6.  Losing node is in state CHOOSE_ARBIT, waiting for response.
     7.  Arbitrator disconnects - no action yet, still waiting for ArbitTimeout
     8.  As we're in ZFAIL_CLOSING, the 'other side' can disconnect and reconnect
     9.  If the 'other side' has finished handling our failure, and attempts to reconnect then we can generate CONNECT_REP resulting in ndbrequire(false) etc...
    
    So I think it's a genuine bug, but we probably don't often see it as it requires the 'DISCONNECT_REP' to overtake the 'FAIL_REP' signals in the transporter from the 'other' node.  The error insertion / dump codes probably make that more likely.
    
    .........
    
    The fix is to change Qmgr::node_failed(), such that when in phase
    PREPARE_FAIL it does nothing, instead of sending another (redundant)
    CLOSE_COMREQ, which would have replaced the PREPARE_FAIL state with
    ZFAIL_CLOSING, which would have allowed reconnection after the
    3 second grace period.

commit 3defdaad82de263036bfe0b81b7d04e65a12296b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 2 17:59:29 2015 +0100

    BUG#20546899: Faulty ndbrequire fixed

commit 758fee67dd777d97ccd6706531d7368a9fd280e4
Merge: 6f46735 b5a0a87
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 2 15:49:32 2015 +0100

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

commit b5a0a874206dfbb04cd9d680c8608eaa513c07ca
Merge: 899d006 e443bbe
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 2 15:48:56 2015 +0100

    Merge ../mysql-5.5-cluster-7.2 into mysql-5.6-cluster-7.3

commit e443bbe91dd14441a965308e61e79de9c0136e88
Merge: 60417cb 08249ff
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 2 15:48:13 2015 +0100

    Merge ../mysql-5.1-telco-7.1 into mysql-5.5-cluster-7.2

commit 08249ffc65ae18f8b919d950c6e71581a7c45338
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 2 15:46:31 2015 +0100

    BUG#20553247: Fix memcpy overlapping copy issue

commit 6f467354081f2d1dd49bc551bc394adb01ad3dfa
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Mar 2 15:42:06 2015 +0100

    BUG#20553247: Use memmove for overlapping memory copy

commit 797c0a475afaa13503041911090b094ed9f3308b
Merge: ce2d409 899d006
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Mon Mar 2 13:28:18 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4
    
    Conflicts:
    	storage/ndb/test/ndbapi/testSystemRestart.cpp

commit 899d0068b236ab4ffcd40eb00508f2691fc7ee10
Merge: ca2b07c 60417cb
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Mon Mar 2 13:26:46 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 60417cbb40fd6c5ce25264902213c21f53c1f39a
Merge: cb2034e dc62556
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Mon Mar 2 13:25:52 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2
    
    Conflicts:
    	storage/ndb/test/include/HugoTransactions.hpp
    	storage/ndb/test/ndbapi/testSystemRestart.cpp

commit dc62556b9a35daa1d707bbdb4617e754235db968
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Mon Mar 2 13:16:00 2015 +0100

    Commit this fix on behalf of Pekka N:
    
    Patch for bug#20457376
    
      TEST NDB API: SCAN UPDATE RETRIES NOT ALWAYS WORKING
    
    NDB API tests use HugoTransactions::scanUpdateRecords.
    It retries on temporary errors but each retry starts a
    new scan update.  So no overall progress is made and any
    number of retries may not work.  Test case: memory table
    T2 and 1m rows.
    
    This came up in testSystemRestart -n SR_DD_1b D2 (and similar).
    
    Might not fox the failing Autotest testSystemRestart .. SR_DD tests,
    but interfere with them such that the real error can't be found.

commit 9ec24c241a1ab085f72a7c2786f6431e1bec8916
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Thu Feb 26 19:29:03 2015 +0100

    BUG#20477758 CONFLICTS WHILE INSTALLING COMMUNITY PACKAGES WHEN MARIADB, LIB FILES INSTALLED
    
    Due to large version numbers used libmysqlclient-devel packages was
    not considered for install. Fixed by removing version check.
    
    Signed-off-by: Terje Røsten <terje.rosten@oracle.com>

commit 367802ceef18088c24fcda705440e0d87930188b
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Thu Feb 26 18:58:36 2015 +0100

    BUG#19811871 VERSION NUMBR NOT SHOWN IN LOG WHEN [RE]STARTING 5.6.21 SERVICE WITH SLES11 REPO
    
    Log file directory had too strict access rights, server not able
    to write to log file.
    
    Signed-off-by: Terje Røsten <terje.rosten@oracle.com>

commit 55ec062accda87a54a112654115a1f3b3f09f021
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Thu Feb 26 19:29:03 2015 +0100

    BUG#20477758 CONFLICTS WHILE INSTALLING COMMUNITY PACKAGES WHEN MARIADB, LIB FILES INSTALLED
    
    Due to large version numbers used libmysqlclient-devel packages was
    not considered for install. Fixed by removing version check.
    
    Signed-off-by: Terje Røsten <terje.rosten@oracle.com>

commit b47a0efe0dec79a873f4256eb4072bd88127f063
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Feb 27 09:13:18 2015 +0100

    Updated copyright information

commit ce2d4091a95aedb2ebafa6c173c73f398517e70d
Merge: 8215948 ca2b07c
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Thu Feb 26 16:56:05 2015 +0530

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit ca2b07c6fee29be74bbab09f99584f7a5c09eaef
Merge: 2755cbd9 cb2034e
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Thu Feb 26 16:51:39 2015 +0530

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit cb2034e4a221a11be2128eb9df010863d56ac9b4
Merge: f5a3343 005645b
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Thu Feb 26 16:51:09 2015 +0530

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit 005645b0c54eb54d4a203e8d60b3dc7565866007
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Thu Feb 26 16:48:21 2015 +0530

    Bug#20228839: MISSING DATABASE '-D' OPTIONS FOR FEW OF THE HUGO TOOLS
    
    Adding '-d' option for hugoPkRead, hugoPkDelete, and hugoLockRecords

commit 8215948fe26de7d9088958dada28a5a57a42818d
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Feb 26 13:29:15 2015 +0530

    Re-enable clusterj tests disabled during 7.4.4 release.

commit 57e106ce298431b1f0db4e25188dedc2475b19be
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Feb 25 16:27:27 2015 +0100

    Bug#20593065 MULTI UPDATE RETURNS DIFFERENT DATA WITH ENGINE NDB
    
     - the UPDATE query is now optimized differently and the ORDER of the
       records from t is undefined(the ORDER BY is ignored)
     - disable the optimization in test like in so many other places
       and update the result files.
    
    (cherry picked from commit 58def93a271e6ecd267c5362cd0ec934a83ab33f)

commit 242180caeb6b6c26855fd434454ae5048511f41d
Merge: d610e91 2755cbd9
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Wed Feb 25 13:31:08 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 2755cbd983361ca7865dcaa47544095841431e95
Merge: 49d74d9 f5a3343
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Wed Feb 25 13:28:07 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit f5a33439883d9990731e88f416af28dab7cbd2f2
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Wed Feb 25 13:23:50 2015 +0100

    This commit is a followup to the fix for bugs 20069617 (consider
    noofreplicas in dynamic max_failure_time calculation) and 20069624
    (allow the 120s constant part of the gcp_save gcp_stop timeout to be
    configured).
    
    This commit fixes an error in the previous commit that caused a crash if
    the number of live data nodes reached zero.

commit d610e91cec13b81bf59bcb09a817ab671cdeb3e5
Merge: 20f3184 775b07f
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Wed Feb 25 12:09:55 2015 +0100

    Merge from mysql-cluster-7.4.4-release

commit 874524603a35810636c19162af8e40302dd303ff
Author: Terje Røsten <terje.rosten@oracle.com>
Date:   Mon Jan 26 12:21:28 2015 +0100

    Add support for SLES12
    
    Signed-off-by: Terje Røsten <terje.rosten@oracle.com>

commit 20f318407b42bcd6d4e4e0c6ef228aee461ec15c
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Feb 24 19:43:46 2015 +0530

    Merge 7.3->7.4

commit 49d74d9d4411a8448a4e6d8f73907ca9df85e6bf
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Feb 24 19:41:50 2015 +0530

    Merge 7.2->7.3

commit 6b0b787594e2c007d00a4e11ddf895faf59bfe21
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Feb 24 19:40:17 2015 +0530

    Overriding release() function from the DynamicObject class in its subclasses.
    
    Changes :
    Implemented release() for the following classes:
     - ValueHandlerBatchingJDBCSetImpl
     - ValueHandlerBindValuesImpl
     - ValueHandlerImpl

commit 922af718fec7fec581fc75a83936590f064978f8
Merge: f3ad3ba 7404b5e
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Tue Feb 24 10:02:02 2015 +0100

    Merge 7.3->7.4

commit 7404b5e31e9d8faf165c69c8e0880b55a10688dc
Merge: 1c202cf 3d9c43e
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Tue Feb 24 09:46:01 2015 +0100

    Merge 7.2->7.3

commit 3d9c43ed83133273e61ba1e6bfa2fd7c8c4a3a7a
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Tue Feb 24 09:14:51 2015 +0100

    This commit is a fix for bugs 20069617 (consider noofreplicas in
    dynamic max_failure_time calculation) and 20069624 (allow the 120s
    constant part of the gcp_save gcp_stop timeout to be configured).
    
    The patch makes the following changes:
    * The previously fixed 120s 'extra' time for GCP_SAVE is made configurable,
      with a minimum value of TimeBetweenEpochsTimeout.
    * The formula for calculating the maximal time to detect the failure of a
      set of nodes has been changed in two ways:
      1) The time needed to detect heartbeat failure is set at five rather than
         four heartbeat intervals, as up to five intervals may be needed.
      2) Only one round of arbitration is considered, rather than
         (no_of_nodes - 1), as there can be at most one (at least for
         NoOfReplicas<=2).
    
    The patch also adds a regression test.

commit fada98c0842879f06d2ff77739fbde24a8a6b9d9
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Feb 23 16:58:01 2015 +0100

    Reverse order of libraries used when linking the ndbapi examples
    
     - allowing the static variables associated with the mysys functions
       to be properly loaded and used.
     - both libndbclient and libmysql uses mysys so there is a slight
       conflict when an application decide to use functions from both

commit 7a4386c3f7902a85bfe7f8fa26d6ce6ccf6078c9
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Feb 23 16:22:44 2015 +0100

    Add small MCP for problem with Partition_handler::get_default_num_partitions
    
     - function should only be called when number of partitions is not known
       (which it is when opening a table).

commit 7b7fa84bb259b53d89a702f44116d3e47f4c34eb
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Feb 23 12:45:34 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - Another patch Re: WL6409
      -- the PASSWORD() function is removed from SET PASSWORD syntax
      -- GRANT statement throws a deprecated warning when creating users
      -- the mysql.user tables password column has been renamed to
         authentication_string
    
     - Remove use of PASSWORD() from SET PASSWORD commands
     - Fix queries reading Password from mysql.user to
       instead use Authenticaion_string
     - Change one testcase to accept error 1296 being returned
       from SET PASSWORD when it fails. This is due tobug20561087. There
       are other tests checking that data does not change when command
       fails.
     - Include the deprecation warnings in .result file
     - Also update the .result file since the binlog changes slightly:
        -- different quoting of table names
        -- SET PASSWORD is logged as ALTER USER
        -- CREATE USER contains more details
        -- "grant" seem to be always uppercase

commit 8a5b7be4dbd1d9b7388eeff52ba943e19d887a8a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Feb 23 12:11:05 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
    - WL6205 added support for tablespaces in Innodb. This means that
      when a table is altered from NDB to Innodb the tablespace name
      stays the same(by default) and thus a tablespace with the same
      name must exist also in Innodb. Previsouly there was no tablespace
      support and thus the name was ignored.
    - Fix by creating a tablespace with same name in Innodb before testing
      ALTER from NDB to Innodb and back.

commit f3ad3badd071cbc6749d24f2cc85888370ed498d
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Mon Feb 23 10:44:23 2015 +0100

    Bug#20539452 POSSIBLE MEMORY LEAK IN NDBEVENTBUFFER::ALLOC_MEM: fix test regression

commit 5a63c47a7160f1b19389a60d8da47ff2b1c4d021
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Feb 20 13:21:52 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - disable warnings when using SHOW GLOBAL VARIABLES
       and remove the warning from .result file since
       the warning currently does not occur with embedded

commit e772db4f4fcc5fa5893933b84704894ea63c2feb
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Feb 20 12:32:23 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - rewrite test to use CREATE USER instead of GRANT
       wen creating a new user

commit 6bd9ad3e6a672d4bc399218ab6cef53ef2290ccf
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Feb 20 11:59:02 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - re WL8202
     - update .result file since sourced test has changed

commit 068564076378bc718b86631a7f7030d01a4788e9
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Feb 20 11:54:34 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - re: WL#6629 Performance Schema, Status Variables
     - avoid deprecation warnings by creating an include
       file which read the requested status variable into
       a mysqltest variable and then prints it. Also produces
       a less cluttered result file.
     - rewrite the read of server_id to not use
       information_schema.global_variables but instead
       use @@server_id direct.

commit 8eb610f54acb65767cc315d800c31208ff0661e5
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Feb 20 11:34:11 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - Re: WL6409
      -- the PASSWORD() function is removed from SET PASSWORD syntax
      -- GRANT statement throws a deprecated warning when creating users
      -- the mysql.user tables password column has been renamed to
         authentication_string
    
     - Remove use of PASSWORD() from SET PASSWORD commands
     - Fix queries reading Password from mysql.user to
       instead use Authenticaion_string
     - Remove two testcases which provokes an error using
       "41-digit-hexadecimal error" since there is no way
       to provoke that or similar error anymore.
     - Change one testcase to accept error 1296 being returned
       from SET PASSWORD when it fails. This is due tobug20561087. There
       are other tests checking that data does not change when command
       fails.
     - Include the deprecation warnings in .result file

commit 21d67085625517e9ccacd588b5212a3665bb1848
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Feb 19 16:13:33 2015 +0100

    WL#7549: Fix test case for removed EMPTY_LCP protocol

commit 8300bf5c857d42f35c422c6fee9b0417f359a19e
Merge: e0c77aa 1c202cf
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Feb 19 15:49:29 2015 +0100

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

commit 1c202cf8eb93342a967cb3130df84550438cc12d
Merge: 522ba84 a05634e
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Feb 19 15:49:03 2015 +0100

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

commit a05634e8543a89d80a753f4b585f1fd99331ddf0
Merge: 9f4d7b8 8e806f3
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Feb 19 15:48:38 2015 +0100

    Merge ../push_20444078_71 into mysql-5.5-cluster-7.2

commit 8e806f365c51933060f57caccba47ccb962c3764
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Feb 19 15:48:15 2015 +0100

    BUG#20444078: Removed unneeded log printout

commit 9f4d7b8e7428b3ab9de089b19e9047622cc02424
Merge: 0cab987 92bebcf
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Feb 19 15:46:21 2015 +0100

    merge

commit 92bebcf1ac68d22bc5845e60605923d452f615d9
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Thu Feb 19 15:30:22 2015 +0100

    BUG#20444078: Fix master takeover of COPY_GCIREQ protocol

commit 6d06c7cb7a7916958cd67fcbeb4662c5af7caa45
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Feb 19 08:36:25 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - re: WL#6629 Performance Schema, Status Variables
     - rewrite some more queries which used
       information_schema.global_variables to read the server_id
       without using information_schema and instead
       read the variable direct, update .result files.

commit 775b07fc1e0c2ed3e741a75e487229a6d4d1f992
Author: Bernt M. Johnsen <bernt.johnsen@oracle.com>
Date:   Wed Feb 18 15:06:57 2015 +0100

    Revert accidental version number change

commit b99375b699bc83d9f845bea92005252f907c1c8f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Feb 18 11:59:21 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - new column GENERATION_EXPRESSION has been added to
       information_schema.columns
     - update .result file for ndb_dd_restore_compat to include
       the new column since test intentionally selects all columns

commit b7d9b3fba01a1fadd226df5b4ad91c4a8755cc94
Author: Tor Didriksen <tor.didriksen@oracle.com>
Date:   Tue Feb 17 07:07:47 2015 +0100

    Bug#20528878 : P_S UNIT TEST IS FAILING
    
    Backport from 5.8 to 5.7
    
    (cherry picked from commit 4b530bf7ffa33dc4eeb7d8c03ff9a680869c92b3)

commit de8cefa8634703bcddc4d227aae1c0ae618b6b7c
Merge: 4bc03a2 e0c77aa
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Feb 18 09:54:54 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.4' into mysql-cluster-7.4.4-release
    
    Bug#20539452 POSSIBLE MEMORY LEAK IN NDBEVENTBUFFER::ALLOC_MEM

commit 8d50ca1d6f0f93b1d088926ee7afbc4e207b6da3
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 17 20:53:39 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - re: WL#6629 Performance Schema, Status Variables
     - ignore deprecation warnings which occurs when reading
       values from information_schema.session_status
     - ignore deprecation warnings which occurs when reading
       values from information_schema.global_status
     - rewrite queries which used information_schema.global_variables
       to read the server_id to not use information_schema and instead
       read the variable direct, update .result files.
     - revert unneccessary disabling of warnings
       -- three cases where no warning was produced
       --one case where it was better to record the deprecation
         warning in the result file
     - change formatting of some of the queries to improve
       readability
     - change usage of LIKE to = since the comparison should be exact
       matching only one variable

commit 2ce83e11ccfc4aa5b7ee4312c5e3f391f0fbc95a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 17 19:42:37 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - update .result fle for gcol_ndb
     - syntax has changed since this was originally written
       in the version from which it was backported!

commit e0c77aac848cc6024122ce8461b41904d402c779
Author: Maitrayi.Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Feb 17 16:18:38 2015 +0100

    Bug#20539452 POSSIBLE MEMORY LEAK IN NDBEVENTBUFFER::ALLOC_MEM

commit f893b6347327e909f83582b1d584beda93a507a6
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 17 16:30:43 2015 +0100

    Temporarily hack mtr.pl to allow a large number of failing tests
    
     - this is tradition now

commit b9d740d686d6331f66335bad9717a250d179c4fb
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 17 15:48:28 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - update .result file for ndb_bug26793 with the new
      deprecation warning about GRANT and CREATE USER

commit 130c44ede17626e10d165edb521882ddabf99b9e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 17 15:45:11 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - update result file for ndb_gis since source include
       file has changed from using the deprecated MBREqual() to MBREquals()

commit 1badf181441a8698181553bb124d36122a4d4717
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 17 14:35:19 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - update .result files for ndb_alter_table.result since
       SHOW TABLE STATUS now properly shows NDB tables as "partitioned"

commit 4bc03a2f32218e710caa1c04aed17811548eaa0b
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Feb 17 17:45:09 2015 +0530

    Disabling ndb.clusterj and ndb.clusterj_jpa tests for 7.4.4 release.

commit d18f5e2415c45f01b6133a069778b8366a63e06f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Feb 16 20:00:19 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - fix warnings in ha_ndbcluster DBUG_PRINTs which occured after
       Alter_inplace_info::HA_ALTER_FLAGS typedef was changed from
       ulong to ulonglong as part of WL411

commit 008152b17a86566018109b7d8ff51e45f5b83a19
Merge: 3340e3c ccc627f
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Feb 16 19:55:37 2015 +0100

    Merge branch 'mysql-5.7.6-m16-release' into mysql-trunk-cluster
    
    Conflicts:
    	mysql-test/suite/ndb/r/ndb_condition_pushdown.result
    	mysql-test/suite/ndb/r/ndb_gis.result
    	mysql-test/suite/ndb/t/ndb_condition_pushdown.test
    	scripts/mysql_system_tables_fix.sql
    	sql/sql_parse.cc
    	sql/sql_table.cc

commit 38cae8ada4d18bbf07663fdeb789f37fd7ab995f
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Feb 16 17:49:04 2015 +0100

    bump version to 7.4.5

commit 57d04b4bd3ef5bbeb79d941d04189df0fee85979
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Mon Feb 16 14:10:46 2015 +0100

    Bump version to 7.4.5

commit 3340e3c5986074e32c6d3c48a06a5c066f1ef2c9
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Feb 13 14:58:10 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - update the .result file for ndb_statistics0, where the
       "rowsfiltered" value for one EXPLAIN has changed
       from 5.00 to 10.00.
     - Differences like this are normally caused by optimizer changes,
       the suspect for this one is "Bug19505175 REGRESSION IN Q21 OF DBT3
       TEST FOR WL7339" which touches lots of similar .result files.

commit 407e3d454cb78be75273b24ff327b45fd272e88d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Feb 13 14:27:14 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - The result changed as part of "WL7420 Geometry Collection Support"
     - update .result file for ndb_gis.test in the same way
       as other tests which source gis_generic.inc

commit 60d4cef4fce1ee7390c70c41aa4141e6ac45fda1
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Feb 11 15:12:51 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - Update ndb_binlog_index.result file because output from
       SHOW BINLOG EVENTS has changed. Before, the result set was
       empty. Now, it contains one row with a Previous_gtids_log_event.
       But the row is filtered out by show_binlog_events.inc. The end
       result is that the column headers are added.

commit e4a46b6180d9846f0229a9b5329289937f81ef7d
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Feb 11 14:54:22 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - the extra/rpl_tests/type_conversion.test which is sourced
       by rpl_ndb_typeconv* have been changed not print
       when the rpl_reset.inc file is sourced.
     - update .result files accordingly

commit b4c486bfbcd9c2883c9e3775e06114968ed1df9a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Feb 11 14:03:37 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - The new Previous_gtids event in the binlog causes
       show_binlog_using_name.in to show the wrong event.
     - Replace usage of show_binlog_using_name.inc with show_binlog_event.inc
       since tha latter will automatically skip over the Previous_gtids event
       unless told not to do so.
     - There are still two tests using show_binlog_using_name.inc and those
       should be converted as well, but they are untfortunatley disabled
       so that task has to be deferred to later.
     - Also add suppression of the expected warning which the ndbcluster
       binlog injector writes to the error log when it starts up after
       mysqld restart. Same suppression already exist in ndb_rpl_gap_event.test

commit 7464cb60eb0f8c7fa4c6993491e7f9a621fd5c7d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Feb 11 13:40:41 2015 +0100

    BUG#20281479: Entered eternal loop when starting node in MGM server due to buggy bug fix

commit 02c3ca1c730b28241030a98352ddcee1adde0351
Merge: 8cd6868 522ba84
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 13:38:27 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 522ba849ebf10d78e8766d8cd169eb3ea748daeb
Merge: c1258c8 0cab987
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 13:37:50 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 0cab987a88cbf6b3e8ef2ae75f343f7cd1092839
Merge: 9b73c9f c0fa248
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 13:33:03 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit c0fa2480d467d16892a48798e690c4d6f62cf033
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 13:30:23 2015 +0100

    Fix unintentional increase in testsize by a factor of 100
    of 'testBasic -n Bug54986'

commit 8cd6868a08c2312bcaad514026adb1f96f9e433b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Feb 10 16:26:38 2015 +0100

    BUG#20513571: Introduce MaxSendDelay for large clusters

commit 09de83996bfbaca98a378d081ca47a2edbc8da77
Merge: 64cb2e3 c1258c8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 08:51:58 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit c1258c8bd8e33c2cb0759c336088a3380dd8906d
Merge: 6bfc9bb 9b73c9f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 08:51:34 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 9b73c9fac15f311b2aa52c062023c5bd4577f5d5
Merge: 95219ba a2db951
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 08:50:52 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit a2db951e6acc6557292ab40effff0211c4a683a2
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 08:45:57 2015 +0100

    Fix failing AutoTest 'testIndex -n NFNR3*'
    
    Test failed during 'clearTable' (deadlock) as there is
    a concurrent test STEP(runVerifyIndex). As both if these
    set locks during scan, they are prone to deadlock each
    other.
    
    Changed test such that indexes are only verified as part
    of FINALIZE step, or done as part of 'runTransaction3'.

commit 64cb2e34c17b35545b3fa0941738d60ed5e1228d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Wed Feb 11 08:29:34 2015 +0100

    BUG#20512063: Moved verbose logging to only be used in verbose mode

commit 02f4a8fe9791ebd12c66ac960f5ef5d327a3f3b5
Merge: 84ded19 6bfc9bb
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 08:28:58 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 6bfc9bb245911f2a09a8087440a40e882a025516
Merge: 2d9d7ed 95219ba
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 08:28:20 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 95219bab139526a39f8a2f95dfd8d8317b1b5da6
Merge: b4c3a6a 256b601
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 08:27:36 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit 256b60180ff88ead5d845e22f7eb8ef3eca646a5
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 11 08:23:00 2015 +0100

    Add missing failure detection for 'testBasic -n Bug54986'.
    
    The test continued on after some operation failed,
    which finaly caused it to report 'match failure' as the
    DB did not contain what the test framework expected to find.
    
    Still expect test to fail after this fix, but now it will
    hopefulle be possible to pinpont the point in time when it failed.

commit 84ded195490caa7e1e877365acd6ce44b220f6ac
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Feb 10 16:11:36 2015 +0100

    BUG#20281479: Ensure that START_ORD is properly sent from management server

commit 90da74ad8b106d676c8c70d71e253fcf1070be50
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 10 15:55:18 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
    - merge in of WL7592 introduces new binlog events for Previous_gtids
      and Anonyomus_gtid, thos can be filtered away in mosts tests.
    - part2, remove usage of show_binlog_events2.inc and instead use show_binlog_events.inc
      directly, this cause the "Server_id" column to also be masked by a #.
    - remove mysql-test/include/show_binlog_events2.inc since it's now unused
      and unmaintained.

commit ce3ecf2b251716694e2419403d727ac70f8ba7c8
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 10 15:44:05 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - merge in of WL7592 introduces new binlog events for Previous_gtids
       and Anonyomus_gtid, thos can be filtered away in mosts tests.
     - change show_binlog_events2.inc to use sho_binlog_events.inc since
      the latter has builtin support for masking those events. Use "backwards compatible"
      wtiches to avoid changing the .result filess too much in one go(that will be next patch).

commit a5b4881347c3f92e945b05b2e4b4b47e852b635b
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 10 13:58:20 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - fix compilation error in patch for global schema lock
     - the plugin_data macro has been rewritten to static function
         plugin_data<type*>(ptr)

commit 5988b28fdb1de0eea9e89c668b88c1e630a26313
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Tue Feb 10 13:43:59 2015 +0100

    BUG#20504971: Fixed restart_info table to provide its output

commit 29e9d644006a0c9920dc40837e63863979ccf20d
Merge: bff25c6 b228698
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 10 13:16:02 2015 +0100

    Merge trunk as of commit 'b228698eacb7caa82a44c8ede873305d756bd285' into mysql-trunk-cluster

commit bff25c60754e821636adb532b7acb9e8ca9f993a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Tue Feb 10 10:16:24 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - turn off ONLY_FULL_GROUP_BY since the rqg syntax has been written
       with non aggregated columns in the select list

commit e679b2ae11ec06112c99a33dbd826473a6bc774b
Merge: 8d61a10 79cb05f
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Feb 9 17:44:08 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' of myrepo.no.oracle.com:mysql into mysql-5.1-telco-7.1

commit b4c3a6aba21d8450d9083cca23f21d6fec2ddb44
Merge: 0f21e77 1fde2b5
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Feb 9 17:43:41 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' of myrepo.no.oracle.com:mysql into mysql-5.5-cluster-7.2

commit 2d9d7ede3fe332dac136cfbb12c332207074c0d4
Merge: 469d15b eb68952
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Feb 9 17:43:06 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' of myrepo.no.oracle.com:mysql into mysql-5.6-cluster-7.3

commit c98ea6cda6a730668ffcf3c4d5d74fba80a22d92
Merge: a3f95eb 83124b7
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Feb 9 17:42:19 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.4' of myrepo.no.oracle.com:mysql into mysql-5.6-cluster-7.4

commit a3f95ebb79d12e7bfcd6c6d756238affb17dc7a9
Merge: 0946f49 469d15b
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Feb 9 17:37:05 2015 +0100

    merge

commit 469d15b37107f07f0f2c5b01231a17723b583925
Merge: 069a10f 0f21e77
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Feb 9 17:35:39 2015 +0100

    merge

commit 0f21e7744f5059e7be3278ab6cdb83ca9063c680
Merge: d3af013 8d61a10
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Feb 9 17:33:36 2015 +0100

    merge

commit 8d61a1050189b382a93327d2b8c15a40395b5347
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Mon Feb 9 17:19:14 2015 +0100

    Proper error printouts after reaching NDBT_FAILED in test cases

commit 83124b76c5f5e45b8c8c27be9fe794d5ca318923
Merge: 0946f49 eb68952
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Feb 9 15:56:51 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit eb68952a46d102f6b5c22e8e24e49db1014dc137
Merge: 069a10f 1fde2b5
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Feb 9 15:55:10 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 1fde2b5fb863c847d3a11e20e5c93b4db7c23615
Merge: d3af013 79cb05f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Feb 9 15:54:21 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit 79cb05fb8bf40508c61715c38ec0a1d389946437
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Feb 9 15:51:11 2015 +0100

    Backport fix for BUG#20276462

commit 787b14f5cf6d3cddf67cb8626395d5e4781e5503
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Feb 9 15:23:26 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
       - Fix suppressions for "Slave SQL" error messages in server log files
         which now also contain "for channel ''" after WL1697
       - See '7abf29723dd5c396285a982b136728aff45d4896'

commit 64912d595509e748c2aa1d456f61bb0549b93e7c
Merge: 11aada7 d6b2979
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Mon Feb 9 12:27:27 2015 +0100

    Merge commit 'd6b2979683684123ad02b17badc2d308386cd0f5' into mysql-trunk-cluster
    
    Conflicts:
    	.bzr-mysql/default.conf
    	VERSION
    	sql/ha_ndbcluster.cc
    	sql/log_event.cc
    	sql/sql_db.cc
    	support-files/mysql.spec.sh

commit 0946f497dcabace0b3e90094293cd3785932281a
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Feb 6 14:23:45 2015 +0000

    Bug#20412236 NDB : TRPMAN RECEIVES DUPLICATE DUMP_STATE_ORD SIGNALS
    
    Remove duplicate forwarding, as TRPMAN receives these anyway.

commit 069a10fefc3cb4cd1630c6511e9f1482ab4517c8
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Feb 6 14:23:45 2015 +0000

    Bug#20412236 NDB : TRPMAN RECEIVES DUPLICATE DUMP_STATE_ORD SIGNALS
    
    Remove duplicate forwarding, as TRPMAN receives these anyway.

commit d3af013d610ca37632b99237710abca7e33528ff
Merge: 50abda4 2bb4485
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Feb 6 14:27:01 2015 +0000

    Merge ../mysql-5.1-telco-7.1 into mysql-5.5-cluster-7.2

commit 2bb448505ccbba452c31a495d1c8d190b97f1d46
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Feb 6 14:23:45 2015 +0000

    Bug#20412236 NDB : TRPMAN RECEIVES DUPLICATE DUMP_STATE_ORD SIGNALS
    
    Remove duplicate forwarding, as TRPMAN receives these anyway.

commit 9a859b078047b3afb6d9a999fc213fdc11d9b9b8
Merge: b53a6bd da76466
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Feb 6 15:17:50 2015 +0100

    merge conflict handling

commit da76466d17be5a35321b7727c1942662fe74572c
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Feb 6 15:16:04 2015 +0100

    Updated to newest version of flexAsynch

commit b53a6bd82d49b284152cdbf9a1c119d34bd91883
Merge: 0b0d75e 6880c04
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Feb 6 13:42:56 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 6880c044c75cef221572ca2067c9af8f4d971378
Merge: e792c9c 50abda4
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Feb 6 13:40:27 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 50abda43638e58e995de92021e6ebeb90fa9e8af
Merge: 3b37626 4981f14
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Feb 6 13:39:50 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit 4981f146e9b31030c792982f4d235800ca8d9c48
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Feb 6 13:34:26 2015 +0100

    Patch related to bug#18401543
    
      AUTOTEST FAIL: TESTDICT -L 25 -N DICTRESTART T1
    
    There are (at least) two problems in this test:
    
    1) Randoly we are unable to 'get' a table as
       expected from NdbDictionary, and a NULL pointer
       is returned.
    
    2) This (NULL) Table pointer is used as an argument to
       HugoTransaction C'tor, which then hit an assert
       and coredumps.
    
    This fix address 2), such than we can get down to
    fixing the real problem.

commit 0b0d75e17b3beee17c46b1447cc05169a016e62a
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Feb 6 12:27:06 2015 +0100

    BUG20308276: Don't use same list for master and participant part of takeover processing

commit dc0edac6356bf707945a3b7439679c84ec3b6653
Merge: d8f8bfe e792c9c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Feb 6 12:18:03 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit e792c9c8ec8d6bbe0b50d96a1416ba73ac8d96fb
Merge: a301917 3b37626
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Feb 6 12:17:18 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit 3b376260a8d342029072eafa2978fd10c00037e6
Merge: 6c67243 1dcb2f1
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Feb 6 12:16:00 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit 1dcb2f1bc5aeba5ef302f0f0c883282aacabc666
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Feb 6 12:12:59 2015 +0100

    Fix issue in AutoTest where test are being killed by
    WatchDog during memory allog in startphase 0.
    
    Set config variable 'TimeBetweenWatchDogCheckInitial'
    to 60s, to allow for more slownes in this phase.

commit d8f8bfe45c273fe1168048964916f24696b0bb03
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Feb 6 11:54:31 2015 +0100

    BUG20276462: Fixed spelling error in error code

commit 3c9cba97099f69a2677fcd5b2975965fc7ca6b6d
Author: Mikael Ronström <mikael.ronstrom@oracle.com>
Date:   Fri Feb 6 11:26:03 2015 +0100

    BUG#20276462: Error code ZNODE_FAILURE_ERROR has no treatment in NDB API, use NODE_SHUTDOWN_ERROR instead

commit 1a4b1dd6005e1318f725dda202935eba24b96506
Merge: 7f88762 a301917
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Feb 5 15:47:13 2015 +0100

    merge 7.3 to 7.4

commit a301917b13a0e34e9c67683a2bbc5dec5185a213
Merge: 680c86c 6c67243
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Feb 5 15:41:58 2015 +0100

    merge 7.2 to 7.3

commit 6c672435c6138aa97959718ce369e9aceae26a72
Merge: ae70a55 629b37b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Feb 5 15:38:05 2015 +0100

    merge 7.1 to 7.2

commit 629b37bbd713143ed536767fda96c88700edfd6c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Feb 5 15:34:42 2015 +0100

    WL#8148 NDB: Add git support to Autotest
    
    Remove bzr support and add git support to some scripts used for autotesting.
    
    User need to add git_local_repo and git_remote_repo to their local autotest.conf.

commit 11aada7ccacdaee75f2b88994e426ae48cd1c90e
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Feb 5 12:12:47 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
     - remove MCP tags for MCP_WL1735 which was forgotten when
       rewriting clean_away_stray_files() to use find_files() directly.
     - Now there should be no trace left of MCP_WL1735
    
    (cherry picked from commit 7f88762c563d2cb9a27e6645e12e18beca511e42)
    
    Conflicts:
    	sql/sql_show.h

commit 7f88762c563d2cb9a27e6645e12e18beca511e42
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Thu Feb 5 12:12:47 2015 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
     - remove MCP tags for MCP_WL1735 which was forgotten when
       rewriting clean_away_stray_files() to use find_files() directly.
     - Now there should be no trace left of MCP_WL1735

commit d9890d782b4525607bb8090e2e6c2ac3168ffdf9
Author: Harin Vadodaria <harin.vadodaria@oracle.com>
Date:   Fri Dec 5 12:01:14 2014 +0530

    Bug#18366947 : VALID DATE RANGE OF DUMMY SSL CERTS IS WAY TOO SHORT
    
    Merge branch 'mysql-5.6' into mysql-trunk
    
    (cherry picked from commit d1aa18f3498a1078d86da78348513e55db4b8299)

commit b106eb90d8c05ae73b16a6ae11c256cddb31b35a
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Fri Jan 30 14:36:23 2015 +0100

    Bug#20234994 JOINS ARE NOT PUSHED AFTER WL6042
    
     - The QEP was not properly modified to use the special
       'linked'(aka. pushed) read functions since the order of
       ha_make_pushed_join() and pick_table_access_method() had
       been changed.
     - Create a new Abstract_query_plan function which the handler
       implementation can call to modify the table access method
       used by QEP_TAB.
     - Modify ndbcluster_make_pushed_join() to call the new function
       after the pushed joins has been defined. Thus the
       'linked' read functions will be called when the QEP is executed.
     - Improve the comments describing ha_make_pushed_join() and the
       responsibility of the handler.
     - Remove double call to plan_is_const()
     - Add new ndbcluster.pushed_join test which checks that the
       integration of pushed join functionality works as expected
       when MySQL Server is compiled with the NDB storage engine.
    
    (cherry picked from commit 36056bc2d9c67c54fe85193e6f699226d76b54e2)

commit a504b2c1209204c7aec64775cbaffc13a65ac359
Author: Magnus Blåudd <magnus.blaudd@oracle.com>
Date:   Wed Feb 4 12:12:30 2015 +0100

    Revert "Adapt pushed joins to WL#6042"
    
    This reverts commit aa40e135e331b51575f83e3abf1b18ebcd361ee2.

commit ed9811e099d9e14502c2889ff9176da5c409ff46
Merge: 8c7262d 680c86c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 4 12:17:04 2015 +0100

    Merge branch 'mysql-5.6-cluster-7.3' into mysql-5.6-cluster-7.4

commit 680c86c46bc14f3d03876069e533852f78d853b7
Merge: 01466e3 ae70a55
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 4 12:16:19 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit ae70a55c55e230e03f2075e41d9bee45d9089e9f
Merge: cc34109 1a3a67f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 4 12:14:42 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit 1a3a67f26aa8954bd57104b2661fec0f19b35ba2
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Feb 4 12:08:59 2015 +0100

    Fix for Bug#19053226 AUTOTEST FAIL: TESTSRBANK -N MIX -L 300 -R 15 T1
    
    'Balance' from the ACCOUNT table were read by
    a NdbTransaction.execute(NoCommit), As the optional
    argument 'AbortOnCommit' was not specified, we did
    not always detect failures to read a fresh balance.
    Thus later ACCOUNT updates happened with an incorrect
    current 'balance'.

commit 8c7262d4cdf082cd596e2f5b3a6f5706f42d436a
Merge: 7dea1b7 01466e3
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Feb 3 20:24:15 2015 +0100

    merge 7.3 to 7.4

commit 01466e3a32a497b7bb67d73e3ce30c52b1f62ba5
Merge: 5085c85 cc34109
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Feb 3 20:22:43 2015 +0100

    Merge branch 'mysql-5.5-cluster-7.2' into mysql-5.6-cluster-7.3

commit cc34109ab901e3be056bbdcbc08c86f5a1cdae47
Merge: 6f9f872 df3416a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Feb 3 20:21:51 2015 +0100

    Merge branch 'mysql-5.1-telco-7.1' into mysql-5.5-cluster-7.2

commit df3416a6efb7b3cfc5e4152a5f7f31bee62f0ed0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Feb 3 20:19:55 2015 +0100

    Bug#17579998 INVALID SUB_GCP_COMPLETE_REP DUE TO SUMA RESEND DATA FOR ALREADY COMPLETE EPOCH
    
    Post push fix extending printouts on crash due to invalid
    SUB_GCP_COMPLETE_REP for easier debugging.

commit 7dea1b7c88f78b540ef0f597780d116e24f2c8e7
Merge: 33defd5 5085c85
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Feb 3 16:31:55 2015 +0100

    null merge 7.3 to 7.4

commit 5085c85e6d846269eda225f6d32040c07585ee49
Merge: f79cb0e 6f9f872
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Feb 3 16:29:50 2015 +0100

    null merge 7.2 to 7.3

commit 33defd599fe4fce03d261c1fd4c43f596bc01698
Merge: 0b53e17 f79cb0e
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Feb 3 16:22:29 2015 +0100

    merge 5.6.23 via 7.3 into 7.4

commit f79cb0e913f2fe18eef3888d9c9b4381ba686ef7
Merge: 6610b29 845728c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Feb 3 16:01:17 2015 +0100

    merge 5.6.23 into 7.3

commit 6f9f87206c8c1bdb85867b89e76b07f15b77b8d9
Merge: 356a849 5544d6a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Feb 3 15:56:53 2015 +0100

    merge 5.5.42 into 7.2

commit 0b53e179ad1732b2a53bd2359f2d8d77b0b8ac39
Merge: 417b083 6610b29
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Feb 3 02:25:55 2015 +0530

    Merge 7.3->7.4

commit 6610b297bf3780584b32ba27e2d771baa70201ef
Merge: 581052a 356a849
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Feb 3 02:22:19 2015 +0530

    Merge 7.2->7.3

commit 356a849bb03f5c0879ddc466b5f76c12fca40625
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Feb 3 02:20:21 2015 +0530

    BUG#14798022 : "CHAR (0)" DATATYPE CAUSING ERROR 1296 (HY000)
    PART III
    
    Fixes regression caused by the original patch on SPARC machines.
    The actual patch gave wrong results when the condition for the char(0)
    field was pushed down to ndbd during select queries on SPARC machines.
    Root Cause : bit fields are not supported in condition pushdown.
    Since char(0) is treated as bit internally, the error occured.
    This patch fixes that by disabling char(0) condition push down.
    Changes:
      - ndb_serialize_cond now disallows pushing char(0) conditions
      - added test case

commit 417b08334b42a1f0aa29295fb71af29246f28d6e
Merge: e8c7739 581052a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Feb 2 16:20:27 2015 +0100

    merge 7.3 to 7.4

commit 581052a8bc41eb359034892b21214b985d6d4624
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Feb 2 16:18:52 2015 +0100

    Bug#20410087 GCOV COVERAGE DATA FOR NDB KERNEL IS MISSING
    
    In MySQL 5.6 the define HAVE_gcov was changed to HAVE_GCOV but
    NDB code was never updated with that change.
    
    This implied that kernel source was reported with 0% coverage.

commit e8c773909c134865822196705d35eb55bda95064
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Feb 2 16:16:31 2015 +0100

    WL#8294 NDB: turn on signal checksum as default
    
    Interim patch turning on signal checksum in testing to verify that it works.
    Patch should be reverted once signal checksum are set on as default.

commit 4af307dec0f8610974988b88f5809ca801f25a4c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Feb 2 13:46:41 2015 +0100

    Bug#20423960 REMOVE TESTING OF NO LONGER USED EMPTY_LCP_REQ/CONF.
    
    Post push fix removing compiler warnings:
    
    missing braces around initializer for '<anonymous struct>'
    missing initializer for member '<anonymous struct>::obsolete'

commit 30fb2586a390e14cb134ad62071360f6baa16bd9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Feb 2 11:00:21 2015 +0100

    Bug#20423960 REMOVE TESTING OF NO LONGER USED EMPTY_LCP_REQ/CONF.
    
    Since 7.4.3 (Bug#19795217) EMPTY_LCP protocol is no longer in use.
    
    This patch rewrites some test cases depending on EMPTY_LCP
    protocol, now testing that EMPTY_LCP protocol is not in use.

commit eb225698ef5245c2350613e4b7ffd5beb1df07c3
Merge: 9ec3198 eba8f05
Author: Sreedhar S <sreedhar.sreedhargadda@oracle.com>
Date:   Mon Feb 2 09:20:40 2015 +0100

    Upmerge of the 7.1.34 build

commit eba8f057871a6ae0c770401727243ca67af90487
Merge: 20ab08d 0638f17
Author: Sreedhar S <sreedhar.sreedhargadda@oracle.com>
Date:   Mon Feb 2 09:14:00 2015 +0100

    Upmerge of the 7.1.34 build

commit 0638f17b8a248550961cc4de688c620a6e9e3cfc
Merge: 0240850 7a07cbb
Author: Sreedhar S <sreedhar.sreedhargadda@oracle.com>
Date:   Mon Feb 2 08:27:55 2015 +0100

    Upmerge of the 7.1.34 build

commit 7a07cbb746b147f943dcc5173eb7b83c0ef732b4
Merge: 7ebef76 4fa2b5f
Author: sreedhar.sreedhargadda@oracle.com <>
Date:   Mon Feb 2 08:08:31 2015 +0100

    Merge from mysql-cluster-7.1.34-release

commit 9ec3198de2e0a03839b03f53bacf27e98a1c362a
Merge: 69cc123 20ab08d
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Jan 30 21:09:36 2015 +0530

    null merge 7.3 -> 7.4

commit 20ab08d912431a7d1e093cc84587ac9d510b7dcd
Merge: 1360e55 0240850
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Jan 30 21:05:47 2015 +0530

    null merge 7.2 -> 7.3

commit 0240850768afddf4b91a74eec5dd162db1939f40
Merge: f9affe2 7ebef76
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Jan 30 21:02:01 2015 +0530

    null merge 7.1 -> 7.2

commit 7ebef7650a6ef5d9b9f89dffc1df307899b3bd13
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Jan 30 20:50:53 2015 +0530

    Disabling mtr tests on 7.1 which fail because SSL certificates have
    expired.
    
    For 7.2 and up, tests do not need to be disabled. Valid certificates
    have been added by cherry-picking the fix from mysql-5.5.
    Bug#18366947 : VALID DATE RANGE OF DUMMY SSL CERTS IS WAY TOO SHORT

commit 69cc123ae040ef8237bab5775d84de84d0580c87
Merge: 94b84e3 1360e55
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Jan 30 11:29:44 2015 +0530

    merge 7.3 -> 7.4

commit 1360e557af7f220ea42a4b0de8211b1ecc46bd42
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Jan 30 11:27:21 2015 +0530

    Re-recording mtr test result after ssl certificate update

commit 94b84e320903ff7a4fcd83ed3ae1e3f6d5d08c22
Merge: 1bbf2cf 1448b9e
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Jan 29 18:21:09 2015 +0530

    merge 7.3 -> 7.4

commit 1448b9e4bd7c9385e1122a65d0ac2b87fca7ed1a
Merge: 3b8e808 f9affe2
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Jan 29 18:08:55 2015 +0530

    merge 7.2 -> 7.3

commit f9affe29bea3f430f8a96dfcb8cf9b23401a72a0
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Thu Jan 29 18:03:23 2015 +0530

    Bug#18366947 : VALID DATE RANGE OF DUMMY SSL CERTS IS WAY TOO SHORT
    Generated new certificates with validity upto 2029.
    
    Cherry-picked from mysql-5.5 hash:5063f7cd216c8b42d3f4366f127b44583753c78d

commit 1bbf2cfd243b432ba9c58486760d448a5103b53e
Merge: 5db42fc 3b8e808
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 29 10:26:35 2015 +0100

    Merge 7.3 -> 7.4

commit 3b8e8087c5670a5b866ab9dd455d11548caa5784
Merge: b36a9e1 1c5a635
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 29 10:23:11 2015 +0100

    Merge 7.2->7.3

commit 1c5a63509c286b654920e2f4c578d8a2e985dc14
Merge: 11875ba 73dd271
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 29 10:20:29 2015 +0100

    Merge 7.1 -> 7.2

commit 73dd2716e2f6a7b9509bc9b41032c64631747fee
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 29 10:18:42 2015 +0100

    Fix test client failure for AutoTest 'testNodeRestart -n ClusterSplitLatency'
    
    'master' was updated to 'next master' before it was inserted into
    'nodeIdToDynamicIndex'.
    
    Also added missing error check for different Restarter methods for
    this test.

commit 5db42fcd802c523801b5d1e29a830f8b23b99808
Merge: 997ff50 b36a9e1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jan 28 14:07:02 2015 +0100

    merge 7.3 to 7.4

commit b36a9e129b0e34aa3fa6b1523f8d2d96d9f905e0
Merge: 8fcd8e4 11875ba
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jan 28 14:03:38 2015 +0100

    merge 7.2 to 7.3

commit 11875ba3fd1c01edcd9233b9f7af41fa4f186b9e
Merge: ebe73e7 a61cfb3
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jan 28 14:02:25 2015 +0100

    merge 7.1 to 7.2

commit 997ff50198af497c1b35793465df04ad085778a8
Merge: 138e92b 8fcd8e4
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Jan 28 17:44:40 2015 +0530

    merge 7.3 -> 7.4

commit 8fcd8e415005e916e1c01aad5268984cd6b71919
Merge: 7b0e012 ebe73e7
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Jan 28 17:32:43 2015 +0530

    merge 7.2 -> 7.3

commit ebe73e724caddf43464ced6b68d7b91dc098ed36
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Jan 28 17:28:53 2015 +0530

    Bug#19785977:  CRASH IN NDBINDEXSCANOPERATION::SCANINDEXIMPL
    
    When a transaction is started from a cluster connection, Table and
    Index schema objects may be passed to the transaction for use. If
    these schema objects have been acquired from some other connection,
    they can be deleted at any point by the deletion or disconnection
    of the owning connection. This can leave a connection with invalid
    schema objects, which cause a core when dereferenced.
    
    Added a check to optionally detect sharing of schema objects between
    connections while passing a schema object to a transaction. If the
    check is enabled, the schema objects of the same names are acquired
    from the connection. These are compared to the schema objects passed
    to the transaction. If they do not match, an error is returned.

commit a61cfb328f761f2dc6b74d59c0f4acbbaaeb2a0a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Jan 27 20:15:44 2015 +0100

    Bug#20423898 BAD TEST TESTNODERESTART -N LCPTAKEOVER CAN NOT FAIL.
    
    Unless some node crashed unexpectedly the test testNodeRestart -n LCPTakeOver could not fail.
    
    This patch adds controls that cluster nodes are restarted as expected.

commit 138e92b95941e855fbd7b83acb30257c4577eb1e
Merge: 6e70f43 7b0e012
Author: Kent Boortz <kent.boortz@oracle.com>
Date:   Mon Jan 26 11:24:14 2015 +0100

    Upmerge of the 7.2.19 build

commit 7b0e012be4aefd27c65f77030aa7553fd8243dba
Merge: db943a2 afc1552
Author: Kent Boortz <kent.boortz@oracle.com>
Date:   Mon Jan 26 11:19:05 2015 +0100

    Upmerge of the 7.2.19 build

commit afc1552fc6b06542c3537612133a6dab92a7afa8
Merge: 719275d 2f09e84
Author: kent.boortz@oracle.com <>
Date:   Mon Jan 26 01:51:45 2015 +0100

    Merge from mysql-cluster-7.2.19-release

commit 6e70f434dae110a9fbfeca7e38ac7090db5cd72f
Merge: a2c99eb db943a2
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 23 17:19:35 2015 +0000

    Merge 7.3->7.4

commit db943a2fdc1c8bd78bf070bb462f1d45a9347ab2
Merge: 7708839 719275d
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 23 17:13:18 2015 +0000

    Merge 7.2->7.3

commit 719275dfa31f96b85f4bc9e507b48a039609f8a4
Merge: a280ef3 1259b31
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 23 17:01:39 2015 +0000

    Merge 7.1->7.2

commit 1259b31caed0f6e1df23b754d5648e40b7372b47
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 23 16:50:02 2015 +0000

    Improve ndb_rpl_circular_2ch_rep_status reliability.
    
    Testcase synchronisation issue - needed to wait for slave-applied
    changes to be binlogged before replication cutover.
    
    Existing get_ndb_epochs.inc and wait_for_ndb_committed_to_binlog.inc
    backported and hacked to work in 7.1 to achieve this.

commit a2c99eb5d8a3a2f5e4f4beb46f5a09a8f66438e0
Merge: f267606 7708839
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 23 11:35:23 2015 +0000

    Merge 7.3->7.4

commit 770883983239572fd8d86b6aed3d77bc6b8fe716
Merge: 5c4666a a280ef3
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 23 11:15:28 2015 +0000

    Merge 7.2->7.3

commit a280ef3da48083f7bc8f7ed9a6b71127b337d8ef
Merge: 04458fb 4b36c95
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 23 11:11:12 2015 +0000

    Merge 7.1->7.2

commit 4b36c95dcab3d0c9176a5f1f7755c18bd04a780f
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 23 11:07:33 2015 +0000

    Test was random failing due to matching random binlog junk.
    Make false matches less likely.

commit f2676062c8b50fc0c21bbb537ffacdfc00098f8d
Merge: f73a213 5c4666a
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 18:14:05 2015 +0000

    Merge 7.3->7.4

commit 5c4666ad09d1895663130185486f21248ad76d8e
Merge: d33046d 04458fb
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 18:10:49 2015 +0000

    Merge 7.2->7.3

commit 04458fbe6f93baecbb98a3f701b77a2b55f0c83b
Merge: e82a119 001f68d
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 18:05:47 2015 +0000

    Merge 7.1->7.2

commit 001f68d6d249dd09b48e3848086aad6dcbbbdac8
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 18:02:23 2015 +0000

    A little brute force to understand the issues with ndb_rpl_circular_2ch_rep_status

commit f73a2133525135727f5ac2024df61fe4943e59e5
Merge: aadccf7 d33046d
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jan 22 17:53:41 2015 +0100

    merge 7.3 to 7.4

commit d33046d5a49f67d747b9d24c0e77dddf30d45fd9
Merge: 2a2a2ef e82a119
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jan 22 17:50:55 2015 +0100

    merge 7.2 to 7.3

commit e82a119087524719b3a91326699a747935809ab5
Merge: 98050c9 7b849d5
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jan 22 17:36:23 2015 +0100

    merge 7.1 to 7.2

commit 7b849d5cd0cd962401e2b6628ff11540591d50c9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jan 22 17:34:31 2015 +0100

    Bug#17579998 INVALID SUB_GCP_COMPLETE_REP DUE TO SUMA RESEND DATA FOR ALREADY COMPLETE EPOCH
    
    Post push fix of regression introduced in previous patch.
    
    When a nodegroup was dropped, the SUB_GCP_COMPLETE_REP signals got
    a mismatch betweeen number of buckets to report and list of bucket
    identifiers in signal.
    
    This was due to that buckets dropped during the preparation of
    signal was not included in list of identifiers since it was no
    longer an active bucket.  A temporary bitmap keeping track of
    dropped buckets previously active was introduced and used to
    create the list of identifiers in signal.

commit aadccf7c40a254e04018e7b5e181346f70b82b6c
Merge: de7e9f8 2a2a2ef
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 15:59:24 2015 +0000

    Merge 7.3->7.4

commit 2a2a2ef2f12d4223958824bc3321dba5ed5d955d
Merge: ce1ca08 98050c9
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 15:48:16 2015 +0000

    Merge 7.2->7.3

commit 98050c915d9221516721709f511ff9e061f5e607
Merge: a4d4dda 3e475c6
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 15:42:08 2015 +0000

    Merge 7.1->7.2

commit 3e475c6a152c5973e3875a85afede06add10a55d
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 15:36:11 2015 +0000

    Experimental experiment with experimental status.

commit 98bdbde5c0215a71a083254e4810cc00cc9926e7
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 12:19:11 2015 +0000

    A more standard variant of !valgrind.

commit de7e9f837bb82f858a44d1de315ae056102bd28c
Merge: 2a66759 ce1ca08
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Jan 22 17:48:50 2015 +0530

    Merge 7.3->7.4

commit ce1ca084c9f8ee7fd67859e76df3751f4f239557
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Jan 22 17:46:23 2015 +0530

    BUG#19667566 :
    PARTITION BY WITH COMMENT LEADS TO MYSQL SERVER REBOOT IN MYSQL CLUSTER
    
    If the alter table query has comments and partition clause, it throws
    segfault and crashes the mysqld server.
    
    The server calls the handler's can_switch_engines() function to check if
    switching engines is allowed when there is an alter table switch engine
    or alter partition query. But NDB has native partitioning, so the handler
    function has to read into server data(esp create_info) to make decision. But
    the value of create_info is sometimes null since the server assigns value to
    a local copy and the handler tries to read from the original copy in lex
    which is still null. The bug is fixed by adding a null check to create_info.
    Changes :
      - added null check for create_info in ha_ndbcluster::can_switch_engines()
        and removed few redunant checks
      - added test cases to test the fix

commit 2a66759852bbf74e7c4c128a740e7640554c3b48
Merge: 8744d17 a5df25a
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 10:15:17 2015 +0000

    Merge 7.3->7.4

commit a5df25a14a884bffb64f9e4fcdc91d4fb9a2524d
Merge: 83da330 a4d4dda
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 10:07:58 2015 +0000

    Merge 7.2->7.3

commit a4d4ddab1a506c88377a36599195daaecbe69350
Merge: 8ca682e e7d6d32
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 10:02:49 2015 +0000

    Merge 7.1->7.2

commit e7d6d32383667029b53d1c82df66a19e550ad33b
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 09:36:55 2015 +0000

    Sacrifice Valgrind run to improve ndb_rpl_slave_binlog_index reliability.

commit 8744d178893f10554e9a040950a2364e40170851
Merge: f7b7b3c 83da330
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 22 09:49:52 2015 +0100

    Null merge

commit f7b7b3c5494a13d89de44d22229a1ca6dfdc1619
Merge: 9b48f52 4bd4799
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jan 22 09:51:42 2015 +0100

    merge 7.3 to 7.4

commit 83da330d4321ba62f855466c35041993a9ee8c37
Merge: 4bd4799 8ca682e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 22 09:48:46 2015 +0100

    Null merge

commit 4bd4799df61af57126e725343b095579e2f81a8a
Merge: 2fbfd22 527152c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jan 22 09:48:13 2015 +0100

    merge 7.2 to 7.3

commit 8ca682ea486361b4c3094d028d219fc42136d553
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Jan 22 09:45:27 2015 +0100

    Backport of fix for bug#16209645
    
        MTR NDB_WL946.PRE/POST.TEST CRASHES MYSQLD ON SOLARIS/SPARC
    
    Disable these test on big endian platforms.
    
    This test problem was previously only fixed 7.3-> as there were no
    observation of wl946*.test failures on 7.2. However it turns out
    that the 7.2_release tests runs on Sparc, where this test fails.

commit 527152c7a2dba795360f149a23566c65db887a2a
Merge: fd54c7d 0b0fb66
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jan 22 09:44:41 2015 +0100

    merge 7.2 to 7.1

commit 0b0fb66f7560c3a87691433798b72f41891107bd
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Jan 22 09:34:49 2015 +0100

    Bug#17579998 TEST 'TESTNODERESTART -N GCP -L 1 T1' FAILS DUE TO MYSQLD ABORTED
    
    When a data node fails or being restarted, the other nodes in the
    same nodegroup will resend data to subscribers that they "believe"
    that the failed node have not already sent.
    
    Normally when a data node (suma block) have sent all data for an epoch
    it is responsible for, it will send a SUB_GCP_COMPLETE_REP with a count
    to all subscribers.  When the subscribers receives SUB_GCP_COMPLETE_REP
    it reply with a SUB_GCP_COMPLETE_ACK.  Then Suma have received the ack
    from all subscribers it will distribute it to the other nodes in same
    nodegroup so they will know that that data need no resend in case the
    node fail.  If a node fail between all subscribers sent ack but before
    all other nodes in nodegroup received the ack from failing node, data
    for some epoch may be sent twice and reported complete twice.  In this
    cases a crash as in bug may occur.
    
    This patch add a list of identifiers for which buckets that are reported
    in SUB_GCP_COMPLETE_ACK in addition to the count.  The receiver can now
    use this list of identifiers to keep track of which buckets are completed
    and detect when an already completed bucket are reported a second time, and
    can ignore that signal.
    
    This patch also introduces the concept of Subscriptions Data Streams to hide
    the details of Suma buckets in ndbapi.

commit 9b48f52b6d305761a51f3bee70dc8e81b21dd937
Merge: 9a4eec4 2fbfd22
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 00:24:56 2015 +0000

    Merge 7.3->7.4

commit 2fbfd22669ea5a3c129eb186c971668d0b0f2bd1
Merge: 59a2dfa fd54c7d
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 22 00:17:12 2015 +0000

    Merge 7.2->7.3

commit fd54c7d480c8085dd73dce515a2386cc6c6fbe3d
Merge: c3b953f 0796a45
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jan 21 23:55:03 2015 +0000

    Merge 7.1->7.2

commit 0796a4597f805bc3e655572d618ecab02494b70f
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jan 21 23:26:17 2015 +0000

    ndb_rpl_slave_binlog_index.test
    
    Reduce Binlog size further in attempt to avoid
    Valgrind target timeouts.

commit 9a4eec44d892bd21afe9b59810d672bc81b8a63e
Merge: dca8a48 59a2dfa
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 13:23:56 2015 +0100

    Merge 7.3 -> 7.4

commit 59a2dfaefcf143828dbc050fe31d0624985960fc
Merge: 1189437 c3b953f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 13:20:49 2015 +0100

    Merge 7.2 -> 7.3

commit c3b953fade3c809926065be3ba6a4df329d2ecec
Merge: 4b6d7c8 a46e4b6
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 13:15:21 2015 +0100

    Merge 7.1 -> 7.2

commit a46e4b6a801940a2474c41230e53202a5c0dc5a4
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 13:11:12 2015 +0100

    ndb_types.test contained binary raw data from 'bit' and 'binary' columns.
    
    Such data is displayed in an endian dependent format, which caused
    this test to fail on Sparc.
    
    Patch format these columns specifying a 'bit' or 'hex' format.

commit dca8a48e571cf7238d954e7eef452b1581d982bd
Merge: 54d9dd7 1189437
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Wed Jan 21 12:56:32 2015 +0100

    Upmerge from 7.3 after merge of 7.3.8

commit 11894377294e032eae34367efa80773d62059add
Merge: e1e87ce 4ef7d907
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Wed Jan 21 12:51:53 2015 +0100

    Merge from mysql-cluster-7.3.8-release

commit 54d9dd74771c1a5791e4ae34dfd9c62aae098941
Merge: 579ce0c e1e87ce
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jan 21 11:00:46 2015 +0000

    Merge 7.3->7.4

commit e1e87cec826492ec15d1a7309aedbf65cc209efd
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Jan 21 10:44:39 2015 +0000

     Bug #20372169 	NDB : INCORRECT STATUS VARIABLES NDB_LAST_COMMIT_EPOCH_[SERVER|SESSION]
    
    Use long long to store epochs which are 64bit.

commit 579ce0c33099a01d0b57ad3e40c0eae4281957ef
Merge: 811fd42 10dbbdc
Author: sreedhar.sreedhargadda@oracle.com <>
Date:   Wed Jan 21 11:28:28 2015 +0100

    Merge from mysql-cluster-7.4.3-release

commit 811fd4226d9f7c5c9e541fdef0a8efcb3e9ebe85
Merge: 83bf3d2 71a0f6a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 10:10:56 2015 +0100

    Merge 7.3 -> 7.4

commit 71a0f6ac7dc5cf00cee93d8cee8bd00c0fe81f9f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 10:09:39 2015 +0100

    Fix of uncorrect merge (7.2 -> 7.3) of regression fix for bug#19524096

commit 2f09e8480995e0a1727efc542943eab0842c64f6
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 09:39:21 2015 +0100

    Fix regression introduced by fix for bug#19524096.
    
    That fix caused ndb_global_schema_lock_error to fail as mysqld
    ended up in a deadlock between TransporterFacade and ClusterMgr mutex
    in ClusterMgr::is_cluster_completely_unavailable(). There
    likely are other deadlock scenarios also.
    
    The fix is to remove the Guard locking clusterMgrThreadMutex.
    The rational and (lack of) correctness for this is discussed in
    a mail pasted below.
    
    There are also a few small improvements to ::is_cluster_completely_unavailable()
    
    1. Dont copy entire 'trp_node' struct but read it by refference instead.
    
    2. Replace usage of 'm_impl->m_transporter_facade' with 'getTransporter()'
       as this is the pattern used elsewhere in this code block.
    
    
    --------------- Pasted mail with some background ----------------
    
    Subject: (Dead-) locking of ClusterMgr::theNodes[] structures
    
    Hi
    
    Writing this as a note to myself and others after having analyzed
    the failure of ndb_global_schema_lock_error.test. That test
    timed out as mysqld ended up in a deadlock between
    ClusterMgr::clusterMgrThreadMutex and TransporterFacade::theMutexPtr
    
    ClusterMgr maintains node state & info in theNodes[]. From external
    components, this info is access through ClusterMgr::getNodeInfo().
    theNodes[] are only updated from within ClustMgr, all external access
    is read only.
    
    Updates to theNodes[] are partly done from withing several ClustMgr::exec<foo>
    methods, and partly from ClusterMgr::reportConnected() / ::reportDisconnected().
    All updates seems to be done with ClusterMgr::clusterMgrThreadMutex locked.
    
    Several ClusterMgr methods are available for inspecting node status
    from other components, these all use information from theNodes[].
    Some of the more commonly used of these methods are:
    
     - TransporterFacade::get_node_alive(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - TransporterFacade::get_an_alive_node() (Implemented on top of ::get_node_alive(n))
     - NdbImpl::get_node_stopping(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - NdbImpl::get_node_alive(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - NdbImpl::get<foo> ...A lot more node state getters....
    
    The locking schema used to provide atomicity of theNodes[] for the above
    methods are .... mixed, and not really defined at all as far as I can tell.
    Some examples:
    
    - NdbDictInterface::dictSignal(), NdbDictInterface::forceGCPWait() & NdbDictInterface::listObjects():
      Before calling get_node_alive() / ::get_an_alive_node(), a PollGuard is set.
      PollGuard calls trp_client::start_poll() which is different pre/post 7.3:
      - Pre 7.3, trp_client::start_poll
                  -> TransporterFacade::start_poll -
                    -> lock TransporterFacade mutex (a global mutex)
    
       - 7.3 -> trp_client::start_poll, lock trp_client m_mutex.
                  -> TransporterFacade::start_poll ...no locking, and mutex gone in this version
    
     Observations: There are no locking of ClusterMgr::clusterMgrThreadMutex here,
                   neither pre/post 7.3 .
    
    - Ndb_cluster_connection::wait_until_ready(),
      Ndb_cluster_connection_impl::get_next_alive_node()
      Ndb_cluster_connection::get_no_ready():
      These all sets the TransporterFacadeFurthermore mutex.
    
    - Ndb::sendRecSignal
      Sets a PollGuard as above, which either lock the TransporterFacade or
      the trp_client mutex
    
    - Ndb::sendPrepTrans()
      Documents in comments that TransporterFacade mutex should be locked prior to call
    
    So this has become a total mess. It might seem like that it prior
    to 7.3 was the intention that TransporterFacade mutex should be held
    when accessing theNodes[], or any methods that access it itself.
    After 7.3 a mix of TransporterFacade and Trp_client mutex is effectively used
    
    Updating looks like it sets the ClusterMgr mutex to protect these, which will
    of course not work as the reader doesnt set this mutex. However, it could be
    that all updates happens at places where it is called from the TransporterFacade.
    Here we *used to* hold the TransporterFacade mutex prior to 7.3, which would make
    some sense. This all needs more investigation .... and some documentation in the code...
    In the current state there certainly are no effective concurrency protection of
    the node state info  in 7.3+ , It could be that it work in 7.1 & 7.2
    
    On top of this the fix for bug#19524096 introduced
    ClusterMgr::is_cluster_completely_unavailable() which is also based on
    the nodes status available in theNodes[]. Probably in good faith,
    backed by that updates of theNodes[] was protected with clusterMgrThreadMutex,
    that method grabs that lock before accessing theNodes[] info.
    
    Actually this method is *the only* node state getters which
    does any explicit locking. ... and it was doomed to fail as this
    was completely untested territory. See other mail about how
    it could deadlock with the TranporterFacade mutex.
    
    Sidenote: any other node state getters attempting to follow the
    same locking pattern had likely deadlocked the same way.
    
    ::is_cluster_completely_unavailable() is called from within code
    which also calls ::get_node_alive() and ::get_an_alive_node(),
    without using any locking protection for these. Based on this I will
    propose a patch for the bug#19524096 regression, which simply
    removes the mutex locking from ::is_cluster_completely_unavailable().
    
    This will not be entirely kosher based on how the shared node state
    structs should have been mutex protected. However, based on my discussion
    above, there are already so many violations in this area that a single
    more should not matter. A bigger effort should be taken to clean up this entirely.

commit 4fa2b5fa491363454942682c09bced5323b6bb93
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 09:37:53 2015 +0100

    Fix regression introduced by fix for bug#19524096.
    
    That fix caused ndb_global_schema_lock_error to fail as mysqld
    ended up in a deadlock between TransporterFacade and ClusterMgr mutex
    in ClusterMgr::is_cluster_completely_unavailable(). There
    likely are other deadlock scenarios also.
    
    The fix is to remove the Guard locking clusterMgrThreadMutex.
    The rational and (lack of) correctness for this is discussed in
    a mail pasted below.
    
    There are also a few small improvements to ::is_cluster_completely_unavailable()
    
    1. Dont copy entire 'trp_node' struct but read it by refference instead.
    
    2. Replace usage of 'm_impl->m_transporter_facade' with 'getTransporter()'
       as this is the pattern used elsewhere in this code block.
    
    
    --------------- Pasted mail with some background ----------------
    
    Subject: (Dead-) locking of ClusterMgr::theNodes[] structures
    
    Hi
    
    Writing this as a note to myself and others after having analyzed
    the failure of ndb_global_schema_lock_error.test. That test
    timed out as mysqld ended up in a deadlock between
    ClusterMgr::clusterMgrThreadMutex and TransporterFacade::theMutexPtr
    
    ClusterMgr maintains node state & info in theNodes[]. From external
    components, this info is access through ClusterMgr::getNodeInfo().
    theNodes[] are only updated from within ClustMgr, all external access
    is read only.
    
    Updates to theNodes[] are partly done from withing several ClustMgr::exec<foo>
    methods, and partly from ClusterMgr::reportConnected() / ::reportDisconnected().
    All updates seems to be done with ClusterMgr::clusterMgrThreadMutex locked.
    
    Several ClusterMgr methods are available for inspecting node status
    from other components, these all use information from theNodes[].
    Some of the more commonly used of these methods are:
    
     - TransporterFacade::get_node_alive(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - TransporterFacade::get_an_alive_node() (Implemented on top of ::get_node_alive(n))
     - NdbImpl::get_node_stopping(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - NdbImpl::get_node_alive(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - NdbImpl::get<foo> ...A lot more node state getters....
    
    The locking schema used to provide atomicity of theNodes[] for the above
    methods are .... mixed, and not really defined at all as far as I can tell.
    Some examples:
    
    - NdbDictInterface::dictSignal(), NdbDictInterface::forceGCPWait() & NdbDictInterface::listObjects():
      Before calling get_node_alive() / ::get_an_alive_node(), a PollGuard is set.
      PollGuard calls trp_client::start_poll() which is different pre/post 7.3:
      - Pre 7.3, trp_client::start_poll
                  -> TransporterFacade::start_poll -
                    -> lock TransporterFacade mutex (a global mutex)
    
       - 7.3 -> trp_client::start_poll, lock trp_client m_mutex.
                  -> TransporterFacade::start_poll ...no locking, and mutex gone in this version
    
     Observations: There are no locking of ClusterMgr::clusterMgrThreadMutex here,
                   neither pre/post 7.3 .
    
    - Ndb_cluster_connection::wait_until_ready(),
      Ndb_cluster_connection_impl::get_next_alive_node()
      Ndb_cluster_connection::get_no_ready():
      These all sets the TransporterFacadeFurthermore mutex.
    
    - Ndb::sendRecSignal
      Sets a PollGuard as above, which either lock the TransporterFacade or
      the trp_client mutex
    
    - Ndb::sendPrepTrans()
      Documents in comments that TransporterFacade mutex should be locked prior to call
    
    So this has become a total mess. It might seem like that it prior
    to 7.3 was the intention that TransporterFacade mutex should be held
    when accessing theNodes[], or any methods that access it itself.
    After 7.3 a mix of TransporterFacade and Trp_client mutex is effectively used
    
    Updating looks like it sets the ClusterMgr mutex to protect these, which will
    of course not work as the reader doesnt set this mutex. However, it could be
    that all updates happens at places where it is called from the TransporterFacade.
    Here we *used to* hold the TransporterFacade mutex prior to 7.3, which would make
    some sense. This all needs more investigation .... and some documentation in the code...
    In the current state there certainly are no effective concurrency protection of
    the node state info  in 7.3+ , It could be that it work in 7.1 & 7.2
    
    On top of this the fix for bug#19524096 introduced
    ClusterMgr::is_cluster_completely_unavailable() which is also based on
    the nodes status available in theNodes[]. Probably in good faith,
    backed by that updates of theNodes[] was protected with clusterMgrThreadMutex,
    that method grabs that lock before accessing theNodes[] info.
    
    Actually this method is *the only* node state getters which
    does any explicit locking. ... and it was doomed to fail as this
    was completely untested territory. See other mail about how
    it could deadlock with the TranporterFacade mutex.
    
    Sidenote: any other node state getters attempting to follow the
    same locking pattern had likely deadlocked the same way.
    
    ::is_cluster_completely_unavailable() is called from within code
    which also calls ::get_node_alive() and ::get_an_alive_node(),
    without using any locking protection for these. Based on this I will
    propose a patch for the bug#19524096 regression, which simply
    removes the mutex locking from ::is_cluster_completely_unavailable().
    
    This will not be entirely kosher based on how the shared node state
    structs should have been mutex protected. However, based on my discussion
    above, there are already so many violations in this area that a single
    more should not matter. A bigger effort should be taken to clean up this entirely.

commit 83bf3d25dd46b58633e6c7794edfd7dc0794f85f
Merge: 5bbeeaf e75e47a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 09:34:39 2015 +0100

    Merge 7.3 -> 7.4

commit e75e47aed302c6e10679c98018f82cc4c8c66025
Merge: e4ad9e3 4b6d7c8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 09:27:38 2015 +0100

    Merge 7.2 -> 7.3

commit 4b6d7c8e1b7b7da2749bba739cffe86cf7e39139
Merge: bc64175 7381bbb
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 09:21:54 2015 +0100

    Fix regression introduced by fix for bug#bug#19524096.
    
    That fix caused ndb_global_schema_lock_error to fail as mysqld
    ended up in a deadlock between TransporterFacade and ClusterMgr mutex
    in ClusterMgr::is_cluster_completely_unavailable(). There
    likely are other deadlock scenarios also.
    
    The fix is to simply remove the Guard locking clusterMgrThreadMutex.
    The rational and (lack of) correctness for this is discussed in
    a mail pasted below.
    
    There are also a few small improvements to ::is_cluster_completely_unavailable()
    
    1. Don't copy entire 'trp_node' struct but read it by refference instead.
    
    2. Replace usage of 'm_impl->m_transporter_facade' with 'getTransporter()'
       as this is the pattern used elsewhere in this code block.
    
    Intend to push this 7.1 -> even if commiting to 7.2 now.
    
    
    
    --------------- Pasted mail with some background ----------------
    
    Subject: (Dead-) locking of ClusterMgr::theNodes[] structures
    
    Hi
    
    Writing this as note to myself and others after having analyzed
    the failure of ndb_global_schema_lock_error.test. That test
    timed out as mysqld ended up in a deadlock between
    ClusterMgr::clusterMgrThreadMutex and TransporterFacade::theMutexPtr
    
    ClusterMgr maintains node state & info in theNodes[]. From external
    components, this info is access through ClusterMgr::getNodeInfo().
    theNodes[] are only updated from within ClustMgr, all external access
    is read only.
    
    Updates to theNodes[] are partly done from withing several ClustMgr::exec<foo>
    methods, and partly from ClusterMgr::reportConnected() / ::reportDisconnected().
    All updates seems to be done with ClusterMgr::clusterMgrThreadMutex locked.
    
    Several ClusterMgr methods are available for inspecting node status
    from other components, these all use information from theNodes[].
    Some of the more commonly used of these methods are:
    
     - TransporterFacade::get_node_alive(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - TransporterFacade::get_an_alive_node() (Implemented on top of ::get_node_alive(n))
     - NdbImpl::get_node_stopping(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - NdbImpl::get_node_alive(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - NdbImpl::get<foo> ...A lot more node state getters....
    
    
    The locking schema used to provide atomicity of theNodes[] for the above
    methods are .... mixed, and not really defined at all as far as I can tell.
    Some examples:
    
    - NdbDictInterface::dictSignal(), NdbDictInterface::forceGCPWait() & NdbDictInterface::listObjects():
      Before calling get_node_alive() / ::get_an_alive_node(), a PollGuard is set.
      PollGuard calls trp_client::start_poll() which is different pre/post 7.3:
      - Pre 7.3, trp_client::start_poll
                 -> TransporterFacade::start_poll -
                    > lock TransporterFacade mutex (a global mutex)
    
      - 7.3 -> trp_client::start_poll, lock trp_client m_mutex.
                 -> TransporterFacade::start_poll ...no locking, and mutex gone in this version
    
      Observations: There are no locking of ClusterMgr::clusterMgrThreadMutex here,
                    neither pre/post 7.3 .
    
    - Ndb_cluster_connection::wait_until_ready(),
      Ndb_cluster_connection_impl::get_next_alive_node()
      Ndb_cluster_connection::get_no_ready():
      These all sets the TransporterFacadeFurthermore mutex.
    
    - Ndb::sendRecSignal
      Sets a PollGuard as above, which either lock the TransporterFacade or
      the trp_client mutex
    
    - Ndb::sendPrepTrans()
      Documents in comments that TransporterFacade mutex should be locked prior to call
    
    
    So this has become a total mess. It might seem like that it prior
    to 7.3 was the intention that TransporterFacade mutex should be held
    when accessing theNodes[], or any methods that access it itself.
    After 7.3 a mix of TransporterFacade and Trp_client mutex is effectively used
    
    Updating looks like it sets the ClusterMgr mutex to protect these, which will
    of course not work as the reader doesnt set this mutex. However, it could be
    that all updates happens at places where it is called from the TransporterFacade.
    Here we *used to* hold the TransporterFacade mutex prior to 7.3, which would make
    some sense. This all needs more investigation .... and some documentation in the code...
    In the current state there certainly are no effective concurrency protection of
    the node state info  in 7.3+ , It could be that it work in 7.1 & 7.2
    
    On top of this the fix for bug#19524096 introduced
    ClusterMgr::is_cluster_completely_unavailable() which is also based on
    the nodes status available in theNodes[]. Probably in good faith,
    backed by that updates of theNodes[] was protected with clusterMgrThreadMutex,
    that method grabs that lock before accessing theNodes[] info.
    
    Actually this method is *the only* node state getters which
    does any explicit locking. ... and it was doomed to fail as this
    was completely untested territory. See other mail about how
    it could deadlock with the TranporterFacade mutex.
    
    Sidenote: any other node state getters attempting to follow the
    same locking pattern had likely deadlocked the same way.
    
    ::is_cluster_completely_unavailable() is called from within code
    which also calls ::get_node_alive() and ::get_an_alive_node(),
    without using any locking protection for these. Based on this I will
    propose a patch for the bug#19524096 regression, which simply
    removes the mutex locking from ::is_cluster_completely_unavailable().
    
    This will not be entirely kosher based on how the shared node state
    structs should have been mutex protected. However, based on my discussion
    above, there are already so many violations in this area that a single
    more should not matter. A bigger effort should be taken to clean up this entirely.

commit 7381bbbf2d0be035ee23f43500316b065bb6e0cc
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Jan 21 09:16:07 2015 +0100

    Fix regression introduced by fix for bug#bug#19524096.
    
    That fix caused ndb_global_schema_lock_error to fail as mysqld
    ended up in a deadlock between TransporterFacade and ClusterMgr mutex
    in ClusterMgr::is_cluster_completely_unavailable(). There
    likely are other deadlock scenarios also.
    
    The fix is to remove the Guard locking clusterMgrThreadMutex.
    The rational and (lack of) correctness for this is discussed in
    a mail pasted below.
    
    There are also a few small improvements to ::is_cluster_completely_unavailable()
    
    1. Dont copy entire 'trp_node' struct but read it by refference instead.
    
    2. Replace usage of 'm_impl->m_transporter_facade' with 'getTransporter()'
       as this is the pattern used elsewhere in this code block.
    
    
    --------------- Pasted mail with some background ----------------
    
    Subject: (Dead-) locking of ClusterMgr::theNodes[] structures
    
    Hi
    
    Writing this as a note to myself and others after having analyzed
    the failure of ndb_global_schema_lock_error.test. That test
    timed out as mysqld ended up in a deadlock between
    ClusterMgr::clusterMgrThreadMutex and TransporterFacade::theMutexPtr
    
    ClusterMgr maintains node state & info in theNodes[]. From external
    components, this info is access through ClusterMgr::getNodeInfo().
    theNodes[] are only updated from within ClustMgr, all external access
    is read only.
    
    Updates to theNodes[] are partly done from withing several ClustMgr::exec<foo>
    methods, and partly from ClusterMgr::reportConnected() / ::reportDisconnected().
    All updates seems to be done with ClusterMgr::clusterMgrThreadMutex locked.
    
    Several ClusterMgr methods are available for inspecting node status
    from other components, these all use information from theNodes[].
    Some of the more commonly used of these methods are:
    
     - TransporterFacade::get_node_alive(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - TransporterFacade::get_an_alive_node() (Implemented on top of ::get_node_alive(n))
     - NdbImpl::get_node_stopping(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - NdbImpl::get_node_alive(n) (Reads 'theClusterMgr->getNodeInfo(n)')
     - NdbImpl::get<foo> ...A lot more node state getters....
    
    The locking schema used to provide atomicity of theNodes[] for the above
    methods are .... mixed, and not really defined at all as far as I can tell.
    Some examples:
    
    - NdbDictInterface::dictSignal(), NdbDictInterface::forceGCPWait() & NdbDictInterface::listObjects():
      Before calling get_node_alive() / ::get_an_alive_node(), a PollGuard is set.
      PollGuard calls trp_client::start_poll() which is different pre/post 7.3:
      - Pre 7.3, trp_client::start_poll
                  -> TransporterFacade::start_poll -
                    -> lock TransporterFacade mutex (a global mutex)
    
       - 7.3 -> trp_client::start_poll, lock trp_client m_mutex.
                  -> TransporterFacade::start_poll ...no locking, and mutex gone in this version
    
     Observations: There are no locking of ClusterMgr::clusterMgrThreadMutex here,
                   neither pre/post 7.3 .
    
    - Ndb_cluster_connection::wait_until_ready(),
      Ndb_cluster_connection_impl::get_next_alive_node()
      Ndb_cluster_connection::get_no_ready():
      These all sets the TransporterFacadeFurthermore mutex.
    
    - Ndb::sendRecSignal
      Sets a PollGuard as above, which either lock the TransporterFacade or
      the trp_client mutex
    
    - Ndb::sendPrepTrans()
      Documents in comments that TransporterFacade mutex should be locked prior to call
    
    So this has become a total mess. It might seem like that it prior
    to 7.3 was the intention that TransporterFacade mutex should be held
    when accessing theNodes[], or any methods that access it itself.
    After 7.3 a mix of TransporterFacade and Trp_client mutex is effectively used
    
    Updating looks like it sets the ClusterMgr mutex to protect these, which will
    of course not work as the reader doesnt set this mutex. However, it could be
    that all updates happens at places where it is called from the TransporterFacade.
    Here we *used to* hold the TransporterFacade mutex prior to 7.3, which would make
    some sense. This all needs more investigation .... and some documentation in the code...
    In the current state there certainly are no effective concurrency protection of
    the node state info  in 7.3+ , It could be that it work in 7.1 & 7.2
    
    On top of this the fix for bug#19524096 introduced
    ClusterMgr::is_cluster_completely_unavailable() which is also based on
    the nodes status available in theNodes[]. Probably in good faith,
    backed by that updates of theNodes[] was protected with clusterMgrThreadMutex,
    that method grabs that lock before accessing theNodes[] info.
    
    Actually this method is *the only* node state getters which
    does any explicit locking. ... and it was doomed to fail as this
    was completely untested territory. See other mail about how
    it could deadlock with the TranporterFacade mutex.
    
    Sidenote: any other node state getters attempting to follow the
    same locking pattern had likely deadlocked the same way.
    
    ::is_cluster_completely_unavailable() is called from within code
    which also calls ::get_node_alive() and ::get_an_alive_node(),
    without using any locking protection for these. Based on this I will
    propose a patch for the bug#19524096 regression, which simply
    removes the mutex locking from ::is_cluster_completely_unavailable().
    
    This will not be entirely kosher based on how the shared node state
    structs should have been mutex protected. However, based on my discussion
    above, there are already so many violations in this area that a single
    more should not matter. A bigger effort should be taken to clean up this entirely.

commit 5bbeeaf420dc699873ec52a9c1db05cd74b15a8b
Merge: 09139e9 e4ad9e3
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 16 18:38:36 2015 +0000

    Merge 7.3->7.4

commit e4ad9e392ea3a14697d715a9410c2534138eb77a
Merge: 5cae7a0 bc64175
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 16 18:35:53 2015 +0000

    Merge 7.2->7.3

commit bc64175b4205edfad40255ed46e8a323b193fc28
Merge: abd9474 cb919ca
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 16 18:29:01 2015 +0000

    Merge 7.1->7.2

commit cb919ca00d14f6048ac50a5fa24ba4b66bc3a607
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Jan 16 18:25:13 2015 +0000

    Improve ndb_rpl_slave_binlog_index.test behaviour under Valgrind.
    
    Seems to timeout waiting for the slave to apply ~16MB of Binlog.
    
    Hopefully reduce / remove failures by reducing replicated data size
    by ~ 100x.

commit 09139e9286e99b658ecabb9cf528449c38469b4b
Author: magnus.blaudd@oracle.com <>
Date:   Fri Jan 16 15:41:48 2015 +0100

    Bug#20364309 MODIFY SHOW CREATE TABLE OUTPUT FOR BETTER OPENSTACK INTEGRATION
    
    - Modify the formatting of the text generated by ndbcluster describing the foreign key properties
      in SHOW CREATE TABLE. Two additional spaces was added, first one to align the output and
      second one to separate "FOREIGN KEY" from the subsequent parenthesis.
     - Update .result file which have output from SHOW CREATE TABLE, no new testcase necessary

commit e924715268a2a95d3cfb16dff698cc65b35e2f1b
Merge: 87d372d 5cae7a0
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Fri Jan 16 09:44:03 2015 +0100

    Merge 7.3->7.4.

commit 5cae7a01c23693d9637107ce114382848a87ab86
Merge: b866e08 abd9474
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Fri Jan 16 09:37:40 2015 +0100

    Merge 7.2->7.3.

commit abd94741664502cb5d3016629c6f5b21d64eeec4
Merge: d616477 4ce6b26
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Fri Jan 16 09:32:22 2015 +0100

    Null merge 7.1->7.2.

commit 87d372dd5369fac9f0f6c9d72367ff5e3e6cca09
Merge: ff8e0fe b866e08
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 15 15:04:03 2015 +0000

    Merge 7.3->7.4

commit b866e0858b89b8400d48db447bc0a879a17c4108
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jan 15 15:02:08 2015 +0000

    Add some improved debugging to help understand non
    locally reproducable problems with
    ndb_binlog_last_commit_epoch testcase.
    
    No change to result file, except in error conditions.

commit 4ce6b265bda821478ec6b45b104ba0cffd30710c
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Wed Jan 14 12:47:09 2015 +0100

    This commit is a fix for Bug#19880969 (CLUB FOR 7.1, LINUX-RELEASE, 345 WARNINGS IN BUILD). The fix suppresses these warnings, so that the corresponding square in club becomes green rather than red.
    
    It would have been possible to get rid of the warnings by changing the concerned source code. We chose not to do so because:
    - None of the warnings pinpoint real errors.
    - This issue does not justify modifiying the 5.1. server code at this point. The main goal was to make it easy to spot any *new* errors or warnings being introduced.

commit ff8e0feac24b46e04708744926e3a6feb9d58107
Merge: 279adf1 d89ba60
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jan 13 11:29:55 2015 +0000

    Merge 7.3->7.4

commit d89ba60f144acf6980003b8ca0065df1451a412b
Merge: 90d8190 d616477
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jan 13 11:26:30 2015 +0000

    Merge 7.2->7.3

commit d616477f56f9a00ad37ea58afc103726256a1fca
Merge: c04f29d 3c217bf
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jan 13 11:15:56 2015 +0000

    Merge 7.1->7.2

commit 3c217bf31dba03a9591a6cf5d58b96930cee1f10
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Jan 13 11:07:06 2015 +0000

    Bug #19306793 	CORE IN NDBAPI WHEN EXTENDED EXTENSION TABLE IS CREATED IN MYSQL 7.4
    
    The increase in Max hashmap buckets from 240 to 3480 increased the
    size of the DictHashMapInfo::HashMap type considerably.
    This type was allocated on the stack in some getTable() calls which
    could cause stack overflow for NdbApi users.
    
    This patch dynamically allocates the hashmap from the heap to avoid
    this problem.
    
    Dynamic allocation is already used on this path (Vector<>), and this
    path should only be taken once per table version per
    ndb_cluster_connection.

commit 279adf1038fd068e9bb16d5ecd34e4c5a23f070e
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jan 12 23:59:53 2015 +0000

    Quick fix of corrupted special comment characters.
    No code change.

commit 18968d344f69254689191943c41f510030b6965d
Author: Kent Boortz <kent.boortz@oracle.com>
Date:   Mon Jan 12 23:29:44 2015 +0100

    Updated the copyright year in README and welcome message

commit 55acff4a0317f17931dbe9edd0687a532e1ff4ea
Merge: 8f058cf 90d8190
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sun Jan 11 11:00:25 2015 -0800

    merge 7.3 -> 7.4
    
    Improve garbage collection of clusterj artifacts
    
    A user object obtained via query or session.newInstance is a proxy that
    holds a strong reference to an NdbRecordSmartValueHandlerImpl, which
    in turn holds a strong reference to an NdbRecordOperationImpl, which
    holds strong references to ByteBuffers which wrap native byte arrays.
    
    When the user object goes out of scope, it is garbage collected but
    the objects that are now unreferenced take a long time to be collected.
    
    This patch immediately releases objects that are referenced by user objects
    when the user object is collected. This can improve the ability of the
    garbage collector to release the space used by the objects.
    
    DynamicObject.java:
      implement finalize method for dynamically created objects
    
    DynamicObjectDelegate.java:
      add finalize to the methods to be implemented by the dynamic object
    
    DomainTypeHandlerImpl.java:
      require that the proxy (user object) implement finalize
    
    InvocationHandlerImpl.java:
      implement release
    
    KeyValueHandlerImpl.java:
      implement release
    
    NdbRecordBlobImpl.java:
      implement release() to release unneeded objects
    
    NdbRecordOperationImpl.java:
      implement release() to release unneeded objects
    
    NdbRecordSmartValueHandlerImpl.java:
      implement finalize() which forwards to release() to release unneeded objects
    
    NdbOpenJPAValueHandler.java:
      implement release
    
    NoPublicConstructorClusterConnectionService.java:
      fix bug in test

commit 90d8190a4739918a832752d7d08913f5669d1691
Merge: ce0b8dc c04f29d
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sun Jan 11 10:07:00 2015 -0800

    merge 7.2 -> 7.3
    
    Improve garbage collection of clusterj artifacts
    
    A user object obtained via query or session.newInstance is a proxy that
    holds a strong reference to an NdbRecordSmartValueHandlerImpl, which
    in turn holds a strong reference to an NdbRecordOperationImpl, which
    holds strong references to ByteBuffers which wrap native byte arrays.
    
    When the user object goes out of scope, it is garbage collected but
    the objects that are now unreferenced take a long time to be collected.
    
    This patch immediately releases objects that are referenced by user objects
    when the user object is collected. This can improve the ability of the
    garbage collector to release the space used by the objects.
    
    DynamicObject.java:
      implement finalize method for dynamically created objects
    
    DynamicObjectDelegate.java:
      add finalize to the methods to be implemented by the dynamic object
    
    DomainTypeHandlerImpl.java:
      require that the proxy (user object) implement finalize
    
    InvocationHandlerImpl.java:
      implement release
    
    KeyValueHandlerImpl.java:
      implement release
    
    NdbRecordBlobImpl.java:
      implement release() to release unneeded objects
    
    NdbRecordOperationImpl.java:
      implement release() to release unneeded objects
    
    NdbRecordSmartValueHandlerImpl.java:
      implement finalize() which forwards to release() to release unneeded objects
    
    NdbOpenJPAValueHandler.java:
      implement release
    
    NoPublicConstructorClusterConnectionService.java:
      fix bug in test

commit c04f29d4f20375588d085daf6452adce3e8d9cb7
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sun Jan 11 09:48:44 2015 -0800

    Improve garbage collection of clusterj artifacts
    
    A user object obtained via query or session.newInstance is a proxy that
    holds a strong reference to an NdbRecordSmartValueHandlerImpl, which
    in turn holds a strong reference to an NdbRecordOperationImpl, which
    holds strong references to ByteBuffers which wrap native byte arrays.
    
    When the user object goes out of scope, it is garbage collected but
    the objects that are now unreferenced take a long time to be collected.
    
    This patch immediately releases objects that are referenced by user objects
    when the user object is collected. This can improve the ability of the
    garbage collector to release the space used by the objects.
    
    DynamicObject.java:
      implement finalize method for dynamically created objects
    
    DynamicObjectDelegate.java:
      add finalize to the methods to be implemented by the dynamic object
    
    DomainTypeHandlerImpl.java:
      require that the proxy (user object) implement finalize
    
    InvocationHandlerImpl.java:
      implement release
    
    KeyValueHandlerImpl.java:
      implement release
    
    NdbRecordBlobImpl.java:
      implement release() to release unneeded objects
    
    NdbRecordOperationImpl.java:
      implement release() to release unneeded objects
    
    NdbRecordSmartValueHandlerImpl.java:
      implement finalize() which forwards to release() to release unneeded objects
    
    NdbOpenJPAValueHandler.java:
      implement release
    
    NoPublicConstructorClusterConnectionService.java:
      fix bug in test

commit 8f058cf223b02a80d6f69ce8c631bbda023ee650
Merge: ead91ba ce0b8dc
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Jan 9 13:07:30 2015 +0100

    Merge 7.3 -> 7.4

commit ce0b8dcd5d45462e80345d1d931f69502fa12f57
Merge: 319cafb 57d335f
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Jan 9 12:49:57 2015 +0100

    Merge 7.2 -> 7.3

commit 57d335ffa8e27bb9a7019434f80e01d2510dce21
Merge: 364f733 da0969d
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Jan 9 12:44:14 2015 +0100

    Merge 7.1 -> 7.2

commit da0969d1c3a8b0559a03e05b64177f4eb638f897
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Jan 9 12:27:34 2015 +0100

    Updating copyright year

commit 4ef7d9076083f781ea61d0ca9e442b5c692624ea
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Fri Jan 9 12:12:02 2015 +0100

    Some copyright fixes to files changed in 2014

commit aa054e3fadf799b9717481884cf6645d15b0ec71
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Fri Jan 9 12:10:02 2015 +0100

    Fixing user visible copyright years

commit 10dbbdcc882ff7e5258ce0fd0d84a7d09f333e3c
Author: Sreedhar S <sreedhar.sreedhargadda@oracle.com>
Date:   Thu Jan 8 18:04:17 2015 +0100

    Fix for 7.4.3 build failures

commit 0c4748d073043d4c5be6ebaeaef5d6ee56aebb35
Author: Sreedhar S <sreedhar.sreedhargadda@oracle.com>
Date:   Thu Jan 8 10:12:01 2015 +0100

    Fix for copy right year

commit 2db240a70419709334dcf0e45514a458fa1d0be0
Author: MySQL Build Team <mysql-build@oss.oracle.com>
Date:   Thu Jan 8 08:19:43 2015 +0100

    Corrected copyright year by sreedhar

commit 1bf8355e709d868979ebd3776491eb3305917e68
Author: Kent Boortz <kent.boortz@oracle.com>
Date:   Thu Jan 8 08:19:37 2015 +0100

    Updated README and banners to 2015

commit ead91ba052899818ed50e29784919531bf5f601c
Merge: dacfbad 319cafb
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jan 7 12:11:17 2015 +0100

    bump version to 7.4.4

commit 319cafb866b9d7a1013738928a131a1fd232ac7b
Merge: 80ece2f 364f733
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jan 7 12:00:14 2015 +0100

    bump version to 7.3.9

commit 364f7333a809b9f387df273060fd448e2dd2d435
Merge: ce7a39c fce8806
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jan 7 11:56:22 2015 +0100

    bump version to 7.2.20

commit fce8806545538704ad111ac6938e5fadc74bf1a2
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jan 7 11:53:59 2015 +0100

    bump version to 7.1.35

commit dacfbadb265e1543190b873f33445e9fab902d35
Merge: 79f9b86 80ece2f
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Dec 23 13:16:26 2014 +0200

    merge

commit 80ece2f98387b3cd488628f9afd93224e5d8966b
Merge: 9b4d3d6 ce7a39c
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Dec 23 13:09:27 2014 +0200

    merge

commit ce7a39c99fc5d9e442399872830bbfb52700430f
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Dec 23 12:58:36 2014 +0200

    pgmanpe pe-dump.diff
    pgman: dump max page entries
    bug#18484117 bug#19915761 bug#19958804

commit 4e9fd439193505710f8b0909c024ef82563edcf7
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Dec 23 12:53:33 2014 +0200

    pgmanpe pe-config.diff
    pgman: configure max page entries
    bug#18484117 bug#19915761 bug#19958804

commit 79f9b86e9035ed17e6cc1be3cb020ed97d9e3383
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Dec 22 13:09:55 2014 +0100

    BUG#19480197, BUG#73667, BUG#74945: Ensure Local object has transferred back object to real object before calling recursive function

commit 7f18a55eda37a42dc6d1b862c218f8518fcccc27
Author: magnus.blaudd@oracle.com <>
Date:   Fri Dec 19 11:29:33 2014 +0100

    Cherrypick fix which removes MCP_WL1735 from 7.4

commit 2d26f5dc00f8b37391dfaca1391a8543aa82419a
Author: magnus.blaudd@oracle.com <>
Date:   Fri Dec 19 10:51:49 2014 +0100

    Cherrypick fix for bug20009152 from 7.4

commit 7d87c8985ae07474386e4af913a18cdfb8c903df
Merge: aa40e13 3d07c3f
Author: magnus.blaudd@oracle.com <>
Date:   Thu Dec 18 23:06:16 2014 +0100

    Merge 7.4(-r 4420) -> trunk-cluster
     - after merge in of 5.6.20

commit aa40e135e331b51575f83e3abf1b18ebcd361ee2
Author: magnus.blaudd@oracle.com <>
Date:   Wed Dec 17 22:52:56 2014 +0100

    Adapt pushed joins to WL#6042
    
    - the call to ha_make_pushed_join() must be done before pick_table_access_method() since the latter
      potentially choose a different read_first_record and read_record.read_record implementation
      based on the pushed_root created by ha_make_pushed_join
    
    - move ha_make_pushed_join earlier and move pick_table_access_method() later into it's own loop

commit 7a394d136469083185de7147181cf0d47e3ee4b8
Merge: df87d4b 9b4d3d6
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 17 15:58:06 2014 +0100

    Merge 7.3 -> 7.4

commit 9b4d3d62fcfe70054ac986d542afdb73e8abeaf7
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 17 15:57:00 2014 +0100

    Follow up fix for bug#20112981
    
       TransporterFacade::reset_send_buffer might reset a send_buffer in use by 'send'
    
    Had to remove 'assert(try_lock)', as they caused test failures due
    to 'lock already held' warnings on some platforms.

commit df87d4b22869ed85cd4c28baef765b189a779149
Merge: c91712e 9ad824b 4010aaa
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 17 10:41:57 2014 +0100

    Merge 7.3 -> 7.4

commit 4010aaab8809778a8d707d6fc3c8fbd8859b9866
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 17 10:32:22 2014 +0100

    Fix for bug#20112981
    
     TransporterFacade::reset_send_buffer might reset a send_buffer in use by 'send'
    
    This is a regression introduced by WL#3860 (ATC patches)
    which redesigned the locking mechanism in the TransporterFacade.
    ...and thus introduced a possible race between sending sending
    buffered data, and another thread reseting the same buffer.
    
    TransporterFacade::reset_send_buffer() reset the two
    m_send_buffers[node] buffers: 'm_buffer' and 'm_out_buffer'.
    
    These are designed to be protected by :
    
    1)'m_buffer' should only be updated when holding the
       m_send_buffers[node].m_mutex lock.
    
    2)'m_out_buffer' is protected by 'm_send_buffers[node].m_sending'.
       When this flag is set, the buffer is 'owned' by a thread
       actively sending, and consuming the m_out_buffer contents.
       Thus this buffer should not be reset while this flag
       is set.
    
    ::reset_send_buffer didn't follow any of these rules.
    
    
    This fix locks the 'm_mutex' in ::reset_send_buffer.
    Furthermore it checks that 'm_sending==false' before
    it release the m_out_buffer.
    
    Iff 'm_sending==false', it sets the new 'm_reset' flag
    in order to signal a pending reset. That pending reset
    will then be server by ::do_send_buffer when sending
    completes, and it clears the 'm_sending_flag'.
    
    As part of the fix, all TransporterFacade 'send-code' has
    been refactored into the new ::do_send_buffer method.
    
    Furthermore, some very non-C++'ish memset/bzero of
    TFBuffer objects has been replaced by a new TFBuffer::clear()
    method.
    
    Also added several comments about how the locking protection
    of TFSendBuffer is intended to work
    
    Intended for push 7.3 ->
    
    ******
    Incremental addendum patch for bug#20112981
    
       TransporterFacade::reset_send_buffer might reset a send_buffer in use by 'send'
    
    Instead of introducing the method is_locked_send() used only in ::reset_send_buffer(),
    the patch is modified to temporary try_lock and unlock the 'send' lock.
    
    Improves the readability of the locking mechanism pr. reviewer comment.
    Performance should not be an issue in the reset eiter, called once at startup
    and disconnect/reconnect.
    ******
    Another addendum patch for bug#20112981, adressing comment from Mikael R.
    ******
    Adressing review comments in patch for bug#20112981

commit c91712ebb1b94d9677aeace33fb91cd16d69d48c
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 16 22:52:57 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - Move variables in clean_away_stray_files() into local scope
     - Remove unnecessary it.rewind()
     - Remove duplicate comment

commit 6ca6d87efca2f7a8c754fb3396dcb8fa4d15c881
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 16 22:44:05 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
     - rewrite clean_away_stray_files() to use find_files() direct rather than going via make_db_list().
    - The only difference between make_db_list() and find_files() is that the information_schema database is not
      return in the list of databases. But it's currently not possible  to create a NDB table in information_schema
      and thus there can not be any "stray" tables there either.
     - testcase added to ndb_reconnect which shows access denied when trying to create table
       in information_schema
     - This avoids patching the MySQL Server to make the static make_db_list() function available
       to use in ha_ndbcluster_binlog and thus the MCP for make_db_list() and LOOKUP_FIELD_VALUES
      can be removed.
    - Also remove the NDB_WITHOUT_MAKE_DB_LIST which was used for compiling ndbcluster in MySQL Server

commit f30b757d1d26af3092c73bfe8740d53035db5905
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 16 22:11:36 2014 +0100

    Remove unused TNTO_NO_REMOVE_STRAY_FILES Thd_ndb option
    
     - The option bit was read but never set sine the code which set it has been removed previuosly.
     - The set of the option bit was removed since it had not effect, usage of "injector_thd == thd" was enough.

commit 9b4c2c48b7e5524710d4dd0ea4aac2fb07cfa73d
Merge: 7d5e3ba 2b8e7cf
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 16 21:06:09 2014 +0100

    Merge 7.3 -> 7.4

commit 2b8e7cf80c20538da977823da812f9c43f81b554
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 16 21:02:48 2014 +0100

    Bug#20032861 DROP DATABASE PERFORMANCE_SCHEMA DROPS IT ON ALL SQL NODES
    
     - Suppress the warning which occurs(on the other mysqld) when mysql_upgrade runs and tries to create
      the performance_schema database(which hasn't been dropped because it has local tables).
     - this is the same supression as ndbinfo_upgrade.test

commit 7d5e3ba6107d5ec20118af6d27e878a519a094e0
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Dec 16 16:33:03 2014 +0100

    BUG#19898269, BUG#74594: Fixed wrong order of sending bitmap of LCP participants to ensure that starting node can correctly calculate the lcpOngoing flag for each fragment

commit 9ad824b17a273070ab360674cbaac48bf8c95a4d
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Dec 16 16:31:57 2014 +0100

    Another addendum patch for bug#20112981, adressing comment from Mikael R.

commit 1d17a5f6e040a78b2aaa9190a318d37a971a893a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Dec 16 16:18:23 2014 +0100

    Incremental addendum patch for bug#20112981
    
       TransporterFacade::reset_send_buffer might reset a send_buffer in use by 'send'
    
    Instead of introducing the method is_locked_send() used only in ::reset_send_buffer(),
    the patch is modified to temporary try_lock and unlock the 'send' lock.
    
    Improves the readability of the locking mechanism pr. reviewer comment.
    Performance should not be an issue in the reset eiter, called once at startup
    and disconnect/reconnect.

commit 563d25f8765b9c7d284b3631f89cc59155287949
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Dec 16 13:49:48 2014 +0100

    Fix for bug#20112981
    
     TransporterFacade::reset_send_buffer might reset a send_buffer in use by 'send'
    
    This is a regression introduced by WL#3860 (ATC patches)
    which redesigned the locking mechanism in the TransporterFacade.
    ...and thus introduced a possible race between sending sending
    buffered data, and another thread reseting the same buffer.
    
    TransporterFacade::reset_send_buffer() reset the two
    m_send_buffers[node] buffers: 'm_buffer' and 'm_out_buffer'.
    
    These are designed to be protected by :
    
    1)'m_buffer' should only be updated when holding the
       m_send_buffers[node].m_mutex lock.
    
    2)'m_out_buffer' is protected by 'm_send_buffers[node].m_sending'.
       When this flag is set, the buffer is 'owned' by a thread
       actively sending, and consuming the m_out_buffer contents.
       Thus this buffer should not be reset while this flag
       is set.
    
    ::reset_send_buffer didn't follow any of these rules.
    
    
    This fix locks the 'm_mutex' in ::reset_send_buffer.
    Furthermore it checks that 'm_sending==false' before
    it release the m_out_buffer.
    
    Iff 'm_sending==false', it sets the new 'm_reset' flag
    in order to signal a pending reset. That pending reset
    will then be server by ::do_send_buffer when sending
    completes, and it clears the 'm_sending_flag'.
    
    As part of the fix, all TransporterFacade 'send-code' has
    been refactored into the new ::do_send_buffer method.
    
    Furthermore, some very non-C++'ish memset/bzero of
    TFBuffer objects has been replaced by a new TFBuffer::clear()
    method.
    
    Also added several comments about how the locking protection
    of TFSendBuffer is intended to work
    
    Intended for push 7.3 ->

commit 099291207266fce866936a5f6aa547a4e0fc30c8
Merge: 0cfe697 61107c5
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Dec 16 17:10:19 2014 +0530

    Merge 7.3 -> 7.4

commit 61107c5c913d93f538dd67d9186a8fc0856879fe
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Dec 16 17:08:54 2014 +0530

    Bug #19550973:
    CREATE/DROP DATABASE STATEMENT SEGFAULTS IF IDENTIFIER LENGTH IS >=64
    
    PART III
     - added a replace regex to replace windows slashes(\) with unix slashes(/),
       since the default database is not used.

commit 0cfe69719ec2294555a387c09f13e300214b0e39
Merge: a7ce411 368c1da
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 16 12:10:49 2014 +0100

    Merge 7.3 -> 7.4

commit 368c1dacc64d7a65ba9816be10d19f3a242316dd
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 16 12:09:34 2014 +0100

    Bug#20031425 NDBINFO NAMESPACE FREE CHECK FAILURE
    
    The SQL script which creates and upgrades the ndbinfo database, tables and
    views are in scripts/mysql_system_tables.sql. The script
    is run as part of mysql_install_db and mysql_upgrade.
    
    The script detects different preconditions to deterine if the ndbinfo objects
    should be created or not. For example the mysqld must have been compiled with
    ndbinfo handler, the version must be >= 7.1 and also the "ndbinfo namespace"
    must be free.
    
    The above mention "ndbinfo namespace" check is now failing. This causes the
    ndbinfo objects not to be upgrade properly. The "ndbinfo namespace" check is
    intended to avoid dropping any user data tables potentially created in the
    ndbinfo database.
    
    The problem started when two MyISAM "lookup" tables named
    ndb$dblqh_tcconnect_state and ndb$dbtc_apiconnect_state was added to the
    ndbinfo database.
    
    - fix by removing the "ndbinfo namespace" check since only the SQL commands uses
      CREATE IF NOT EXISTS and only drops tables and views by name.
    
    - add test case which shows that the upgrade actually does something.

commit a7ce411e863078b1e2751051ec340fb753e455dc
Merge: 5e738e9 75d5205
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 16 11:31:19 2014 +0100

    Merge 7.3 -> 7.4

commit 75d520588c4a6ca161fd7cdd0707e39c21d2073d
Merge: f4eac59 c143809
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 16 11:31:03 2014 +0100

    Merge 7.3-bug20032861 -> 7.3

commit c14380936960341a863fcf4b924f4759fa674af5
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 16 11:29:23 2014 +0100

    Bug#20032861 DROP DATABASE PERFORMANCE_SCHEMA DROPS IT ON ALL SQL NODES
    
    - the check for "local table in directory"  didn't work. This was caused by the wrong assignment
      operator was used -> change to bitwise OR
    - also there was an unnecessary usage of current_thd -> change to use m_thd(which is the one passed to find_files())
      (most liklye those two THD's were the same though).
    - improve comment describing why THD::col_access need to be magically set.

commit 5e738e95b873577a35814af21ae864443b3d4a80
Merge: 3a3d10d 94b2c56
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 16 10:54:04 2014 +0100

    Merge

commit 3a3d10df2a51c57da34d5d00dadbc6ef94e03d88
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Dec 15 18:52:35 2014 +0100

    BUG#75220: Added option to use 10 and 20 LDM threads (same for NoOfLogParts)

commit 8f2c9d6894de732ea997e090dd8c2716fca66dca
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Dec 15 17:54:49 2014 +0100

    BUG#20215395: Bug in cluster join protocol

commit cf23c6235399ccdaaf7d732a9002fa6de8966452
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Dec 15 16:37:16 2014 +0100

    Added jams to place where data nodes freezes in startup

commit 1b4f700e7a253d1f8cf6a959f7d0d17a3e5545aa
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Dec 15 16:32:22 2014 +0100

    BUG#19590336: Preparatory patch adding lots of jam:s to DD code, also a few more more comments added

commit d9f7c13325a6d952742b9d9ad56d8f49dee62cf7
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Dec 12 15:31:20 2014 +0100

    Additions to wl#7674
    
    This patch adds a test to check the newly introduced config variables and move
    getHighestQueuedEpoch outside ifndef DOXYGEN_SHOULD_SKIP_INTERNAL

commit 3e845278fa4e0f1254fa5b4855c91add62c042d0
Merge: a680bd3 1658886
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Fri Dec 12 12:55:45 2014 +0100

    This commit is a followup to WL#8145 (NdbInfo : Per-fragment operations info).
    That WL introduced an error causing 'testScan -n Bug54945 T1' to fail:
    short-signal scans crashes because the attrinfo section is not available
    at the point where the code tries to read it to find the size of the
    interpreted progam. This commit fixes that by not trying to count program
    size for short-signal scans and lookups. Since these only happen during
    online upgrade, they are not important for per-fragment statistics.

commit a680bd352f6e3831f9ad8269aaf127cc809c62f7
Merge: fbc4f1e f4eac59
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 12 15:23:52 2014 +0530

    Merge 7.3 -> 7.4

commit f4eac593f2db82fdc078b541baf7fa9f6649e889
Merge: be23adc 21b4fc6
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 12 15:20:27 2014 +0530

    Merge 7.2 -> 7.3

commit 21b4fc6bad8f79317244483594b2b8d0fd5443d7
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 12 15:17:14 2014 +0530

    Bug#18715165, BUG#17069285
    
    Pushing the fix for club failure in the rmp packets for:
      - ndb_index_stat.test
      - ndb_print_file.test

commit fbc4f1eb17d33bf795f668916c408f5dbbb637b2
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Dec 11 16:25:25 2014 +0100

    Bug#19582925 ENHANCED DETECTION AND DUMP OF CORRUPT OR UNSUPPORTED MESSAGES
    
    Bad merge of post-push fix from 7.3

commit 31c3aa27e4905b7edaa986f6b431f2101abfd7d4
Merge: 2a3d3c9 be23adc
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Dec 11 20:24:42 2014 +0530

    Merge 7.3->7.4

commit be23adc374ac5394b82f8edc8cf05c75adc57937
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Dec 11 20:23:12 2014 +0530

    Bug #19550973:
    CREATE/DROP DATABASE STATEMENT SEGFAULTS IF IDENTIFIER LENGTH IS >=64
    
    Part II
     - moving all the tests to ndB_multi from basic to prevent embedded run
     - added replace function in test to chnage the absolute path in rename error

commit 2a3d3c97d09dc3d9cb081fa006e9a58492905ec4
Merge: f626580 db1c8b9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Dec 11 11:26:11 2014 +0100

    merge 7.3 to 7.4

commit db1c8b987732482907e68139f2720d1e854f92d9
Merge: d31a0b7 79d4168
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Dec 11 11:23:57 2014 +0100

    merge 7.2 to 7.3

commit 79d416860e1eecf81796220debd9b41ef469eb28
Merge: 041ef91 dfedb68
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Dec 11 11:13:45 2014 +0100

    merge 7.1 to 7.2

commit dfedb68d74e693f43cc6c44d166299641290a8e7
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Dec 11 01:11:57 2014 +0100

    Bug#19582925 ENHANCED DETECTION AND DUMP OF CORRUPT OR UNSUPPORTED MESSAGES

commit 041ef918839b032cc238e37eb424a1a980808c24
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Dec 11 01:00:47 2014 +0100

    Bug#20193236 SOME COMPILER WARNINGS BECAME ERRORS AFTER MERGE OF MYSQL SERVER 5.5.41
    
    After merge of MySQL server 5.5.41 into Cluster 7.2 some warnings became
    errors for debug build (maintainer mode) in cluster specific parts
    (MCP_WL3749) of sql/sql_table.cc.
    
    Building with g++-4.3.6 failed with:
    error: suggest a space before ';' or explicit braces around empty body in ?for? statement
    
    Building with g++-4.6.4 failed with:
    error: variable 'old_db_type' set but not used [-Werror=unused-but-set-variable]
    
    This patch do non functional changes to avoid these warnings/errors.

commit f626580c79cd3409b210dbf214e26c36e3667d37
Merge: a21db56 d31a0b7
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Dec 10 23:15:41 2014 +0100

    Merge from 7.3

commit d31a0b7fce1701f81c4e3f3c3174845897f7c79a
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Dec 10 22:26:40 2014 +0100

    Cherrypick from 5.6 : Bug#20009154 - FIX REGRESSION AFTER HA_FLUSH_LOGS() HOOK FOR NDB IS REMOVED.

commit a21db56ba01e050a57eb20e10e96c2b365d38319
Merge: 9828658 99c1b96
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Dec 10 19:42:25 2014 +0100

    Merge from 7.3

commit 99c1b966df580b30ddda78a0400996b3be6e906c
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Dec 10 19:00:15 2014 +0100

    Bug 19895502 -  BINARY LOG GROUP COMMIT CAUSES REGRESSION FOR NDB REPLICATION.
    
    A call to ha_flush_logs - introdueced by WL5223 in MYSQL_BIN_LOG::new_file_impl-
    causes a deadlock in the Ndb handler implementation of
    ha_flush_logs(), because it is now called after Binlog is locked
    (Lock_log). This lock prevents ha_flush_logs() from writing to Binlog
    causing deadlock.
    
    ha_flush_logs is now used as storage engine checkpointing and thus not relevant
    for Ndb. Removing it.

commit 1658886124ca59efa03d0a8e78042b97c08fc9ed
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Wed Dec 10 14:02:12 2014 +0100

    This commit is a followup to WL#8145 (NdbInfo : Per-fragment operations info).
    That WL introduced an error causing 'testScan -n Bug54945 T1' to fail:
    short-signal scans crashes because the attrinfo section is not available
    at the point where the code tries to read it to find the size of the
    interpreted progam. This commit fixes that by not trying to count program
    size for short-signal scans and lookups. Since these only happen during
    online upgrade, they are not important for per-fragment statistics.

commit 98286586a288d294dc0ad2912f917ba2ac68aad1
Merge: 3712f20 8926a72
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Dec 10 18:05:44 2014 +0530

    merge 7.3 -> 7.4

commit 8926a726c6c7dd998190f3d6616b960f84dd9f1f
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Dec 10 18:03:13 2014 +0530

    Bug #19992856 MYSQL CLUSTER TRIGGER ON DELETE FALSE POSITIVE
    
    For a delete query, mysqld does a range read to read all the PKs and
    ranges given in the query. If the range read does not return an error,
    the delete triggers are executed.
    
    The issue occurs because read before write removal is attempted with
    a delete query, on a table which has a delete trigger. The read is
    optimised away, so the range read cannot identify the empty range
    and return an end-of-file error. Since no error is returned, the
    delete trigger is executed even though no rows have been deleted.
    
    While running a delete or update query, there is a check to determine
    whether read before write removal should be used. Modified this check
    to disable read before write removal 1) for delete if the table has a
    delete trigger and 2) for update if the table has a update trigger.

commit 3712f20d77f3387fd42e2478340025a07217c9d9
Merge: 1393a2f c35e769
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Wed Dec 10 11:07:28 2014 +0100

    Merge 7.3->7.4.

commit c35e769bda2ee1e4d99e40891033c5bf23f80a2d
Merge: 727f86f 40d35e3
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Wed Dec 10 11:03:32 2014 +0100

    Merge 7.2->7.3.

commit 40d35e3e1468aa28d03f77d11629ca00e0eed2f6
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Wed Dec 10 10:57:34 2014 +0100

    This commit is a followup to the fix for bug#19976428 ("reports failing
    with 'out of longmessagebuffer' error"). This commit updates a
    regression test (testIndex/FireTrigOverload) so that it will expect the
    right error code (293 "Inconsistent trigger state in TC block" instead
    of 218 "Out of LongMessageBuffer").

commit 1393a2f74655792865cb988b34a5896aed4b2da0
Merge: 6314ee8 727f86f
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Dec 9 21:45:19 2014 +0200

    merge

commit 727f86ffeed8b647d01b8aeccec1fbb5fee05485
Merge: d25eb2b bc590ef
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Dec 9 21:35:41 2014 +0200

    merge

commit bc590ef92dadb1de05219c32dd3b208327c59f7e
Merge: 49147dc afb2698
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Dec 9 21:16:50 2014 +0200

    merge

commit afb269895d9e809ec8cbf6b8c6620b5bbbe48c6f
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Tue Dec 9 19:16:45 2014 +0200

    autotest auto1.diff
    testBasic -n Bug16834333 : fix dict cache crash

commit 6314ee8e69a912c86d3643addfa6812dc8482757
Merge: c6f54df d25eb2b
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Dec 9 17:07:10 2014 +0000

    Merge 7.3->7.4

commit d25eb2bfc6cd4c111df0a076cf21f6d7834a93f8
Merge: d8f79b2 49147dc
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Dec 9 14:56:09 2014 +0000

    Merge 7.2->7.3

commit 49147dca100fbe979c54bc8eee71b00baf94460d
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Dec 9 14:23:53 2014 +0000

    Bug #19858151 	MAKING DATA NODE SELF-EXCLUDE MECHANISM MORE ROBUST
    
    The LCP Scan Frag watchdog and GCP Monitor can both decide to
    exclude a node if it is too slow when participating in these
    protocols.
    
    Currently the exclusion is implemented by asking the failing node
    to shutdown.
    
    This allows it to first log some debugging information, and
    shutdown with a clear failure cause.
    
    However in some situations it may be slow to shutdown, and prolong
    the duration of GCP/LCP stall for the other unaffected nodes.
    
    To minimise this time, this fix adds an isolation mechanism which
    causes the other live nodes to forcibly disconnect the failing
    node after some delay.
    
    This gives the failing node the chance to shutdown with debugging
    info and a good message if possible, but limits the time the others
    must wait for this to occur.
    
    Once the live nodes have processed the disconnection of the failing
    nodes, they can commence failure handling and restart the protocol(s).
    
    Even if the failed node takes a long time to shutdown, the others
    can proceed with processing.
    
    The GcpMonitor and the Lcp Scan Fragment watchdog are enhanced to
    make use of this mechanism.
    
    Three new testcases are added :
     1.  GcpStop
         Testing of GcpStop handling in normal cases
     2.  GcpStopIsolation
         Testing of GcpStop self-shutdown failure so that Isolation is
         required
     3.  LcpScanFragWatchdogIsolation
         Testing of Lcp Scan Fragment Watchdog where Isolation is
         required.
    
    These are added to the daily-devel test suite.
    
    Additionally :
    
    Bug #20128256 	NDB : GCP STOP MONITOR HAS ONLY ONE BULLET
    
    This bug was discovered while testing (GcpStop testcase).
    
    The Gcp Monitor did not continue operation after detecting a Gcp stop.
    
    This is fixed so that it does continue operation after detecting
    a Gcp stop, and this is tested by both the GcpStop and GcpStopIsolation
    testcases (where the Master node is not a victim and must detect and handle
    multiple separate GCP stop events).

commit c6f54dfb111db01c6979a6d78b7be30ceb7415b3
Merge: 430c1ed d8f79b2
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Dec 9 18:26:05 2014 +0530

    Merge 7.3->7.4

commit d8f79b299827479ef075061b9670eef03c251210
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Dec 9 18:24:51 2014 +0530

    Bug #19550973:
    CREATE/DROP DATABASE STATEMENT SEGFAULTS IF IDENTIFIER LENGTH IS >=64
    
    The bug is due to the mismatch of schema identifier limits between mysqld and
    ndb. mysqld allows 64 whereas ndb allows only 63. The crash happens in NDB's
    binlog thread when it tries to replicate the newly created database with schema
    length 64 to all other mysqlds present in the cluster.
    
    This patch fixes it by preventing the replication of these 64 length dbs to
    other mysqld. This patch also fixes the possible crash that could occur during
    ALTER TABLE RENAME with schema identifier of length 64.
    Changes :
      - added a validation in ndbcluster_binlog's ndbcluster_log_schema_op() to
        throw an error if length is > 63 and skip logging to ndb_schema table.
      - added a similar validation to ha_ndbcluster::rename_table()
      - updated the error thrown in ha_ndbcluster::create() when table name length
        is greater than 63
      - added appropriate test cases to ndb_basic and ndb_multi to test the patch

commit 430c1edd1eade9e3d6c7ff391a0b8cf3d5878c09
Merge: 6c57aaa 422b51b
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Dec 9 13:46:08 2014 +0100

    Merge 7.3 -> 7.4

commit 422b51b2fcfbc333e9b4387a6db9a1439a4a1ab2
Merge: 618f459 a651ca3
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Dec 9 13:35:00 2014 +0100

    Merge 7.2 -> 7.3

commit a651ca32267647f8443adcec00b840fa029bd923
Merge: c267b1c f642d62
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Dec 9 13:33:28 2014 +0100

    Merge 7.1 -> 7.2

commit f642d628df65851a6132a5a2e223c0df67c9cae4
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 16:06:36 2014 +0100

    Updated fix for bug#20113145:
    
      Transporter::doSend() Fails to update send buffers after a partly failed send
    
    If some data were sent (sum_sent > 0) before my_socket_writev
    returned with an error, we returned immediately without
    calling iovec_data_sent() which maintains the send buffers.
    
    Thus another ::doSend() will fetch some of the already sent
    data. Iff that send does not fail, the prev sent data is
    actually sent twice - Resulting in garbage received by the
    destination node.

commit 6c57aaabd48fec430ffd06de57e3a26812ac58de
Merge: 1e6418d 618f459
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 13:51:44 2014 +0100

    Null Merge

commit 618f459bcfad1301dd96bb4ac4069b9ae95852a0
Merge: 9321e2f c267b1c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 13:50:47 2014 +0100

    Null merge

commit c267b1c2e711c8c0710ae1c10eab9f29c0fec413
Merge: 5ca2e86 c86037c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 13:48:30 2014 +0100

    Merge 7.1 -> 7.2

commit c86037cd624150089eaf874a1cb4cfb1e0c6fa07
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 13:46:07 2014 +0100

    Follow up to fix for bug#bug#20166585:
    
      EXCESSIVE MEMORY USAGE: NDBSCANOPERATION::CLOSE() DOES NOT RELEASE BUFFER MEM.
    
    Frazer had some concerns that the delete of m_scan_buffer is
    done by ::close_impl while we hold a poll_guard on the client.
    
    This lock was not required for doing the delete, so the
    delete operation is moved from ::close_impl()
    into ::close() to a place immediately after the
    return from close_impl(). (and the release of poll_guard.)

commit 1e6418dd60622626cbabbde3c52e8dae26ce518a
Merge: 93747ce 9321e2f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 13:41:32 2014 +0100

    Null merge

commit 9321e2f22716fbdaecedbf50376140d7cadd0523
Merge: ea60a4b eaae69c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 13:40:24 2014 +0100

    Null merge

commit eaae69c9ceefee0866379afa1d63d82e92c203cb
Merge: b168cb3 5ca2e86
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 13:39:10 2014 +0100

    merge to resolve push / merge conflict with Jans push

commit 93747ce006cfa61eab14b77ecf4cc88099c8d3d5
Merge: 13946a4 ea60a4b
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 13:29:26 2014 +0100

    Merge 7.3 -> 7.4

commit ea60a4b939fc7fa50f15ff29e177766e099557e8
Merge: eb4a894 b168cb3
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 13:24:42 2014 +0100

    Merge 7.2 -> 7.3

commit b168cb382758973727ee4488f8a16ebd390cf359
Merge: d8ec4b2 e99d7de
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 13:18:06 2014 +0100

    Merge 7.1 -> 7.2

commit e99d7de2fdca506be1254f7c9a9bcff85f0609bb
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 13:15:30 2014 +0100

    Follow up to fix for bug#bug#20166585:
    
      EXCESSIVE MEMORY USAGE: NDBSCANOPERATION::CLOSE() DOES NOT RELEASE BUFFER MEM.
    
    Frazer had some concerns that the delete of m_scan_buffer is
    done by ::close_impl while we hold a poll_guard on the client.
    
    This lock was not required for doing the delete, so the
    delete operation is moved from ::close_impl()
    into ::close() to a place immediately after the
    return from close_impl(). (and the release of poll_guard.)

commit 13946a4d06001d8fd7165cc38986a0649d58768d
Merge: cf34965 eb4a894
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Mon Dec 8 13:15:23 2014 +0100

    Merge 7.3->7.4.

commit eb4a894ad1c3e46a3189be42905f1690bec8349c
Merge: 77c0710 5ca2e86
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Mon Dec 8 13:03:59 2014 +0100

    Merge 7.2->7.3.

commit 5ca2e860191b248b13de6c210bc2c818dcac2634
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Mon Dec 8 12:56:40 2014 +0100

    This commit fixes bug #19976428 ("reports failing with 'out of
    longmessagebuffer' error"), and a set of other issues related to the
    pool of "Fired Trigger" records.
    
    When exhausting the fired triggers pool, cluster wrongly issues the error
    message 218 (Out of LongMessageBuffer). This commit adds a new error code
    (221) for that situation. In addition, the commit fixes one more case where
    218 may wrongly be reported.
    Other issues fixed by this commit:
    
    * Setting low values for MaxNoOfFiredTriggers trigers an error in DLMHashTable
    template. The DLMHashTable fails to allocate memory if there is just one hash
    bucket.
    
    * This commit ensures that a transaction releases any "fired trigger" records
    it holds when it aborts. Earlier, these records would be held until the
    ApiConnectRecord was reused by another transaction.
    
    * For the "Fired Trigger" pool in ndbinfo.ndb$pools, 'high' would always equal
    'total'. This was beacuse all records were momentarily seized when initializing them.
    This commit fixes that, so that 'high' gives the maximal value *after*
    initialization.

commit cf349658ecbf3e92e84e4504637e15093b9a208a
Merge: e26d434 77c0710
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Mon Dec 8 17:13:14 2014 +0530

    Merge 7.3 -> 7.4

commit 77c0710d7701e0b559b3067c76ab564c0781ad7b
Merge: 03f3ca3 d8ec4b2
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Mon Dec 8 17:09:43 2014 +0530

    Merge 7.2 -> 7.3

commit d8ec4b2743607f9d161a364fba727750582681a2
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Mon Dec 8 17:02:18 2014 +0530

     Bug#17069285 : SEGMENTATION FAULT IN NDB_PRINT_FILE
    
     club failure of ndb_print_file : Fixing the path issue

commit e26d4343f03945759d1edf8a14e6a443063b0add
Merge: 6a79eb4 03f3ca3
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 10:46:26 2014 +0100

    Merge 7.3 -> 7.4

commit 03f3ca3aba740f4357ba3731da8f14a906c917ae
Merge: 2b40e04 cef188b
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 10:43:28 2014 +0100

    Merge 7.2 -> 7.3

commit cef188bc370d77310afb4dd868af0ab165220422
Merge: ad1f365 b975b37
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 10:40:43 2014 +0100

    Merge 7.1 -> 7.2

commit b975b372c992ca9960722b5b441d0acc5d159b99
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 10:36:42 2014 +0100

    Update to recent fix where we failed to close scan cursors
    at the end of their lifetime.
    
    As we are not interested in these NdbScanOperation objects
    anymore at all, we could as well tell ::close() to
    even release the NdbScanOperations at this point.

commit 6a79eb4926fd6ec3b0eecaf23e3c4ee8a8bc177a
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Dec 8 10:18:27 2014 +0100

    WL#7514: Fitted into infoEvent max size and decreased some too wordy log printouts

commit 7489fdf2375765e843bb0dd67b1cf62ed5fd04b4
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 8 09:45:08 2014 +0100

    Update 'v3' fix for bug#20166585:
    
      EXCESSIVE MEMORY USAGE: NDBSCANOPERATION::CLOSE() DOES NOT RELEASE BUFFER MEM.
    
    The 'scan buffer', used to store rows fetched from a scan batch,
    can easily become rather large (Multi MB). It is thus important
    that we dont keep this structure longer than necessary.
    
    The ::close() of a NdbScanOperation terminates navigation of
    the scan result set. Thus, this is a natural place to release
    this scan buffer.
    
    This patch moves the scan buffer release point from
    NdbScanOperation::release to ::close().
    
    NOTE: ::release() terminates the lifecycle of the
    ScanOperation itself. ::close() terminates the lifecycle
    of the result set - Thus, ::close() is the natural place to
    release such buffer memory.

commit 84f78badb7003358ee00eb3d30992f0b7c96d35d
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Dec 8 09:39:05 2014 +0100

    WL#7514: Fixed an incorrect assert

commit f33e5ec0d26f1ad05b6430d988e7fb059766573e
Merge: 4b3c532 2b40e04
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Sat Dec 6 13:45:45 2014 +0100

    Merge 7.3 -> 7.4

commit 2b40e0405e1422f06fe03460ae92ffee2886d4c6
Merge: d82a79c ad1f365
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Sat Dec 6 13:41:42 2014 +0100

    Merge 7.2 -> 7.3

commit ad1f36506d41f82cf31b6457cb246511c784623f
Merge: d5828f3 c964096
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Sat Dec 6 13:38:36 2014 +0100

    Merge 7.1 -> 7.2

commit c96409638751a80005bf0ac32733c0c649393446
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Sat Dec 6 13:36:10 2014 +0100

    Fix for various AutoTest 'testIndex ...' crashing due to
    excessive memory usage.
    
    The verifyIndex() utility used by several of the testIndex testcases
    opened a NdbIndexScanOperation for every rows fetched from
    a NdbScanOperation.
    
    That NdbIndexScanOperation was not 'closed' at the end of its
    lifecycle, and was thus not cleaned up until the transaction, and the
    enclosing NdbScanOperation was closed/cleaned.
    
    Thus a waste amount of scan buffer memory us occupied, and tests
    are failing due to this.
    
    NOTE: This patch alone is not sufficient to fix the failing AutoTest.
    The bug 20166585 has been filed in addition, regarding that a ::close()
    should release the scan buffer memory.

commit 4b3c5321d6cd67cef381f45428831985b46ce99f
Merge: d3995e1 d82a79c
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 5 19:27:24 2014 +0530

    Merge 7.3 -> 7.4

commit d82a79c2335ebbde563fa37c3a51967161a4705b
Merge: f29654a d5828f3
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 5 19:26:01 2014 +0530

    Merge 7.2 -> 7.3

commit d5828f326a999416d61264d3a0cfead4ca5b7736
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 5 19:24:17 2014 +0530

    Bug#18715165, BUG#17069285
    Rewriting the mysql-test/mysql-test-run.pl hack for:
    - Bug#18715165 : NDB_INDEX_STAT FAILS WHEN UNIQUE KEY EXISTS; SEGMENTATION_FAULT
    - BUG#17069285 SEGMENTATION FAULT IN NDB_PRINT_FILE

commit d3995e1b7ec10d8c8cacd13c6c096379904ada82
Merge: a279280 f29654a
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 5 19:10:11 2014 +0530

    Null-merge 7.3 -> 7.4

commit f29654aa9db0274b6c9fac0d415e9059481426f0
Merge: b780cc2 c48afcf
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 5 19:09:03 2014 +0530

    Null-merge 7.2-7.3

commit c48afcfa4fde43d30dce0015c76e2e7860d8130c
Merge: 4050f6b 3faaaee
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 5 19:08:00 2014 +0530

    Null-merge 7.1 -> 7.2

commit 3faaaee1ef161a7a9dda7c0cecee4778d19458b8
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 5 19:06:36 2014 +0530

    Bug#17069285
    Rewriting the mysql-test/mysql-test-run.pl hack for "BUG#17069285 SEGMENTATION FAULT IN NDB_PRINT_FILE"

commit a279280dda512a2475e63a32c4bfb5be48645e5f
Merge: fc615e0 fe8c59f
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 5 18:54:07 2014 +0530

    Null-merge 7.3 -> 7.4

commit fe8c59ff50f45604800853799c36e19aa43b57b3
Merge: 1cde211 4288917
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 5 18:44:58 2014 +0530

    Null-merge 7.2-7.3

commit 4288917d04aa89a69477bb33e9616c49ada08b28
Merge: 237de7a 95a01a0
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 5 18:43:41 2014 +0530

    Null-merge 7.1 -> 7.2

commit 95a01a03a323d976fe62c7ee27e6f2e7bf1c238d
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Dec 5 18:41:50 2014 +0530

    Bug#17069285
    Rewriting the mysql-test/mysql-test-run.pl hack for "BUG#17069285 SEGMENTATION FAULT IN NDB_PRINT_FILE"

commit fc615e0644072bd56762a8ba8937a8249d8ccac8
Merge: f96fb52 b780cc2
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Dec 5 14:10:08 2014 +0100

    Merge 7.3 -> 7.4

commit b780cc24521b18b03f805ba0b2bf603994ba8ed6
Merge: 1cde211 4050f6b
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Dec 5 14:05:43 2014 +0100

    Merge 7.2 -> 7.3

commit 4050f6b5f555c6dccceca9c29b81bbbe8a295673
Merge: 237de7a 62681fd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Dec 5 14:03:14 2014 +0100

    Merge 7.1 -> 7.2

commit 62681fdac04a74a96c00fd762115f82698ffe175
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Dec 5 14:01:53 2014 +0100

    The AutoTest testcase 'testScan -n Bug54945 T1' crashed as it
    failed to create a transaction object which was later referred
    without first checking that it was created.
    
    Fixed that, and a few other similar issues in testScan.cpp
    
    We should still expect this testcase to fail, but
    now hopefully with a saensible error message instead
    of crashing.

commit f96fb52e98fee7d190c7cdc0b6693cd6d0d11eea
Merge: 1272fca 1cde211
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Dec 5 13:02:37 2014 +0100

    Merge 7.3 -> 7.4

commit 1cde211279ed9896001c76a009f98a7495b88950
Merge: eb71ff6 237de7a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Dec 5 12:57:59 2014 +0100

    Merge 7.2 -> 7.3

commit 237de7ac36c38cef371416550aa884ad52798b90
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Fri Dec 5 12:56:40 2014 +0100

    Fix for crashing AutoTest: 'testNdbApi -n RecordSpecificationBackwardCompatibility'
    
    In order to handle an updated 'RecordSpecification' format, the
    call to ::createRecord() has a 'size' argument to identify old (v1)
    format of this struct.
    
    The test 'RecordSpecificationBackwardCompatibility', incorrectly specified
     'sizeof' the new, instead of the old 'v1' version.

commit 94b2c56efbfc37098e3dbaf80bd64b8bf2fc18c4
Author: magnus.blaudd@oracle.com <>
Date:   Fri Dec 5 09:56:36 2014 +0100

    WL#6815  Adapt MySQL Cluster to 5.7
    
     - fix review comment
     - rename variable to distributed instead of distributed_count, the variable
       does not hold a count. And actually the original vetsion never did either since
      variable is boolean.

commit 1272fca9903be9d905de85e89ff9009576975c54
Merge: 56c5227 eb71ff6
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Dec 4 22:51:19 2014 +0100

    Null merge

commit eb71ff6f1487b47de5f5cb6132b64a7e938d0039
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Dec 4 22:50:19 2014 +0100

    Fix flexAsynch also in 7.3, backport from 7.4

commit 56c52277649ac17b27316c01c1860aa37b243b4c
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Dec 4 22:46:40 2014 +0100

    WL#7508: Parallelize synchronization of starting nodes with live nodes

commit 8d91e0110d740e8a08da1b1b1eed44ca689d2eb0
Author: magnus.blaudd@oracle.com <>
Date:   Thu Dec 4 18:23:28 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - Test fails since it intentionally INSERT data which will be truncated, this violates
       the new default sql_mode
     - Fix by temporarily turning off STRICT sql_mode

commit 4c759d15c923d7009d71dbe81fee2b0660c854fe
Author: magnus.blaudd@oracle.com <>
Date:   Thu Dec 4 18:12:06 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
     - Test fails since the two new default sql_modes  ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES
      are displayed by "show create procedure"
     - Update .result file to include the two new default sql_modes(as has been done in similar
      places)

commit 51dbf84d6fba70f616faa1760ad3b015415fea2a
Author: magnus.blaudd@oracle.com <>
Date:   Thu Dec 4 18:07:15 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - Test fails since it intentionaly truncates data preparing the test
       data(those statements are also within enable/disable_warnings)
     - Turn off STRICT mode for the entire test. Should any new warnings
      pop up, those will cause a diff against .result file and thus be detected

commit efeaa6cc5097d58d946dd42bfb3979be5c2a9b68
Author: magnus.blaudd@oracle.com <>
Date:   Thu Dec 4 17:15:19 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - Test fails since creating a DATE column with "DEFAULT '0000-00-00'" is not allowed in STRICT mode
     - Remove the DEFAULT clause since test always INSERTs proper values into all columns
       and thus never utilize the default.

commit 21c296159c09bb5b697bfd2945c64a7ff956a1bb
Author: magnus.blaudd@oracle.com <>
Date:   Thu Dec 4 17:04:11 2014 +0100

    WL#6815  Adapt MySQL Cluster to 5.7
    
    - Test intentionally INSERT data which is longer then the column length,
      this violates STRICT mode
     - Fix by turning off STRICT mode for the part of the test which inentionally violates it

commit 661a48d42ae5dff7680223776bf665779e71b3fd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Dec 4 15:21:13 2014 +0100

    Experimental fix for several AutoTest which crash with
    an unreadable stack dump very early in their lifecycle, like:
    
    - testIndex -l 2 -n SR1_O T6 T13
    - testBasicAsynch -n PkDeleteAsynch
    - testBasicAsynch -n PkUpdateAsynch
    - testScan -n ScanRead40 -l 100 T1 D1 D2
    
    We have not succeeded in reproducing these failures
    outside the ATRT framework. However, the crashes looks
    very much like stack overruns due to an insufficient
    thread stack size.
    
    This fix sets the default thread stack size in the NDBT_Test
    framework to 512K, instead of using the common default stack size
    in NdbThread_Create which is either 64/128K.
    
    This will *not* affect the thread stack size for threads running
    inside the datanodes!
    
    Pushes this to 7.4 only. Will later backport 7.1-> if
    it seems to fix the crashes.

commit 9f7e174d01c4c94822c666dd93f53d9ef32f3283
Merge: b99938c e637652
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Dec 4 14:45:29 2014 +0100

    Merge 7.3 -> 7.4

commit e6376522b0459cd815ae91fccc2f9bd6675272a2
Merge: 6233702 b1423df
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Dec 4 14:33:54 2014 +0100

    Merge 7.2 -> 7.3

commit b1423df44197e3c2e03f6060b6f14293fa23ec20
Merge: 7953e1b 9452f4f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Dec 4 14:28:15 2014 +0100

    Merge 7.1 -> 7.2

commit 9452f4f1c209c16ce22fe522ecce24d3818e6f2a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Dec 4 14:23:35 2014 +0100

    Fixed crashing AutoTest testBitfield.
    
    The test client created a test table with a random number of
    columns, where all except the two first (Unsigned) columns
    are Bitfield columns. The number of columns were >= 1.
    
    However, there is a requirement in the Hugo framework
    that all tables under its control should have a least
    an Unsigned PK column, and *another* unsigned column containing
    the update count of the rows.
    
    This fix changes the random table creation such that
    it contains at least these two columns.
    
    It also adds 'requires' to the HugoCalculator c'tor that this
    rule is followed, and propper in init of m_idCol and m_updatesCol
    which were missing.

commit b99938cc42080d788f2dd0838a9b8d4134505f92
Merge: c1e3ee7 6233702
Author: magnus.blaudd@oracle.com <>
Date:   Thu Dec 4 12:56:22 2014 +0100

    Merge 7.3 -> 7.4

commit 623370281482c66878b307eecb67c1e2fbe0f08b
Merge: fdc63eb 8fd78bd
Author: magnus.blaudd@oracle.com <>
Date:   Thu Dec 4 12:56:06 2014 +0100

    Merge 7.3-bug20135403-memcached -> 7.3

commit c1e3ee7155866fc4da319145aac5a9e438ad7219
Merge: cbdaaf8 898984d
Author: magnus.blaudd@oracle.com <>
Date:   Thu Dec 4 12:43:39 2014 +0100

    Merge

commit d4031c9d008161f934e8fa3038516516d285da95
Author: magnus.blaudd@oracle.com <>
Date:   Thu Dec 4 11:21:45 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - The default STRICT mode prevents usage of TIMESTAMP without any other column
       definition since plain TIMESTAMP column is equal to "NOT NULL DEFAULT '0000-00-00 00:00:00'"
       i.e a date invalid in STRICT mode.
     - Change the column to be specified as allowing NULL which is equal to "NULL DEFAULT NULL"

commit cbdaaf830da3d17d4c87e28306615f022ff3ce57
Merge: e4d5b28 fdc63eb
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 22:55:58 2014 +0100

    merge 7.3 to 7.4

commit fdc63eb7d46c29d37817ee82d908b28857d9820c
Merge: 97dda3a 7953e1b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 22:55:22 2014 +0100

    merge 7.2 to 7.3

commit 7953e1b8e641c9a7a2ce915b0e68387155a2849f
Merge: 73ab533 f864605
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 22:54:01 2014 +0100

    merge 7.1 to 7.2

commit f86460517fcaf52232803c5954da0dfe9b42a826
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 22:50:49 2014 +0100

    Bug#20136739 NEW WARNINGS AFTER MERGE FROM SERVER 5.5.41 AND 5.6.22 INTO MYSQL CLUSTER
    
    Post push fix.
    ndbjtie unit test jtie_unit_tests-t failed.
    Cleaned up Java test from removed C++ function use - again.

commit 22ecdf4740db775e14e0d86aee96438626f917b1
Author: magnus.blaudd@oracle.com <>
Date:   Wed Dec 3 19:06:09 2014 +0100

    Cherrypick fix for ndb_memcache out of source from 7.4

commit e4d5b28425cf85b5cb8dff9a98c6e1ed995a9c2d
Merge: 20f9f80 97dda3a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 18:40:59 2014 +0100

    merge 7.3 to 7.4

commit 97dda3ad56e0ebf8fb4f4c1e1470511033d04426
Merge: 5bededa 73ab533
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 18:38:59 2014 +0100

    merge 7.2 to 7.3

commit 73ab533172ab1589464ae811c8e52c759bc12791
Merge: 872462f f4101f0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 18:37:37 2014 +0100

    merge 7.1 to 7.2

commit f4101f0aad7970f77039b0d350630e2f57b18e2f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 18:00:46 2014 +0100

    Bug#20136739 NEW WARNINGS AFTER MERGE FROM SERVER 5.5.41 AND 5.6.22 INTO MYSQL CLUSTER
    
    Post push fix.
    ndbjtie unit tests failed.
    Remove use of removed C++ functions in Java unit test programs.
    
    -------------- This line and the following will be ignored --------------RNINGS AFTER MERGE FROM SERVER 5.5.41 AND 5.6.22 INTO MYSQL CLUSTER
    
           Removed functions sXXX and fXXX which returned const value.
           There seemed to be a corresponding functions without const.
    
           Deleted deliver_EE1c, replaced some uses with deliver_EE1.
    
    modified:
      storage/ndb/src/ndbjtie/jtie/test/myjapi/myjapi/MyJapi.java
      storage/ndb/src/ndbjtie/jtie/test/myjapi/myjapi/MyJapiCtypes.java
      storage/ndb/src/ndbjtie/jtie/test/myjapi/test/MyJapiTest.java

commit 20f9f80a2cfc4ca3c12d7d96ecdc5e8a80f0c44a
Merge: 3e4c300 5bededa
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 14:56:57 2014 +0100

    merge 7.3 to 7.4

commit 5bededaba3bf2ed4c8ad8bcf3a836b8c7b1f3973
Merge: e867e46 872462f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 14:55:18 2014 +0100

    merge 7.2 to 7.3

commit 872462f17333f65ea1627b1c08029cdef522ee77
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 14:52:03 2014 +0100

    Bug#20136739 NEW WARNINGS AFTER MERGE FROM SERVER 5.5.41 AND 5.6.22 INTO MYSQL CLUSTER
    
    Fix for new warnings in memcache backported from mysql-trunk-cluster:
    
    ------------------------------------------------------------
    revno: 3663
    revision-id: magnus.blaudd@oracle.com-20140605095217-cmp3odmco9z7n8w5
    parent: magnus.blaudd@oracle.com-20140605094150-o8bkqi2l442wcmya
    committer: magnus.blaudd@oracle.com
    branch nick: trunk-cluster
    timestamp: Thu 2014-06-05 11:52:17 +0200
    message:
      WL#6815 Adapt MySQL Cluster to 5.7
       - The -Wdeclaration-after-statement has been made default
         for build of C files in 5.7. This flag turns on the warning
         "ISO C90 forbids mixed declarations and code" when code and
         declarations are mixed in a function. Most likely this intends
         to help with keeping the C code portable to compilers which
         does not yet support such constructs  - thus we should adapt
         all our code not to cause that warning.
       - Fix by changing the code in ndb_engine.c which uses
         said construct.

commit ccd6e526d0124155e070f9d798edc6bed5113b6d
Merge: 8625e58 711bfa6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 14:50:56 2014 +0100

    merge 7.1 to 7.2

commit 711bfa602f6c355b96fd0084817de8bc828df8c6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Dec 3 14:47:43 2014 +0100

    Bug#20136739 NEW WARNINGS AFTER MERGE FROM SERVER 5.5.41 AND 5.6.22 INTO MYSQL CLUSTER
    
    Removed functions sXXX and fXXX which returned const value.
    There seemed to be a corresponding functions without const.
    
    Deleted deliver_EE1c, replaced some uses with deliver_EE1.

commit 8fd78bd46f1a73387b482c63c19c8468589f28ea
Author: magnus.blaudd@oracle.com <>
Date:   Wed Dec 3 13:21:56 2014 +0100

    Bug#20135403 NDB_MEMCACHE TEST DOES NOT WORK IN OUT OF SOURCE BUILD
    
     - fix mtr.pl to look in build dir
     - change mtr.pl  to set environment variable NDB_MEMCACHE_STARTED thus avoid
       duplicated code in include/have_memcache.inc(which also didn't look in correct dir).
    - slightly change mtr.pl logic to first look for ndb_engine.so and use that as the way
      to determine if NDB memcached is supported.
     - fix problem in memcached_path.pl with difference between cmake and perl
      variables. The former may be set to "1", "ON", "TRUE" etc while configuring the product
      and perl should not need to know -> translate"cmake boolean" to 1 or 0 in cmake for easier
      interpretation by perl.
     - Improve comments slightly

commit 3e4c300749fd5d5f9cb295ac0ff418d0076f348c
Merge: 84f8873 e867e46
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 3 10:51:58 2014 +0100

    Merge 7.3 -> 7.4

commit e867e46c3fd4ead933e7dcb714e8a68f472c17d1
Merge: d71dbc6 8625e58
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 3 10:44:18 2014 +0100

    Merge 7.2 -> 7.3

commit 8625e583ad5b30e7e4e041516f6e4d23b9a8d430
Merge: 4de4c1d cf2dcfd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 3 10:40:08 2014 +0100

    Merge 7.1 -> 7.2

commit cf2dcfdcbe043c309a8e4ba6e48063250805567a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Dec 3 10:35:59 2014 +0100

    Fixed crashing AutoTest: './testLimits -n ExhaustSegmentedSectionPk WIDE_2COL'
    
    The buffer 'char srcBuff[]' was declared with a too small size
    in order to be used as a source for both 'Attr' and 'Key' columns.

commit 84f8873c609b9b2455a3a5b926b57ec7bf854fb6
Merge: f9da8e2 d71dbc6
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Wed Dec 3 13:17:18 2014 +0530

    Merge 7.3 -> 7.4

commit d71dbc6d47a3c21a5d1c1b8e493a03bcd0adc5dc
Merge: 2c18196 4de4c1d
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Wed Dec 3 13:15:29 2014 +0530

    Merge 7.2 -> 7.3

commit 4de4c1d1a8000e5c61c7c31855b1069fa6a52c1d
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Wed Dec 3 13:12:01 2014 +0530

    Bug#18715165 : NDB_INDEX_STAT FAILS WHEN UNIQUE KEY EXISTS; SEGMENTATION_FAULT
    
    During the process, an array of index name is created. There exists a check that if
    the index is an ordered type then only it is been added in the array. However, if
    it not an order index the corresponding value of array is skipped resulting, a
    garbage value in the array. Accessing these garbage values later in the process,
    results in segmentation fault.
    
    This patch make sure that all the names present in the array are corresponding
    to an order indexes.
    
    other changes:
      - Added a unit test for it.
      - Added a inc file
      - update the result file

commit f9da8e2223b72e5a29339075fbaaede08f8c0a8b
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Dec 3 02:27:46 2014 +0100

    BUG#74594: Fixed a hang in PAUSE LCP protocol when LCP was completed between PAUSE and UNPAUSE

commit 23170cfda0bfba7aaef89664eca5cc1ef2ecd1e8
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Dec 3 02:27:07 2014 +0100

    Removed lots of jam noise from QMGR preventing one from seeing the bugs

commit 04b5f1389187f67b47bfd1993600a0a27e01ea59
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 2 22:50:27 2014 +0100

    WL#6815  Adapt MySQL Cluster to 5.7
    
     - The  SQL  function OLD_PASSWORD() has been removed.
     - Rewrite test which used OLD_PASSWORD as a way to provoke an error to instead
      simply set a plain text string to SET PASSWORD. This cause SET PASSWORD to fail
      just the same since the plain text string is not a "41-digit hexadecimal number".

commit 05305ec2104390bb2e7a7abb8388864c1f26fb9f
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 2 21:56:22 2014 +0100

    Revert some junk lines from pfs_upfgrade*.result files
    
     - caused by the new mysql_upgrade format which didn't like usage of multi
      line procedures and DELIMITER.
     - recorded during "Merge 5.7.5 -> trunk-cluster"

commit b8f412c9447024377cf7cff1d127fd962e34d141
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 2 21:45:29 2014 +0100

    WL#6815  Adapt MySQL Cluster to 5.7
    
     - Remove usage if --innodb from -master.opt files, most of these had already been removed
      but there was three left behind.
    - The mysqld prints a warning to the erorr log saying "The use of InnoDB is mandatory since MySQL 5.7. The former options like '--innodb=0/1/OFF/ON' or '--skip-innodb' are ignored."

commit 03e96b448238fa9ba0a7bc5e207699d8afc131ca
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 2 21:36:01 2014 +0100

    WL#6815  Adapt MySQL Cluster to 5.7
    
     - update .result files to reflect changes to sourced include files which
       has been changed to accomodate the default strict sql_mode.
     - The sourced files either _turn off_ strict mode for a while
      or  uses the IGNORE keyword to force the offending statement.
     - Re: WL7764: Make STRICT mode for transactional SEs default in 5.7

commit 30b1511b5945f70fbf5122f8863888d00efe3e2b
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 2 21:20:37 2014 +0100

    WL#6815  Adapt MySQL Cluster to 5.7
    
    - The DISTINCT keyword is no longer shown in the EXPLAIN output for group by queries where all
      grouped columns are in the SELECT list.
    - Update .result file
    - Re: WL2489: Better ONLY_FULL_GROUP_BY mode

commit 331e052a14fa5721fe08bf2e261a1b74cb0a77cc
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 2 21:07:34 2014 +0100

    WL#6815  Adapt MySQL Cluster to 5.7
    
     - usage of the "dummy"  datetime '0000-00-00 00:00:00' is not allowed in strict mode
     - three tests fail becuase they use the "dummy" datetime as default value. However no
      insert are done where the default value is used. Remove the usage of "dummy"  datetime
     - add test that "dummy" datetime is still allowed(also for NDB tables) without strict mode.

commit fd7b4a3f8661d9408a6f3733c7241a05c158d3d3
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 2 17:42:47 2014 +0100

    WL#6815  Adapt MySQL Cluster to 5.7
    
     - The geometry functions now return an error when gis data is invalid. Previously
       they just returned NULL.
     - Update .result file with new error message(from the geometry function).
    
     - re: Bug18900932 ERROR MESSAGE ISN'T SENT TO CLIENT WHEN SERVER REPORTS ONE

commit ac9bb304159acbc7fc149026a4de367296feb536
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 2 17:32:14 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - It's no longer allowed to use geometries in comparison operators etc.
     - Neither will the geomfromtext() silently return NULL
     - Test used geomfromtext() with invalid data point to provoke a debug printout
        to use NULL pointer. The debug printout code was changed to use Item::print()
       which should be safe.
     - Make testcase pass by replacing the geomfromtext with NULL and rerecord the .result
     - Re: BUG18127749 OPTIMIZER SHOULD THROW AN ERROR WHEN USER USES COMPARISION OPERATORS ON GIS DATA

commit 66b1d6017bbe2c7a8c393573a10de3cb37a4a534
Author: magnus.blaudd@oracle.com <>
Date:   Tue Dec 2 16:46:25 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - The Centroid() function has changed in 5.7.7 and now returns a different value from the given multiplygon.
     - The test sources include/gis_generic.inc and the exact same change has been done to the other .result files
       which sources the same file. Update the .result file.
     - Re: WL7236

commit 5cf0f09ea53ca68414e68bb94cf465f655ff0a8f
Merge: 5b19b83 2c18196
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 14:38:46 2014 +0100

    merge 5.6.22 via 7.3 into 7.4.3

commit 2c18196179ddfb22bb43a5cbc8aafd62820e8914
Merge: 59cb25d 1e99d53
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 14:36:39 2014 +0100

    null merge 7.2 into 7.3

commit 59cb25d25d7b4888bbd9d312221ebcc0fb48f57e
Merge: 59f7a25 c8ce5b4
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 13:55:07 2014 +0100

    Merge 5.6.22 into 7.3.8

commit 59f7a2576cd3cb4d874b086f83ed2847e6fbfae4
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 13:40:28 2014 +0100

    Cherry-picked from mysql-5.6.22-release
    
    ------------------------------------------------------------
    revno: 6230
    revision-id: venkatesh.duggirala@oracle.com-20141030170343-4pfljkuwt48gkerg
    parent: marko.makela@oracle.com-20141030065549-onni0r95h2uc4s8w
    committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-10-30 22:33:43 +0530
    message:
      Bug#19704825 TEMPORARY SLAVE TYPE CONVERSION TABLES RELEASED TO EARLY
    
      Problem: The memory used in preparing slave type conversion temporary table
      is getting released early and causing unexpected results
    
      Analysis: As part of bug#18770469 fix, We introduced an event
      m_event_mem_root (a special mem root), added to Log_event
      class. While server is creating the temporary table, the memory needed
      is allocated from this special mem root which will be freed in ~Log_event()
      i.e., the scope of this memroot is one event. But it could happen
      that in some cases, server might need to access this
      conversion temporary table for next following event.
      For eg: A nested row event (insert is causing insert in a trigger)
      In this situation, the memory is getting delayed too early
      and causing issues when the server is trying to access the temporary
      table inside the trigger.
    
      Fix: We cannot use a mem_root whose scope is limited to an event
      execution in this situation. With some further analysis, found out
      that clearing a thd->mem_root at the end of statement (upon applying
      an event which has STMT_END_F flag) will solve out of memory problem
      while running a long transactions (bug#18770469) and will also
      make this reported problem (memory is getting released early) to go away.

commit 59dbf0dca7fc2e970015a682abd7dc128aef3003
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 13:35:34 2014 +0100

    Cherry-pick from mysql-5.6.22-release
    
    ------------------------------------------------------------
    revno: 6216 [merge]
    revision-id: balasubramanian.kandasamy@oracle.com-20141023045941-2v1eniiofwf83t4w
    parent: balasubramanian.kandasamy@oracle.com-20141021142230-66l9sqp68jjk91f1
    parent: balasubramanian.kandasamy@oracle.com-20141023045647-vdg0wswxf99ka31j
    committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-10-23 06:59:41 +0200
    message:
      Merge 5.5 => 5.6 Rpm 4.9 and newer is more strict regarding weekday in %changelog
        ------------------------------------------------------------
        revno: 2875.475.9
        revision-id: balasubramanian.kandasamy@oracle.com-20141023045647-vdg0wswxf99ka31j
        parent: balasubramanian.kandasamy@oracle.com-20141021141947-6s5z6rglet5z9huk
        committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
        branch nick: mysql-5.5
        timestamp: Thu 2014-10-23 06:56:47 +0200
        message:
          Rpm 4.9 and newer is more strict regarding weekday in %changelog

commit 31338c6dacc070f408affa74c84b940a5795c8ef
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 13:33:56 2014 +0100

    Cherry-picked from mysql-5.6.22-release
    
    ------------------------------------------------------------
    revno: 6215 [merge]
    revision-id: balasubramanian.kandasamy@oracle.com-20141021142230-66l9sqp68jjk91f1
    parent: balasubramanian.kandasamy@oracle.com-20141021130408-6wrsyrsn0q2g9h13
    parent: balasubramanian.kandasamy@oracle.com-20141021141947-6s5z6rglet5z9huk
    committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-10-21 16:22:30 +0200
    message:
      Merge 5.5 => 5.6 Fix changelog entries build failure
        ------------------------------------------------------------
        revno: 2875.475.8
        revision-id: balasubramanian.kandasamy@oracle.com-20141021141947-6s5z6rglet5z9huk
        parent: balasubramanian.kandasamy@oracle.com-20141021124858-1bd81lznq6qo24f6
        committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
        branch nick: mysql-5.5
        timestamp: Tue 2014-10-21 16:19:47 +0200
        message:
          Fix changelog entries build failure

commit 54ffd04b9f9a25965772f378a735bf8868a37e37
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 13:32:40 2014 +0100

    Cherry-picked from mysql-5.6.22-release
    
    ------------------------------------------------------------
    revno: 6187 [merge]
    revision-id: balasubramanian.kandasamy@oracle.com-20141006113040-cbrx6pbrzmmrr8yo
    parent: jon.hauglid@oracle.com-20141006105632-v80eiee7hfnazb4z
    parent: balasubramanian.kandasamy@oracle.com-20141006111941-zoqvgxbtqy0v659h
    committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-10-06 13:30:40 +0200
    message:
      Merge 5.5 => 5.6 Add license info in each subpackage
        ------------------------------------------------------------
        revno: 2875.468.120
        revision-id: balasubramanian.kandasamy@oracle.com-20141006111941-zoqvgxbtqy0v659h
        parent: jon.hauglid@oracle.com-20141006105453-3a4g8db44bzux741
        committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
        branch nick: mysql-5.5
        timestamp: Mon 2014-10-06 13:19:41 +0200
        message:
           Add license info in each subpackage

commit f66c53b8a9918ef53fb2185630b3f6d56efcc2bd
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 13:29:03 2014 +0100

    Cherry-picked from mysql-5.6.22-release
    
    ------------------------------------------------------------
    revno: 6184 [merge]
    revision-id: magnus.blaudd@oracle.com-20141002141200-bimdxhvfjabkbpkt
    parent: thirunarayanan.balathandayuth@oracle.com-20141001063950-avm93e3egdsaoxv3
    parent: magnus.blaudd@oracle.com-20141002135802-00q4w0jl8n4utndq
    committer: magnus.blaudd@oracle.com
    branch nick: 5.6
    timestamp: Thu 2014-10-02 16:12:00 +0200
    message:
      Merge 5.5 -> 5.6
        ------------------------------------------------------------
        revno: 2875.468.118
        revision-id: magnus.blaudd@oracle.com-20141002135802-00q4w0jl8n4utndq
        parent: kristofer.pettersson@oracle.com-20140929081738-k7bfyw7eul1lby5r
        committer: magnus.blaudd@oracle.com
        branch nick: 5.5
        timestamp: Thu 2014-10-02 15:58:02 +0200
        message:
          Bug#19553099 EXPIRE_LOGS_DAYS=1 CRASH MYSQLD DURING RESTART, DBUG_SYNC(NULL, ...)
    
           - Restarting mysqld with --expire-log-days=1 triggers 'log_in_use()' to be called while current_thd is NULL.
           - Check current_thd before calling DEBUG_SYNC() to avoid passing NULL pointer to DEBUG_SYNC()
           - Wrap debug code construct inside #ifndef DBUG_OFF like in other parts of the file

commit 1e99d53b7bf4a73978c77fe5da3bbead51a57676
Merge: c275a4b d89f72f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 13:23:42 2014 +0100

    Merged 5.5.41 into 7.2.19

commit c275a4b0fd30b5ebfc995f3b8eed011caf57333e
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 13:15:07 2014 +0100

    Cherry-picked from mysql-5.5.41-release
    
    ------------------------------------------------------------
    revno: 4731
    revision-id: balasubramanian.kandasamy@oracle.com-20141023045647-vdg0wswxf99ka31j
    parent: balasubramanian.kandasamy@oracle.com-20141021141947-6s5z6rglet5z9huk
    committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    branch nick: mysql-5.5
    timestamp: Thu 2014-10-23 06:56:47 +0200
    message:
      Rpm 4.9 and newer is more strict regarding weekday in %changelog

commit 598702f539c8b4639373c50f72d33024d2bc2fcd
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 13:12:35 2014 +0100

    Cherry-picked from mysql-5.5.41-release
    
    ------------------------------------------------------------
    revno: 4730
    revision-id: balasubramanian.kandasamy@oracle.com-20141021141947-6s5z6rglet5z9huk
    parent: balasubramanian.kandasamy@oracle.com-20141021124858-1bd81lznq6qo24f6
    committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    branch nick: mysql-5.5
    timestamp: Tue 2014-10-21 16:19:47 +0200
    message:
      Fix changelog entries build failure

commit 9c8369a152f264d267d0ab99e8abfec0cbff8aa7
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Dec 2 13:02:20 2014 +0100

    Cherry-pick from mysql-5.5.41-release
    
    ------------------------------------------------------------
    revno: 4721
    revision-id: magnus.blaudd@oracle.com-20141002135802-00q4w0jl8n4utndq
    parent: kristofer.pettersson@oracle.com-20140929081738-k7bfyw7eul1lby5r
    committer: magnus.blaudd@oracle.com
    branch nick: 5.5
    timestamp: Thu 2014-10-02 15:58:02 +0200
    message:
      Bug#19553099 EXPIRE_LOGS_DAYS=1 CRASH MYSQLD DURING RESTART, DBUG_SYNC(NULL, ...)
    
       - Restarting mysqld with --expire-log-days=1 triggers 'log_in_use()' to be called while current_thd is NULL.
       - Check current_thd before calling DEBUG_SYNC() to avoid passing NULL pointer to DEBUG_SYNC()
       - Wrap debug code construct inside #ifndef DBUG_OFF like in other parts of the file

commit c8ce5b4e79961e8afc3c66afda4a198cb96d7420
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Dec 2 12:45:30 2014 +0100

    Added tag mysql-5.6.22

commit d89f72f1b21cea59d8392f250ff507c6d0760905
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Dec 2 12:42:13 2014 +0100

    Added tag mysql-5.5.41

commit 5b19b8339284f7b102ddde1c1dca2a12cd6471b8
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Dec 2 02:51:46 2014 +0100

    BUG#74594: Fix missing state update that causes PAUSE LCP protocol to hang

commit d67eebb76973bc4a7af177429527a518a138ad1f
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Dec 2 02:48:19 2014 +0100

    BUG#74594: Added some more DUMP printouts for PAUSE LCP protocol

commit dc58296781dd771e9b621c9ab91c906b248f0cdb
Merge: eae8419 785ee0a
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Dec 2 02:42:56 2014 +0100

    merge

commit 785ee0aaf4c9784ed2b8d35e3c1d024f3aee92e4
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Dec 1 20:48:04 2014 +0100

    WL#7650: Make atrt work on Mac OS X

commit eae8419ff1344c8af090202216ef239cb7e3d876
Merge: 6b15dd2 8a9c286
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 1 11:33:55 2014 +0100

    Merge 7.3 -> 7.4

commit 8a9c2864e0041b628162ce476a318953bd75c946
Merge: 1f9d0dc 0e4c06e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 1 11:29:52 2014 +0100

    Merge 7.2 -> 7.3

commit 0e4c06ec76ea823e7654b78fbc04213eb93e65e5
Merge: babda83 6d2ef61
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 1 11:26:43 2014 +0100

    Merge 7.1 -> 7.2

commit 6d2ef61d2b13e65df514de4b5815068a08c38605
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Dec 1 11:23:04 2014 +0100

    Removed assert / require from NDBT_ResultRow c'tor and rewrote
    it such that it could be constructed even if the the object
    is not in 'Retrieved' state.
    
    Patch is supposed to remove crash from the AutoTest:
    
      ./testDict -n CreateAndDropDuring T6 D1 D2
    
    
    ... and possible some more

commit 6b15dd25a51791f300bf87e53b6725ef7fa21621
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 29 04:29:29 2014 +0100

    BUG#75007: Ensure we wait until master takeover is completed before handle LCP_COMPLETE_REP from LQH and DIH participants in the LCP protocol

commit 611e9c88ab7bf04762a97d5f7bb65b20471e40a3
Author: Martin Skold <Martin.Skold@oracle.com>
Date:   Fri Nov 28 17:05:16 2014 +0100

    Bug#20029843 7.4.2 REGRESSION: UPGRADE_TRAFFIC FAILURES FOR 7.4 -> 7.3: Fixed incorrect conditional expressions

commit c182ac39cfb94636e87a8e6eb70479849166a2ad
Author: magnus.blaudd@oracle.com <>
Date:   Fri Nov 28 15:30:21 2014 +0100

    Cherrypick fix for ndb_dist_priv.sql from 7.4

commit 898984dd9668f9cc810398239e507ba78d5f0927
Author: magnus.blaudd@oracle.com <>
Date:   Fri Nov 28 15:27:16 2014 +0100

    WL#6815  Adapt MySQL Cluster to 5.7
    
     - The sql_mode ONLY_FULL_GRUP_BY prevents using non aggregated columns
       in the select list of aggregated query without GROUP BY.
     - Rewrite the 6 failing queries into one query which checks if all the 6 expected
       tables are in engine = ndbcluster and returns true in such case.

commit 42ffc5724fed6dd03777b8a4bfb3aae8579dbc06
Author: magnus.blaudd@oracle.com <>
Date:   Fri Nov 28 14:46:01 2014 +0100

    Cherrypick fix for mysql_system_tables_fix.sql from 7.4

commit 2c317afcce8739131e214fcb85df36aa1016203e
Author: magnus.blaudd@oracle.com <>
Date:   Fri Nov 28 14:44:26 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     -  There is no suport for DELIMITER when mysql_upgrade uses the MySQL C API direct
        instead of piping through "mysql". Thus it's not possible to change to different
       delimiters  in the upgrade SQL scripts in the future.
     - rewrite the patch to not use multi line PROCEDURE and thus remove the need
       for using DELIMITER.
     - This version of patch is also better since it's only active when engine=ndbcluster is available
     - Other parts of mysql_system_tables_fix.sql has been rewritten in similar fashion.
     - Re: "WL7308: Refactor mysql_upgrade"

commit 2dabb828e810e3788d30328cf4a83eb0fdae301b
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Nov 27 23:12:14 2014 +0000

    Encourage MySQL to treat numeric variables as numbers so that
    ndb_rpl_conflict_epoch2_extra does not return incorrect results
    from inequality tests.

commit badfa66ccc148a63a666fcfc9ccebc2859ca4931
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Nov 27 23:47:35 2014 +0100

    BUG#75007: More work on ensuring that we drop the right signals of the LCP_COMPLETE_REP and LCP_FRAG_REP, a bit tricky to decide, wrote up an analysis in a comment and a fairly simple code based on this analysis

commit 3b057cd3a83d8e1aaadaa321a8c53db6d389f6be
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 27 23:09:40 2014 +0100

    Cherrypick fixes for ndb_alter_table_online from 7.4

commit 88e13003188b7568392dec023e16a198083e4875
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 27 23:03:52 2014 +0100

    Remove usage of DEFAULT 0 for TIMESTAMP
    
    - DEFAULT 0 for TIMESTAMP is  refused in STRICT mode
    - Remove the usage of DEFAULT 0 since test does really use it for testing
    - This removes one problem in the future when STRICT becomes default

commit 068eeaffaaa4dc124462cf2f7157d5c176804ee5
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 27 22:38:47 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - The default sql_mode now includes STRICT_TRANS_TABLES, this causes
        statements which generate certain kind of warnings to be aborted.
     - parts of ndb_update_no_read intentionally generate those kind of warnings.
     - Fix by turning off STRICT mode for a while

commit b792f5eebb3196126398f6044b1f1a41a53f215d
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 27 22:36:35 2014 +0100

    Cherrypick fixed for ndb_update_no_read from 7.4

commit c16ed52ad5330a22202e808200dcadbe612efb0b
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 27 22:35:31 2014 +0100

    Turn "info" off after each section in test
    
    - Add disable_info and enable_info command to turn the "info" off and on for different
      parts of the test since it's not useful to see how many "affected rows" was caused
      by drop or create table.
     - Also it makes it possible to turn sql_mode on and off per test  section(in the future).

commit 2bbcca8520e6dc672f9ba8c2cc61a58a5adce022
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 27 22:14:07 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - The default sql_mode now includes STRICT_TRANS_TABLES, this causes
       statements which generate certain kind of warnings to be aborted.
     - Some of our tests intentionally generate those kind of warnings.
     - Fix by using IGNORE or turning off STRICT mode for a while
     - The tests are designed to work in !STRICT
     - Added new inclue file for conveniently turning STRICT off and on
     - Re. "WL7764: Make STRICT mode for transactional SEs default in 5.7"

commit 29a25024f71fa9b6fbbb870376a2ffa903aa7231
Author: =?UTF-8?q?Magnus=20Bl=C3=A5udd?= <magnus.blaudd@oracle.com>
Date:   Thu Nov 27 21:23:49 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - The type of handler::register_query_cache_type() parameter 'key_length'
       was changed to size_t.
     - Change the declarations also in ha_ndbcluster

commit a51969eff3cde7e6298f9be6e310d10178033efe
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 27 21:17:27 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - two different SELECT DISTINCT queries fail because they use ORDER BY
       on a column not in select list, this is not allowed with the new ONLY_FULL_GROUP_BY sql_mode.
     - Fix by turning ONLY_FULL_GROUP_BY off and then back on after the queries
     - Re WL2489 "better only_full_group_by"

commit 8fc33984420f06716e936afab42c0d9fdeec7c5c
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 27 21:10:50 2014 +0100

    Cherrypick fix for ndb_dd_disk2memory from 7.4

commit 8bcd75ccd4c14dd47504bfe1980393ab964c7f42
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 27 21:08:44 2014 +0100

    Add missing enable_query_log comman in ndb_dd_disk2memory.test
    
     - caused the queries not to be recorded in .result file(and this causes problems in the future)
     - generated new .result file
     - also remove redundant DROP TABLE IF EXISTS at begining of test, with mtr
      there are never any tables there when the test start.

commit 3a73795196616aaba63cc429c41fc130ed1add9a
Author: =?UTF-8?q?Magnus=20Bl=C3=A5udd?= <magnus.blaudd@oracle.com>
Date:   Thu Nov 27 15:40:46 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - add all columns returned from the sum_per_tab view to the GROUP BY
       in order to avoid that sql_mode=ONLY_FULL_GROUP_BY rejects the query

commit 0178f196e18fb08d45e2ce793cc5703117ef2be1
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 27 15:17:43 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - update .result files after slight change to the sourced include file
       due to "WL7764: Make STRICT mode for transactional SEs default in 5.7"
     - LOAD DATA is now using IGNORE to avoid that the strict error handler aborts the
       query for some engines

commit 224fef05ecb2e48227a87974ca0933395e4b9b18
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Nov 27 13:24:41 2014 +0100

    BUG#75007: Fixed interaction with early master takeover initialisation and handling of failed node in LCP, code in new master

commit 74c2f209cc333e459fabf6dae02ea632c9655fcc
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Nov 27 03:38:47 2014 +0100

    BUG#75007: Handle side effect of bug fix, there are signals generated by node failure handling that must be allowed to pass through the code as they are required for node fail handling to be done properly

commit 0157bcbc61782e3d723176059b2d9250ee88aedd
Author: magnus.blaudd@oracle.com <>
Date:   Wed Nov 26 22:05:26 2014 +0100

    Apply patch for MCP_BUG19704825to 5.7.5
    
     - problem not fixed until later version

commit aa3924d379e375479109b5a90f22748af58373a6
Author: magnus.blaudd@oracle.com <>
Date:   Wed Nov 26 22:02:42 2014 +0100

    Bug#20031425 NDBINFO NAMESPACE FREE CHECK FAILURE
    
        The SQL script which creates and upgrades the ndbinfo database, tables and
        views are in scripts/mysql_system_tables.sql. The script
        is run as part of mysql_install_db and mysql_upgrade.
    
        The script detects different preconditions to deterine if the ndbinfo objects
        should be created or not. For example the mysqld must have been compiled with
        ndbinfo handler, the version must be >= 7.1 and also the "ndbinfo namespace"
        must be free.
    
        The above mentioned "ndbinfo namespace" check is now failing. This causes the
        ndbinfo objects not to be upgrade properly. The "ndbinfo namespace" check is
        intended to avoid dropping any user data tables potentially created in the
        ndbinfo database.
    
        The problem started when two MyISAM "lookup" tables named
        ndb$dblqh_tcconnect_state and ndb$dbtc_apiconnect_state was added to the
        ndbinfo database.
    
        - fix by removing the "ndbinfo namespace" check since only the SQL commands uses
          CREATE IF NOT EXISTS and only drops tables and views by name.
    
        Applying the fix part of the patch only. The test case which shows that the
        upgrade actually does something will be merged up from cluster trees separately.

commit 62237b3970943fe15ed486caa4fdddec05582f20
Author: magnus.blaudd@oracle.com <>
Date:   Wed Nov 26 21:56:33 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - Don't care wich sql_mode the server is running with when pushing warning
      after translating from NDb error code to MySQL error. The server will not abort the query
      because of warnings.

commit 5ae49c06e3e880b44b2ee0aa031a8c4cb6da37e8
Author: magnus.blaudd@oracle.com <>
Date:   Wed Nov 26 16:33:40 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - The lex_start() function uses the global cost model
       variables. Those variables are created at the end of
       init_server_components()
      - When the ndbcluster_init() function starts
      the ndb_util_thread and ndb_binlog_thread those
      global variables haven't yet been created. The handlerton
     are initialized earlier in init_server_components.
     - Fix by removing these early calls to lex_start(), it
      is a function that should be called 'before every query'.
     - Calling the function just after creation of THD is probably
      just copy&paste or leftover from the times when ha_ndbcluster called
      mysql_query() direct, nowadays we use the Ed_connection class
     which handles running queries against the local mysqld for us.

commit 26b0bc1fbcb10c6ffa95090421ad97811fcef949
Merge: 93a3076 76027df
Author: magnus.blaudd@oracle.com <>
Date:   Wed Nov 26 16:24:57 2014 +0100

    Merge 5.7.5 -> trunk-cluster

commit 93a307656e50840b7b5722123567972f0ef69e7f
Merge: cb444140 ea4a01b
Author: magnus.blaudd@oracle.com <>
Date:   Wed Nov 26 16:07:59 2014 +0100

    Merge trunk(-r8338) -> trunk-cluster
    
     - revert the reverted MCP's

commit ed204e36b41a52b66631af3631c0fceced9c7cc8
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Nov 26 14:37:11 2014 +0100

    BUG#74594: Fix of variable length in message to management server to avoid printing garbage

commit 8c8aa75da3573fe1ba32ba4b0a13f7484fae6938
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Nov 26 13:31:29 2014 +0100

    BUG#75007: Ensure that we drop LCP_FRAG_REP and LCP_COMPLETE_REP that originates from a dead node. The LCP could potentially be done before this arrives due to node failure handling, these signals are sometimes delayed and thus we need to take care that we can still receive them.

commit 2a12713a717fdfd3bb0a13718c37f2e6228c5990
Merge: 367ec07 1f9d0dc
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Nov 26 11:59:26 2014 +0100

    merge 7.3 to 7.4

commit 1f9d0dc329a36c42bea2af99d65987f216bcf1c7
Merge: 766b1fc babda83
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Nov 26 11:57:32 2014 +0100

    merge 7.2 to 7.3

commit babda83ed934e05078aa05da71d504e717f96e68
Merge: 200698c b1d30dc
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Nov 26 11:56:15 2014 +0100

    merge 7.1 to 7.2

commit b1d30dc32d5ad13a1d4a34be953a8941c35011be
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Nov 26 11:48:17 2014 +0100

    Bug#20067036 AUTOTEST RELATES TEST CLIENTS COREDUMPING TO INCORRECT TESTS
    
    Post push fix.
    
    Output from wc -c included spaces on tyr13 which dd did not accept.
    
    /bin/sh on tyr13 run body in while .. do ...body... done < FILE in a sub shell, setting of OLDOK was lost after while.  Changed to /bin/bash

commit 367ec079e27163dc5b17063c02ccd50c2fbb84c1
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Nov 26 00:32:40 2014 +0100

    BUG#74594: Assumption that all alive nodes have participated in LCP at close down time caused havoc since we can now be alive and still not have participated in the LCP. So had to move the send of the last LCP_COMPLETE_REP backwards a bit to be able to reuse the m_participatingDIH bitmap to send to.

commit 7a87c6635206555341fbe1ab195e84d77bb0d852
Author: magnus.blaudd@oracle.com <>
Date:   Tue Nov 25 21:28:27 2014 +0100

    remove last NDB_WITHOUT_COLUMN_FORMAT ifdef
     - since all versions of MySQL Server which ndbcluster
      compiles against now supports "field->column_format" and "field->storage_type"
    - one NDB_WITHOUT_COLUMN_FORMAT left behind(or reappeared)

commit 18c47e1fa17d3c6ccbaaae42c113cf85b687f490
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Nov 25 18:45:02 2014 +0100

    BUG#19795152: Missed essential ptrCheckGuard in upgrade/downgrade situations

commit 92f6f699ea1ec9c7901c14f753424a036a1795ed
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Nov 25 18:28:46 2014 +0100

    WL#7514: More printouts to log for system restart case

commit 649e75825ea96f828ab0696ce8e51370661fae09
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Nov 25 18:27:53 2014 +0100

    BUG#18610698: New test case

commit 67ace4b2e2cf239ef0b54e8eb3405a14fcfa7751
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Nov 25 15:43:18 2014 +0100

    BUG19795152: Fix Software upgrade issue

commit 6b4fdd1bc219e47ca7ab2f6e822021fec51b7015
Merge: 9db2d6f 766b1fc
Author: magnus.blaudd@oracle.com <>
Date:   Tue Nov 25 14:57:13 2014 +0100

    Merge 7.3 -> 7.4

commit 766b1fcc0dbd5813645c708a8d8303937833bc35
Author: magnus.blaudd@oracle.com <>
Date:   Tue Nov 25 14:55:46 2014 +0100

    Add missing delete of Ndb instance created by testcase
    
      - this caused the testcase to hang when deleting the Ndb_cluster_connection
      - auto delete by destructor in order to catch all return paths from function.

commit 9db2d6fe74c70ffd1008987bb66b5eeb4e34499c
Merge: 67edd80 c64bfc9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Nov 25 13:54:37 2014 +0100

    merge 7.3 to 7.4

commit c64bfc97e10c554b6b2a0ea4f78be32e0945b3ab
Merge: 862dc4b 200698c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Nov 25 13:51:03 2014 +0100

    merge 7.2 to 7.3

commit 200698c8c98f39dd1c9809042570dea2d3ee3668
Merge: 7a0f33a e52273d
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Nov 25 13:44:38 2014 +0100

    merge 7.1 to 7.2

commit e52273d2ad12e0093248cddd930d240bd26b42eb
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Nov 25 13:39:26 2014 +0100

    Bug#20067036 AUTOTEST RELATES TEST CLIENTS COREDUMPING TO INCORRECT TESTS
    
    Post push fix, upgrade test did always remove old log files even on success.
    Script modified to detect wheter log files are reused or not before analyze.

commit 67edd8028e04376b68258f58295dbf206c806dae
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Nov 25 02:23:28 2014 +0100

    BUG#74594: Minor tweak of jamming and of a loop

commit 39422fb9665d6c0bc67accb4660b565d65885947
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Nov 25 01:34:49 2014 +0100

    BUG#19795217: Checked the LCP state a bit too early

commit 823f4a1ef5457c460c82a0e4a60ab919b0ab597c
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 24 12:30:51 2014 +0100

    BUG#74594: Added one more cluster log event

commit d40042e41142e8e7f0648bc3ccaa7f28f4bb92cb
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 24 12:01:27 2014 +0100

    BUG#74594: Wrong check if LCP is idle when sending UnPause message

commit b947afd454e9c50686a5e09218db4094bba5813b
Merge: 5ec8a70 862dc4b
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sun Nov 23 08:24:30 2014 -0800

    bug#20045455 Improve error reporting for clusterj
    
    merge 7.3 -> 7.4

commit 862dc4bcf16bc299ba83ed150a2412cc1e4ed8b8
Merge: 2a39cc0 7a0f33a
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sun Nov 23 08:17:01 2014 -0800

    bug#20045455 Improve error reporting for clusterj
    
    merge 7.2 -> 7.3

commit 7a0f33aa891e045b2ec525a59839651abbc48dee
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sun Nov 23 08:08:26 2014 -0800

    bug#20045455 Improve error reporting for clusterj
    
    "normal" errors that should not be logged as severe:
    duplicate primary key
    duplicate unique key
    foreign key constraint error: key does not exist
    foreign key constraint error: key exists
    
    Utility.java:
      add codes for "normal" errors to NonSevereErrorCodes

commit 5ec8a702f181b275bb49589164b190b16ed46810
Merge: 6680b06 2a39cc0
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sun Nov 23 14:34:27 2014 +0100

    merge 7.3 to 7.4

commit 2a39cc06dad103eb231743ed11c89ab756ebb5a0
Merge: 6dc4672 3fb7463
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sun Nov 23 14:32:46 2014 +0100

    merge 7.2 to 7.3

commit 3fb74637f0168dedeeb53ee71811f0870a7a0e8b
Merge: 6a47c8c 3b1b198
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sun Nov 23 14:31:41 2014 +0100

    merge 7.1 to 7.2

commit 3b1b1987c2b4981875822076ba060324dc614c45
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Sun Nov 23 14:29:51 2014 +0100

    Bug#20067036 AUTOTEST RELATES TEST CLIENTS COREDUMPING TO INCORRECT TESTS
    
    Post push fix, changed pattern for OK result.

commit 6680b069cf0616fc3d47628c577e7d519bc57e4e
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 22 21:46:19 2014 +0100

    BUG#74594: Fixed a compiler warning in new tool

commit de42379c2b589337a62c5b0920be7f2f3e550cbd
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 22 21:22:03 2014 +0100

    BUG#74594: Wrote an analysis tool for reading DIH Fraglist files to enable easier analysis of system restart bugs

commit ca4c35cbd5b4481295b04f8fc27ae6089e09e98f
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 22 02:46:26 2014 +0100

    BUG#74594: Queued LCP_COMPLETE_REP comes from LQH, not from DIH

commit a7fb88a0b08cbe56bd0177ea8a89a35bcf755f95
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Fri Nov 21 18:45:42 2014 +0100

    BUG#74594: Fixed a typo bug in an important condition

commit 9a52b35eb3fc5b65bb363cd39e7146723704de0e
Merge: d41869d 6dc4672
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 21 15:00:24 2014 +0100

    merge 7.3 to 7.4

commit 6dc4672eef752178fe1952b2e494bceb357fc64c
Merge: 4241ab8 6a47c8c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 21 14:58:24 2014 +0100

    merge 7.2 to 7.3

commit 6a47c8ca59b5d890b162bb16644cb29d2839378d
Merge: ba0d1db b47cad3
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 21 14:56:22 2014 +0100

    merge 7.1 to 7.2

commit b47cad33cb053d1887956c819a6427f401b25d2c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 21 14:54:15 2014 +0100

    Bug#20067036 AUTOTEST RELATES TEST CLIENTS COREDUMPING TO INCORRECT TESTS
    
    If a test fails without reporting failure (typically the test
    program crashed), atrt would decide that is succeeded anyway if
    the preceding test succeeded.
    
    This made core dumps and other files related to a crashed test
    show up in the files for the next test that failed.
    
    This patch modifies the helper script (atrt-analyze-result.sh) that
    atrt uses so it correctly can determine that at least one more test
    has succeeded since last call to helper script.

commit d41869df92f72a49649ce3a8a2157804d3b1a46f
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Fri Nov 21 13:25:14 2014 +0100

    BUG#74594: Added a new ndbrequire to find problem

commit 785d0c08727ae1a3a08cc146fd0c087d1133a45d
Merge: 20d7c23 d04018d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Nov 20 13:27:58 2014 -0800

    merge latest nodejs-adapter into 7.4

commit 20d7c230745eba252de97e8880d38e40d7209507
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Nov 20 16:15:07 2014 +0100

    WL#7514: Added a bit more logging of the actual start order signal

commit 191fc072f23294d53810e69ca00a431a089917ef
Merge: 060eacb 4241ab8
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 20 14:56:04 2014 +0100

    Merge 7.3 -> 7.4

commit 4241ab81dc2a1904d83197eeb33dd3a822cfc524
Merge: bdfceb5 ba0d1db
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 20 14:53:06 2014 +0100

    Merge 7.2 -> 7.3

commit ba0d1db0d394e6c14d4081085d7604c992fc1bf2
Merge: aee09d0 6643cff
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 20 14:46:06 2014 +0100

    Merge 7.1 -> 7.2

commit 6643cffb7b0b3916d0326050cdad78740ed4ffb1
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 20 14:44:00 2014 +0100

    flexBench created its worker threads, flexBenchThread, with a
    stack of insufficent size. This later caused the threads to crash.
    
    Also fixed an issue where a table not found, would lead
    to a crash.

commit 060eacbe49cde6ce4259f5d26d4927ca9e227cd8
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Nov 20 14:03:46 2014 +0100

    WL#7509: Add undocumented interface to change Disk Write Speed in LCPs, change isn't persistent over restarts, useful to handle SRs where restarts are too slow

commit 2b014075043077fedf11ef550ac7f190c0935aae
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Nov 20 14:02:58 2014 +0100

    WL#7509: Tweaked the adaptive LCP speed parameters to be a bit slower in changing

commit a2dcaf7ad41228def97ae163cdb38ae30dfe4769
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Nov 20 13:59:46 2014 +0100

    BUG#74594: Add DUMP_STATE_ORD variant to print pause state to cluster log

commit e67cfd45d21555b86671bfe3cd875c99e3e75911
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Nov 20 13:58:32 2014 +0100

    BUG#19795108: Proper fix of node restart status using the new Node Recovery Status module

commit 0ed981d520937f1681f4bbfad7309758165c3b08
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Nov 20 12:35:58 2014 +0100

    BUG#19795152: Handle Partial System restarts

commit b052d3c6bb803045cbe648a748d26efdec009bda
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Nov 19 19:26:37 2014 +0100

    BUG#74594: Used wrong variable in non-master to decide on pauseAction

commit c9e3949434f3a9cf60bccc1418c3254e5c9065aa
Merge: b91ad8a 437b18e
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Nov 19 09:44:35 2014 -0800

    merge

commit 437b18e634bfdfb44f325b81789673f26097736a
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 b91ad8ac2096c99038c4a12484fc68f40e15ccaf
Merge: d49ebdd bdfceb5
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Nov 19 16:05:18 2014 +0100

    Merge 7.3 -> 7.4

commit bdfceb5e61d9db0555d31710b684d86a2c1f385c
Merge: 21f399c aee09d0
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Nov 19 15:57:54 2014 +0100

    Merge 7.2 -> 7.3

commit aee09d0feea71cf33cff9eaaf14d1fa4729ca3df
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Nov 19 15:46:45 2014 +0100

    Fix for bug#19390895
    
    The SCAN_FRAGREQ signal could possibly become very large when it
    contains lots of index bounds in the keyInfo part. There is a hard
    limit on ~32K for signals sent in a single chunk. In order to
    overcome this limitation for huge SCAN_FRAGREQ, it could be sent
    as a fragmented signal.
    
    This patch change the SPJ block to use sendFragmentedSignal()
    for sending SCAN_FRAGREQ. As the SPJ block may also send
    the same SCAN_FRAGREQ to multiple LQHs, it does not want the
    sent signal data to be released after send (which is the normal behaviour).
    
    Thus, sendFragmentedSignal() has been extended to take a 'noRelease'
    argument to support the reuse of the send signal data. Note: most
    of the underlying framework to support this was already implemented
    in SimulatedBlock.
    
    As a set of ranges defined for an index scan might now become
    > 64K, we also had to change the struct RangeBuilder member m_range_size
    from an Uint16 -> Uint32.

commit d49ebdd0cfb1d049bcfbe134e344b021afe93a3d
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Nov 19 13:58:57 2014 +0100

    BUG#74594: Ensure that we drop PAUSE_LCP_REQ signals from master if it concerns a node that already has died

commit 3f49937ec5cf2865361ead85e42e9784db843334
Merge: 57df267 21f399c
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Nov 19 18:05:50 2014 +0530

    merge 7.3 -> 7.4

commit 21f399c8d0ab4d4d15bdcd1f9fff61ec3a32661d
Merge: 68aa697 b4cf42d
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Nov 19 18:02:44 2014 +0530

    merge 7.2 -> 7.3

commit b4cf42dca54ae7da518b9e0e308f1b4516194043
Merge: 5f46807 a38b550
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Nov 19 17:59:21 2014 +0530

    merge 7.1 -> 7.2

commit 57df2676ddf92afcdb8d087fa338ca74669684f1
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Nov 19 13:21:31 2014 +0100

    BUG#74594: Node failure in inopportune time caused crash

commit 20f3a6f2c49eee5a09d1f8eb003dc74420138b22
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Nov 19 13:20:47 2014 +0100

    BUG#74594: Decrease amount of useless jam:ing to make bugs more visible

commit a38b55045fcab1370f3f6dc81bf54b215c2984f6
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Nov 19 17:48:20 2014 +0530

    Bug#19642978: NDB_RESTORE CORES ON BUILT-IN PRIMARY KEY + STAGING
    BLOB CONVERSIONS ON SPARC
    
    ndb_restore crashes while restoring a table which contains both
    1) a built-in conversion on the primary key and 2) a staging conversion
    on a TEXT column.
    
    During staging, a blob table is created with a primary key column of
    the target type. However, a convert function is not provided to convert
    the primary key values before loading them into the staging blob table.
    This results in corrupted primary key values in the staging blob table.
    Since the test case is a conversion from int to mediumint, the data
    corruption is visible only on a big-endian architecture.
    
    While moving data from the staging table to the target table, the blob
    read fails because it cannot find the primary key in the blob table.
    This results in an ndb_restore core.
    
    Added a fix to check all blob tables to see if there are conversions on
    PKs of their main tables. This check is done after all the main tables
    are processed, so that convert functions and parameters have been set
    for the main tables. The convert function and parameters which are
    used for the primary key in the main table are duplicated in the blob
    table. Added a test case to reproduce the failure on x86.

commit 45389a2dc523d7c995bb895d53d2cb7ab30950f8
Merge: 54bf54a 68aa697
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Nov 19 10:11:39 2014 +0100

    Merge 7.3 -> 7.4

commit 68aa697b2890c1be505bc9402e8dd56edfada602
Merge: e283997 5f46807
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Nov 19 10:08:10 2014 +0100

    Merge 7.2 -> 7.3

commit 5f468073e591d8137614e54bd292dd7c8629f001
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Nov 19 10:06:45 2014 +0100

    Fix for bug#20031313  AUTOTEST CASE 'TESTDICT -N GETTABINFOREF' NEVER WORKED FOR >= 4 DATA NODES
    
    There were two issues in this testcase:
    
     1. We tried to restart all nodes in a nodegroup, which is
        refused by the mgmd as this would have created a double failure.
    
     2. 'require' were used to verify the expected test outcome, instead
        of returning NDBT_FAILED as required by the 'ATRT protocol'

commit 54bf54a9f27378997513ecec4444f3e4dde70867
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Nov 18 21:50:35 2014 +0100

    BUG#74594: Turned ndbrequire condition the wrong way, caused obvious crash, added a few more ndbrequires while at it

commit 941d90e3a7a79df1fc530fa11898771cba68ee7d
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Nov 18 21:20:29 2014 +0100

    BUG#19795152: Also NODE_FAILURE_COMPLETED and ALLOCATED_NODE_ID can be states from where a node fails from DISCONNECT_REP although the node hasn't really started its start yet.

commit 0688953a200ae3a827d15bafcb35415aa780b8e7
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Nov 18 12:40:31 2014 +0100

    BUG#74594: Removed buggy ndbrequire, not correct though to possibility of delaying arrival of LCP_FRAG_REP when copying table to disk

commit d5ca00b4d281a253e7c3f311d22a979ee6614a16
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Nov 18 12:20:37 2014 +0100

    BUG#19795152: NdbTick_Elapsed parameters in wrong order

commit 8ea9e4e5e56e313be631794c8cd871e0f9a61149
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 21:18:17 2014 +0100

    BUG#19795152: Added one more acceptable state transition, ALLOCATED_NODE_ID -> ALLOCATED_NODE_ID

commit 416b5c7f22367ba239698879a88fbcb61f33132b
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 17:37:18 2014 +0100

    BUG#74594: Missed setting lcp id in COPY_TABREQ, added ints of LCP variables on replica and fragment records, removed init of lcpStatus in INCL_NODEREQ which depended on old fact that we included when LCP was idle, now this is no longer necessary, missed init of m_lcp_start_time in including node in LCP, added a number of log prints

commit 3c48183b238a06fed80ace3de6ccdf111ad1d599
Author: magnus.blaudd@oracle.com <>
Date:   Mon Nov 17 12:44:59 2014 +0100

    WL#6815 Adapt MySQL Cluster to 5.7
    
     - add all columns returned from the sum_per_tab view to the GROUP BY
       in order to avoid that sql_mode=ONLY_FULL_GROUP_BY rejects the query

commit 4c84b99609ca9a2f74abdf56b54a893299f9ebd1
Merge: 7dac890 e283997
Author: magnus.blaudd@oracle.com <>
Date:   Mon Nov 17 12:22:46 2014 +0100

    Merge 7.3 -> 7.4

commit e2839976324ac959abe5b5bf928a175e889dc649
Merge: 2882b41 d8fae51
Author: magnus.blaudd@oracle.com <>
Date:   Mon Nov 17 12:22:17 2014 +0100

    Merge 7.2 -> 7.3

commit d8fae51d3699e34661340264ea7065a3446e66e6
Merge: aa8f981 01488e1
Author: magnus.blaudd@oracle.com <>
Date:   Mon Nov 17 12:21:37 2014 +0100

    Merge 7.1 -> 7.2

commit 01488e1242e9aefe6b237f3a8ab5045f8b2bbae3
Author: magnus.blaudd@oracle.com <>
Date:   Mon Nov 17 12:17:01 2014 +0100

    Bug#19676350 NDB_RPL_CONFLICT_EPOCH SHOWS SCHEMA DIST TIME FAST FORWARD DUE TO EINVAL
    
     - On OSX pthread_cond_timedwait() returns EINVAL when same condition variable is used with
       different mutexes simultaneously.
     - rewrite the two places which uses pthread_cond_timedwait(&injector_cond) with other
       mutexes to first unlock he other mutex before waiting on the condition. This causes
       a small chance that wakeup from pthread_cond_signal() is lost. That's however
       acceptable since the wait is done with such short timeout that wakeup will soon be
       detected anyway.

commit 7dac890acaad7a1922864a43b10d2f29d7e0a1c9
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 11:15:18 2014 +0100

    BUG#74594: missed init of c_queued_lcp_complete_rep

commit 20f59b2abf2fe269399affab0c39466cac08231c
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 11:05:27 2014 +0100

    BUG#74594: Handle fromTimeQueue issues with LCP_FRAG_REP

commit 08f9259ef0967360d14567f66d55627c0cd3feea
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 10:52:24 2014 +0100

    BUG#74594: Fixed more on asserts

commit 784d3215de376c217b6ca85865ee022c2014056e
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 10:44:22 2014 +0100

    BUG#74594: Fixed more on asserts

commit 8b29b93a7c18fb8730cc5927eaceaafe836691d0
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 10:42:03 2014 +0100

    BUG#74594: Fixed more on asserts

commit abdae8d528c3f740d20a2345b030936f9273572f
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 10:33:17 2014 +0100

    BUG#74594: Fixed stopping of pause properly in master and in non-master

commit b98145e085a45c778b280d5e85334e328e8e5931
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 10:06:37 2014 +0100

    BUG#74594: Wrong assumption in START_LCP_REQ removed, fix of ndbrequire of COPY_TABREQ counter improved

commit 49009c91090b6ec7d1a39a71ebc775045d71ae17
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 09:49:24 2014 +0100

    BUG#74594: Added new parameters to allocStoredReplica

commit 476f07dd931e0b14cc67e9b7742b0441574e0856
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 09:46:45 2014 +0100

    BUG#74594: Missed init of fragId and tableId in replica record, wrong assumption about m_participatingDIH in START_LCP_REQ

commit 148b6c4cb39256697f5c9fd6506f21c1d5fbe5d8
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 09:10:37 2014 +0100

    BUG#74594: Missed clear of own node in NodeReceiverGroup in sending FLUSH_LCP_REP_REQ

commit 6f42aefe6fb463f7572ad6ec96137f52db0cdb9e
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 08:51:59 2014 +0100

    BUG#74594: Fixed typo

commit b4a4971177b4467962e18f3c3888a32ca9ca585b
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 08:46:52 2014 +0100

    BUG#74594: Missing inserts into signal table

commit 31e3d6ab112577dfb2684f089ac569b20170fd54
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Nov 17 08:22:51 2014 +0100

    BUG#74594: Fixes for wrong assert, missing state update and wrong condition

commit c8082c785e9dae61400a0dce6f27808337170809
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 15 19:05:23 2014 +0100

    BUG#74594, fix for sanity check

commit 11399fc0b11d65f576ec755f0c070bbc8b523cd4
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 15 08:45:03 2014 +0100

    BUG#19795152: Fix a placement new that overwrote the node recovery timers in debug mode, added a bit more debug code and arranged the parameters in some common functions a bit more logically

commit 59740096dcaa066fc43d0239cc64d436ff73a3d6
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 15 01:47:34 2014 +0100

    BUG#74594: Added missing file CopyTab.hpp

commit 5f40b3e748e7551ddc7be78b676b412b0cb45772
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 15 01:36:36 2014 +0100

    BUG#74594: Remove need for long wait for LCP to copy meta data to make restart times more predictable and faster

commit c318b68b6a7a744df6e1b38929464be2cf98c590
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 15 01:03:48 2014 +0100

    BUG#74639: Preparatory patch to handle overload bugs that is likely to be caused by higher pressure on LCPs and restarts

commit ffd0f32a748440b70aa253987ed230122a9cabe3
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 15 00:56:33 2014 +0100

    BUG#19795152: Added missing file: NodeRecoveryStatusRep.hpp

commit 25b33e5de30706438db035a8bcce01211c48978e
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 15 00:27:45 2014 +0100

    BUG#19795152: Wait for LCP start at node restart, add node recovery status table as well

commit de7f86f89c4c1ed97085c3e82fc8ff77d05bfd7e
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 15 00:11:41 2014 +0100

    BUG#19795217: Remove EMPTY_LCP protocol from master takeover

commit 693b4f57ae0b469c02a901d30be5c026b19bc94d
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Nov 15 00:04:19 2014 +0100

    BUG#74594: Part 2: Fix a potential LCP stoppage

commit b1bff2eecb25840131ed9cec87d2bbdedbd86bb1
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Fri Nov 14 23:57:23 2014 +0100

    BUG#74594: Part 1: Remove a faulty ndbrequire

commit 5ba9c4968be29d3865a8ee0288ab74b8b6967257
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Fri Nov 14 23:51:42 2014 +0100

    BUG#19795029: Improve logging of restarts developed in WL#7514

commit aeff624aa042f1583dd0a82fcf63ddaa4d4798a9
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Fri Nov 14 23:47:32 2014 +0100

    BUG#19795108: Fix of node restart status for adapting speed of LCP disk write speed

commit d37444c7c44f7aebd38c780938947b4fdeb9aa5a
Merge: 1cf2c25 2882b41
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 14 18:19:10 2014 +0100

    merge 7.3 to 7.4

commit 2882b410ec2668f4ef835028584184ef643ea5e4
Merge: aa20e40 aa8f981
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 14 18:17:31 2014 +0100

    merge 7.2 to 7.3

commit aa8f981703fa7be51aedefaad67f8dcff2b428d8
Merge: 430ee63 a1e791f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 14 18:16:52 2014 +0100

    merge 7.1 to 7.2

commit a1e791f86b7d206589b105043dfce7c5e7e0c6aa
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 14 18:14:20 2014 +0100

    Bug #19822069 TESTUPGRADE -N UPGRADE_API_BEFORE_NR1 T2 FAILS DUE TO CONCURRENT CREATEDROPEVENT
    
    Fixed build errors.

commit 1cf2c2589bba8292a6419725161846601f4455be
Merge: fd41829 aa20e40
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 14 17:54:03 2014 +0100

    merge 7.3 to 7.4

commit aa20e40c0b866ae5007b37d2bdc326692d0d29e3
Merge: 38591cf 430ee63
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 14 17:51:42 2014 +0100

    merge 7.2 to 7.3

commit 430ee6303977a64664b51b1e533a37cf18917ccc
Merge: 6b631a6 29b7822
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 14 17:37:23 2014 +0100

    merge 7.1 to 7.2

commit 29b7822fbef809beacc06bbd4e96c0a4dff07802
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Nov 14 17:35:54 2014 +0100

    Bug #19822069 TESTUPGRADE -N UPGRADE_API_BEFORE_NR1 T2 FAILS DUE TO CONCURRENT CREATEDROPEVENT
    
    Serialize calls to createDropEvent if called from concurrent steps in test.

commit fd41829a9b01a746dd239e8ff4659bcd7b395754
Merge: b9c1de6 38591cf
Author: magnus.blaudd@oracle.com <>
Date:   Fri Nov 14 14:28:11 2014 +0100

    Merge 7.3 -> 7.4

commit 38591cf27303f96cdbb1f6de9e84a1093b4582e8
Author: magnus.blaudd@oracle.com <>
Date:   Fri Nov 14 13:18:58 2014 +0100

    Bug#20007248 NDB NOT FUNCTIONAL ON POWER
    
     - add missing implementation of the necessary functions.

commit 314200aaa82416e9683c6b6c1539a6d2d01ad352
Author: magnus.blaudd@oracle.com <>
Date:   Fri Nov 14 13:03:00 2014 +0100

    Bug#20007216 FLEXASYNC USES 32BIT MATH, LEADING TO INCORRECT SUMMARY ON POWER8
    
     - define the hardcode constants as ULL to avoid overflow

commit b9c1de66d85abda3cf5c98866574cd107eb0ac54
Merge: 97789f7 e508dec
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 13 13:34:11 2014 +0100

    Merge 7.3 -> 7.4

commit e508dec70bdb9521fa4e2fc1d5e4a53fc0582e30
Merge: 71b2e16 6b631a6
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 13 13:27:55 2014 +0100

    Merge 7.2 -> 7.3

commit 6b631a60af39f999dcd45c83047b0d071ddf5371
Merge: cb78d29 c1036ad
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 13 13:21:12 2014 +0100

    Merge 7.1 -> 7.2

commit c1036ada2d50a19be394e6af2548cbb9f8a96772
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 13 13:19:33 2014 +0100

    Fix regression in AutoTest -n DropWithTakeover T1
    introduced by fix for bug#19874809:
    
    The above test started failing after pushing fix for 19874809 :
    'DICT operations during 'takeover' may crash new master'
    
    That fix changed how we handled a SCHEMA_TRANS_END_REQ on
    a new master still on the process of handling MASTER_TAKEOVER.
    
     - Previously a REF('Busy') were sent during takeover.
       The API client handled that REF as a Schema transaction failure
       instead of waiting for the final rollforward/backward in the
       takeover process. Thus, loosing the knowledge of the transaction
       outcome.
    
     - With the fix we now wait for the takeover to complete, and then
       sends a SCHEMA_TRANS_END_REP reporting either a commit or abort.
    
    The problem here is that the testcase 'DropWithTakeover' delays
    the DROP_TAB_REQ indefinitely. This breaks the requirement that
    every REQ should be either CONFed or REFed, or a NODE_FAILURE
    received.
    Furthermore, the testcase incorrectly required that 'dropTable()'
    failed. This used to be due to a REF(Busy) was interpretted as
    transaction failure. However, in this case the dropTable is rolled
    forward by the new master, and actually succeeds.
    
    Fix changes the delay of DROP_TAB_REQ from being indefinite to
    a 10s delay which should be sufficient for the master to crash.

commit 97789f7bea4f00d7cb1d039e98b571925dc081e5
Merge: 3e4af66 71b2e16
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 13 10:56:17 2014 +0100

    Merge 7.3 -> 7.4

commit 71b2e166feacc77a1feca11d99a2bb8717c9b93e
Merge: 268f382 7a11bb9
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 13 10:55:39 2014 +0100

    Merge 7.3-bug19999242 -> 7.3

commit 3e4af665ed90db5ecc8f08e7dbc7ef1b61b4edbb
Merge: 6ff972f 268f382
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 13 10:51:30 2014 +0100

    Merge 7.3 -> 7.4

commit 268f382a90abfc481ca5e2f3d776ce585738e486
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 13 10:50:35 2014 +0100

    Add missing newline before end of file in AsyncNdbContext.cpp

commit 6ff972fe990ff855febb5eac5bb77efd2db397c3
Merge: 49b4835 891a9f7
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 13 10:36:17 2014 +0100

    Merge 7.3 -> 7.4

commit 891a9f7b31bf2c882b8410a6d3790cfe9f2df560
Merge: ffe1a85 cb78d29
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 13 10:35:47 2014 +0100

    Merge 7.2 -> 7.3

commit cb78d29287e768049d432c5f72deb83ba0d4be5e
Author: magnus.blaudd@oracle.com <>
Date:   Thu Nov 13 10:33:10 2014 +0100

    Fix build failure in MCP patch for BUG19553099
    
     - failed to bulid with -Werror
     - use the exact upstream patch which is inside #ifndef DBUG_OFF, should fix the problem

commit 49b4835c74941dc9370e6acf8572085c219d97fa
Merge: ab1176d ffe1a85
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Wed Nov 12 16:06:41 2014 -0800

    bug#20017292 Clusterj logging levels too verbose

commit ffe1a850c0005dcd91fb699e34bf825a80205394
Merge: 424afe2 8c02958
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Wed Nov 12 16:00:19 2014 -0800

    bug#20017292 Clusterj logging levels too verbose

commit 8c029587b390135045877777eb67a1c3225fa9ff
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Wed Nov 12 07:42:55 2014 -0800

    bug#20017292 Clusterj logging levels too verbose

commit ab1176daa665949b195a48689461a50b7957c48e
Author: magnus.blaudd@oracle.com <>
Date:   Wed Nov 12 16:05:38 2014 +0100

    Bug#20009152 FIELD NAME NOT INCLUDED IN WARNING WHEN CONVERTING TO FIXED
    
     - the push_warning_printf() now detects illegal format strings
     - there is one in ha_ndbcluster.cc which had gone undetected.
     - bug exists in 7.1+, not really a serious bug, just some extra "stuff" passed
       to the function.

commit c951c82ef8a3e039cf615a04a424b3c7832f0275
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Wed Nov 12 12:13:12 2014 +0000

    WL#7640  Ndb Active Active Delete-Delete handling
    
    Some post-implementation refactoring.
    
    Moving conflict related code out of ha_ndbcluster*
    and into ndb_conflict.cc
    
    No functional change.
    More remains to be done.

commit 1e4c18251d5b0dc76de907d3a2f7f6de63ae5f67
Merge: 0499011 424afe2
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Nov 11 17:09:43 2014 +0000

    Merge 7.3->7.4

commit 424afe25337699fe3495e945e9d24b434b6643ec
Merge: 9f613bd 68dab50
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Nov 11 16:43:49 2014 +0000

    Merge 7.2->7.3

commit 68dab5068f6f2416b8133fcda42a95d60d928387
Merge: 7bc9a1c 015849a
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Nov 11 16:35:41 2014 +0000

    Merge 7.1->7.2

commit 015849aae2d77b71d823ea784ec208fccbcdf8a7
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Nov 11 16:28:09 2014 +0000

    Bug#19903481 - INTERNAL ERROR DURING ONLINE REORG, TRIX (LINE: 782) 0X00000002
    
    Fix bug in bug fix.
    
    Some SUMA scans can return TRANSID_AI with zero-length attribute(s).
    
    This results in the accumulated data section having length 0.
    
    appendToSection() with length zero does not allocate a section.
    
    However the code in sendScanSubTableData() assumes that there is always
    a section.
    
    Further, the recipients of SUB_TABLE_DATA expect that there will always
    be two sections, and the 'Data' section may have length zero. (TRIX, API)
    
    A good fix would be to allow the Data section to be missing.
    
    A quick fix is to send a 'zero length' section in this case.
    
    Fixes failures in
      ndb.ndb_fk_cascade_delete_multi
      ndb.ndb_fk_deferred_cascade
    
    Push to 7.1+

commit 04990118f525a0245d4c3ceba67cd7ee6338ed0f
Merge: 21ee3b0 9f613bd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Nov 11 15:36:21 2014 +0100

    Null Merge 7.3 -> 7.4

commit 9f613bd2cb6e55c190ef68da4fe2996259928201
Merge: e351be2 7bc9a1c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Nov 11 15:28:42 2014 +0100

    Null merge 7.2 -> 7.3

commit 7bc9a1cd9b89cd355ee3baa327b964ec91e03662
Merge: 37ab741 7acd8ba
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Nov 11 15:20:24 2014 +0100

    Merge 7.1 -> 7.2

commit 7acd8ba9cf9ce418196d4ab3d87da09fc9c0ed4e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Nov 11 15:17:15 2014 +0100

    Fix Club test regressions after backport of bug#19524096:
    
    Paste from a mail describing the issue below.
    As it is yet not clear wheteher this fix should also
    go into 7.3+ (as discussed below), it will for now
    only be pushed to 7.1 and 7.2 as a regression fix.
    
    ....................................
    
    I have analyzed this and found the root cause to be the
    'lock()' set in ClusterMgr::is_cluster_completely_unavailable()
    
    ....
    bool
    ClusterMgr::is_cluster_completely_unavailable()
    {
      bool ret_code = true;
      lock();  <=
    
    ....
    
    
    In most circumstances 'is_cluster_completely_unavailable' is
    called while holding the poll right. As part of your (Mikael R)
    ATC patches (WL#3860) the implementation of the 'PollGuard'
    changed:
    
    Prior to WL#3860 the (global) TransporterFacade::theMutexPtr is held
    when owning the poll right. This WL changed that such that only
    the per-client mutex trp_client::m_mutex is locked.
    
    The above 'lock' in ::is_cluster_completely_unavailable() will call
    trp_client::lock(), which in 7.1 is implemented as:
    
    void
    trp_client::lock()
    {
      NdbMutex_Lock(m_facade->theMutexPtr); <- Already held
      ...
    }
    
    Thus, we will try to re-lock TransporterFacade::theMutexPtr
    which we already held, and will either block forever, or
    fail due to 'lock already held' (Os dependent?)
    
    In 7.3+, the 'lock' call will lock ClusterMgr::trp_client::m_mutex
    instead, which will be granted **if the current client is not ClusterMgr itself**.
    So this might not be entirely safe either, depending on the which
    trp_client calling checking is_cluster_completely_unavailable().
    AFAIK, no test failures observed yet though.
    
    Furthermore, looking at the implementation of ::is_cluster_completely_unavailable()
    I cant really find any reason for this 'lock' to be needed at all.
    What we need to protect is the 'NodeInfo' maintained in ClusterMgr::theNodes[].
    Thus, locking clusterMgrThreadMutex should be sufficient - both
    in order to fix the redness introduced in the 7.1-> backport,
    and as an fix/improvement to 7.3.

commit 21ee3b02e5f4adaf8eb7f65a0a0b421825e15990
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Nov 11 11:40:48 2014 +0000

    WL#7640  Ndb Active Active Delete-Delete handling
    
    Implementation and testcase enhancement for extra status variable
    
      ndb_conflict_last_stable_epoch
    
    This is added to give guidance to the user in the unexpected
    primary failure scenario.
    
    The Secondary cluster's last_stable_epoch is the last Secondary
    epoch which was committed, binlogged, replicated and reflected
    without any conflicts being noted.
    
    Assuming such an epoch exists, knowing which it is it may help
    in handling any alignment issues during an uncontrolled
    Secondary promotion to Primary.
    
    ndb_rpl_conflict_epoch2_extra enhanced to cover expected
    behaviour.

commit d04018d7fc64cef65b75ab5344c3d78c132338f5
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Mon Nov 10 15:07:34 2014 -0800

    Provide easy way to store documents with no mapping and no schema defined
      define new method on session factory: db(database_name) returns db object
      db object has properties corresponding to table names
        if table does not exist, create the table
          if user has not mapped the table, create default table mapping and table
          if user has mapped the table, use table mapping to create the table
      Operations on session using non-existing table name
        will now create the table if it does not exist and user has mapped the table
    
    Meta
    Meta.js:
      Provide a way for the user to annotate a table mapping for forward schema creation
      Define double dispatch pattern to establish a callback for each column type
      Support defining single-column indexes with column definition
      Support defining multi-column indexes with table definition
    
    Db.js:
      Implement db.schema_name.insert(obj)
        db proxy checks if schema_name is already a property of db
          if so, delegate to db
          if not, create a collection named schema_name and delegate to it
      db.insert cases:
      |-  obj is a literal (has no constructor)
          |-  schema_name is defined in database ==> session.persist(schema_name, obj)
                  test case: db/InsertTest.js t1
          |-  schema_name is not defined in database
              |-  user has not created mapping
                    create default sparse mapping
                    create schema from mapping ==> session.persist(schema_name, obj)
                    test case: db/InsertTest.js t2
              |- user has created mapping
                    create schema from user mapping ==> session.persist(schema_name, obj)
                    test case: db/InsertTest.js t3
    
    ProxyFactory.js
      Implement a proxy usable for db
      This file is copied from http://wiki.ecmascript.org/doku.php?id=harmony:proxies
      It is based on an early version of ecmascript 6 proxy (introspection) features
        which is considered to be obsolete
      Exports the createProxy function
        implement handler.get to allow creation of db.collection if it does not exist
          calls target.getFail if property (collection name) does not exist
      Uses prototype advanced feature of javascript 6 previewed in v8
    
    SessionFactory
    SessionFactory.js:
      Add a method db(database_name) to SessionFactory
        Returns a db proxy similar to popular javascript database implementation
      Add a method createSchema that creates schema needed for db operations
      Add a method mapTable that remembers forward table mappings
    
    TableMapping
    TableMapping.js:
      Adds a property meta to FieldMapping
      Allows user to include meta in mapField and mapSparseField
      Support meta information in constructor to define indexes
    
    mynode.js:
      Export meta as mynode.meta
    
    UserContext.js:
      Implement createTable, and db by delegating to DBConnectionPool
      When getting table handler for a named table, look at session factory for table mapping
        If table mapping exists, use it to create schema
    
    DBConnectionPool:
      Add createSchema to SPI
    
    MySQLConnectionPool.js:
      Implements createSchema
        Uses doit with callback to define mysql schema based on forward meta
        Supports 15 mysql column types, unsigned, unique key, primary key, indexed, not null
    
    MySQLConnectionPool:
      Implement createTable
        Add sqlForTableCreation to create sql from user's meta
    
    mysql_properties.js
      Add engine=ndb for table creation
    
    db test suite
      db.insert with existing table and mapping
      db.insert with non-existing table and no mapping
      db.insert with non-existing table and user mapping
      session.persist with non-existing table and user mapping

commit 94457307a68ed4e953d1844b5ac74d63da9a6888
Merge: 7b71b05 e351be2
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Nov 10 22:16:47 2014 +0000

    Merge 7.3->7.4

commit e351be2654da9b1b0b637f8a8f03b70e5b9668d5
Merge: 61df7cc 37ab741
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Nov 10 22:12:58 2014 +0000

    Merge 7.2->7.3

commit 37ab74167c4d899bc758afcac0c0995314994de2
Merge: 70a9682 1ef4583
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Nov 10 22:08:09 2014 +0000

    Merge 7.1->7.2

commit 1ef458307f45ca04de3d5f83694df7521c38d0d4
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Nov 10 22:04:12 2014 +0000

    Fix bad #ifdef

commit 7b71b05c35052a69ebddc05990a58d4074b86397
Merge: 8af6161 61df7cc
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Nov 10 20:11:18 2014 +0000

    Merge 7.3->7.4

commit 61df7cc10222798c49a9a67212e3e2f1a0d5fce9
Merge: f854ea6 70a9682
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Nov 10 19:57:15 2014 +0000

    Merge 7.2->7.3

commit 70a9682fc23ff14fc4d07ccabd789043a1918ffe
Merge: 1e01c24 73f51a3
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Nov 10 19:44:13 2014 +0000

    Merge 7.1->7.2

commit 73f51a329eece733fcd5e98a305905cebbe45dca
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Nov 10 18:24:14 2014 +0000

    Bug#19903481 - INTERNAL ERROR DURING ONLINE REORG, TRIX (LINE: 782) 0X00000002
    
    Root cause is buffer sharing in SUMA.
    Required conditions are : Online reorg, ndbmtd, SUMA events (Binlogging MySQLD)
    Symptoms could include crashes in TRIX, LQH, or silent data corruption
    
    Fixes include :
      1.  Improve SUMA buffer sharing detection
      2.  Avoid sharing buffers for reorg
    
    Testing improvements :
      3.  New testcase ndb_addnode_withbinlog, which also attempts to
    have multi-LDM + 'Mixology' setting for signal mixing
      4.  New 'Mixology' setting to increase signal interleaving and
    find more bugs.
    
    Related bug still currently open :
    
    b u g # 19912988 NDB : ONLINE REORG RELATED ROW CHANGES ARE BINLOGGED

commit 8af61616eea34916ae1bb75a0614053aafa7a382
Merge: 5268343 f854ea6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Nov 10 15:37:17 2014 +0100

    merge 7.3 -> 7.4

commit f854ea6ac43ae6851b5afd9bc477e1bfcd0be8f8
Merge: 7c6d66c 1e01c24
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Nov 10 15:32:19 2014 +0100

    merge 7.2 -> 7.3

commit 1e01c2408b8df2166998a0b4b670e9a5988ecf3f
Merge: b9a1799 b0e3688
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Nov 10 15:28:24 2014 +0100

    merge 7.1 -> 7.2

commit b0e3688ea1083c64f526fe4cceca241e01677581
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Nov 10 15:19:30 2014 +0100

    Bug #19817817	TFBUFFER::VALIDATE() CONST: ASSERTION `(P->M_BYTES & 3) == 0\' FAILED
    
    Asserts on m_bytes and m_start depend on the assumption that writev
    (in doSend) consumes data in units of 4 bytes which is false.

commit 5268343238da70917a5e47df1c66a8590f1207cf
Merge: 3917914 7c6d66c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Nov 10 13:24:32 2014 +0100

    Null merge of backported fix

commit 7c6d66ca5f77ce7d6310bd1f7e9a3d5643af3097
Merge: 79dda11 b9a1799
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Nov 10 13:17:31 2014 +0100

    Merge 7.2 -> 7.3

commit b9a1799a68158d68fe1217f0ad636551cb30739c
Merge: fd72c92 37af71d
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Nov 10 13:08:23 2014 +0100

    Merge 7.1 -> 7.2

commit 37af71d63738df6163acdf9f4fa8a3f5b277b8a3
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Nov 10 12:56:36 2014 +0100

    Backport of fix for bug#19524096
    
      LONG TIME BEFORE API STARTS MAKING USE OF NEWLY STARTED DATA NODES
    
    Original commit message when pushed to 7.4: (Mikael R)
    
    Converted many 4009 errors to temporary error 4035,
    ensured APIs can use new data nodes sooner,
    fixed some wrong error categories,
    removed no longer used errors,
    fixed some anomaly in communication towards the API,
    should give autotest a much better chance to get rid of redness

commit 7a11bb94332c2cd92d267ec70a62211599ef7478
Author: magnus.blaudd@oracle.com <>
Date:   Mon Nov 10 10:42:25 2014 +0100

    Bug#19999242 DELETEING NDB_CLUSTER_CONNECTION WITH NDB INSTANCES
    
    - It was possible to delete a Ndb_cluster_connection instance while there
      was still instances of Ndb using the deleted Ndb_cluster_connection.
      Since the Ndb instances are created using a reference to the Ndb_cluster_connection
      and thus have pointers into the TransporterFacade and ClusterMgr owned by
      said Ndb_cluster_connection this may lead to usage of NULL pointer's or usage of
      deleted instances(via pointers that point into Ndb_cluster_connection members).
    - Fix by waiting  in Ndb_cluster_connection destructor for all related Ndb objects to be released
    - Add test case

commit 3917914dcd1e2186886d1c94891a5f3d7e43d1f6
Merge: 77cf50e 79dda11
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Nov 7 13:11:43 2014 -0800

    Merge 7.3 -> 7.4
    bug#19913569
    
    Add timeout to clusterj for initial connection to mgm
      This allows clusterj to report errors due to shutting down mgm nodes
      The default timeout is too long for some production use
    
    Constants.java:
      Add property name for connection property PROPERTY_CLUSTER_CONNECT_TIMEOUT_MGM
      Add default value for DEFAULT_PROPERTY_CLUSTER_CONNECT_TIMEOUT_MGM
    
    SessionFactoryImpl.java:
      Add timeout property CLUSTER_CONNECT_TIMEOUT_MGM
      Use timeout value to connect to cluster connection service
    
    ClusterConnectionService.java:
      Change signature of create method to include timeout value
    
    ClusterConnectionImpl.java:
      Use timeout value to set timeout after create but before connect
    
    ClusterConnectionServiceImpl.java:
      Use timeout with create method
    
    Bundle.properties:
      Add new error message for failure of set_timeout
      Change log message for connect to include timeout value

commit 79dda11837fc0771c87537a59ab8aeecdb843293
Merge: 0c254c8 fd72c92
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Nov 7 13:03:56 2014 -0800

    Merge 7.2 -> 7.3
    bug#19913569
    
    Add timeout to clusterj for initial connection to mgm
      This allows clusterj to report errors due to shutting down mgm nodes
      The default timeout is too long for some production use
    
    Constants.java:
      Add property name for connection property PROPERTY_CLUSTER_CONNECT_TIMEOUT_MGM
      Add default value for DEFAULT_PROPERTY_CLUSTER_CONNECT_TIMEOUT_MGM
    
    SessionFactoryImpl.java:
      Add timeout property CLUSTER_CONNECT_TIMEOUT_MGM
      Use timeout value to connect to cluster connection service
    
    ClusterConnectionService.java:
      Change signature of create method to include timeout value
    
    ClusterConnectionImpl.java:
      Use timeout value to set timeout after create but before connect
    
    ClusterConnectionServiceImpl.java:
      Use timeout with create method
    
    Bundle.properties:
      Add new error message for failure of set_timeout
      Change log message for connect to include timeout value

commit fd72c921dffa80bc1318223f608569e43df8fcc9
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Nov 7 13:00:42 2014 -0800

    bug#19913569
    
    Add timeout to clusterj for initial connection to mgm
      This allows clusterj to report errors due to shutting down mgm nodes
      The default timeout is too long for some production use
    
    Constants.java:
      Add property name for connection property PROPERTY_CLUSTER_CONNECT_TIMEOUT_MGM
      Add default value for DEFAULT_PROPERTY_CLUSTER_CONNECT_TIMEOUT_MGM
    
    SessionFactoryImpl.java:
      Add timeout property CLUSTER_CONNECT_TIMEOUT_MGM
      Use timeout value to connect to cluster connection service
    
    ClusterConnectionService.java:
      Change signature of create method to include timeout value
    
    ClusterConnectionImpl.java:
      Use timeout value to set timeout after create but before connect
    
    ClusterConnectionServiceImpl.java:
      Use timeout with create method
    
    Bundle.properties:
      Add new error message for failure of set_timeout
      Change log message for connect to include timeout value

commit 77cf50e8be265f813f303bcb38ca18161052db12
Merge: db3d03f 0c254c8
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Thu Nov 6 19:37:49 2014 -0800

    bug#19846392
    Merge from 7.3 to 7.4
    
    Avoid segv when closing session factory with sessions still active
    
    ClusterConnectionImpl.java
      Cleanly shut down transactions in progress when close is called
        for each ndb, close the transaction if it is not active
          if the transaction is active, throw an exception to the user
        for each ndb, close (delete) the underlying Ndb object
        release each NdbRecord
        close (delete) the Ndb that manages NdbRecords
      Prevent new NdbRecord objects from being created while close is in progress
    
    ClusterTransactionImpl.java
      Prevent new operations from starting while close is in progress
    
    DbImpl.java
      Maintain a "closing" flag set during cluster connection close
      Maintain a reference to the current transaction
      Prevent close of transaction if transaction is active
    
    DbImplForNdbRecord.java
      Maintain a "closing" flag set during cluster connection close
      Maintain a reference to the current transaction
      Prevent close of transaction if transaction is active
    
    Bundle.properties
      Add message "No more operations can be performed while this Db is closing"
      Add message "Cannot close a transaction while it is active."

commit 0c254c8ed0d31aade1769e6a1f87326a579bbd8f
Merge: f98e1ea 634f763
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Thu Nov 6 19:26:37 2014 -0800

    bug#19846392
    Merge from 7.2 to 7.3
    Avoid segv when closing session factory with sessions still active
    
    ClusterConnectionImpl.java
      Cleanly shut down transactions in progress when close is called
        for each ndb, close the transaction if it is not active
          if the transaction is active, throw an exception to the user
        for each ndb, close (delete) the underlying Ndb object
        release each NdbRecord
        close (delete) the Ndb that manages NdbRecords
      Prevent new NdbRecord objects from being created while close is in progress
    
    ClusterTransactionImpl.java
      Prevent new operations from starting while close is in progress
    
    DbImpl.java
      Maintain a "closing" flag set during cluster connection close
      Maintain a reference to the current transaction
      Prevent close of transaction if transaction is active
    
    DbImplForNdbRecord.java
      Maintain a "closing" flag set during cluster connection close
      Maintain a reference to the current transaction
      Prevent close of transaction if transaction is active
    
    Bundle.properties
      Add message "No more operations can be performed while this Db is closing"
      Add message "Cannot close a transaction while it is active."

commit 634f763e4d09931606ca138dec7ab765e434c464
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Thu Nov 6 16:49:40 2014 -0800

    Avoid segv when closing session factory with sessions still active
    
    ClusterConnectionImpl.java
      Cleanly shut down transactions in progress when close is called
        for each ndb, close the transaction if it is not active
          if the transaction is active, throw an exception to the user
        for each ndb, close (delete) the underlying Ndb object
        release each NdbRecord
        close (delete) the Ndb that manages NdbRecords
      Prevent new NdbRecord objects from being created while close is in progress
    
    ClusterTransactionImpl.java
      Prevent new operations from starting while close is in progress
    
    DbImpl.java
      Maintain a "closing" flag set during cluster connection close
      Maintain a reference to the current transaction
      Prevent close of transaction if transaction is active
    
    DbImplForNdbRecord.java
      Maintain a "closing" flag set during cluster connection close
      Maintain a reference to the current transaction
      Prevent close of transaction if transaction is active
    
    Bundle.properties
      Add message "No more operations can be performed while this Db is closing"
      Add message "Cannot close a transaction while it is active."

commit db3d03f753f01a62e914c194f2a099a0f1acefc9
Merge: 5dd93cc f98e1ea
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Nov 6 23:43:44 2014 +0530

    Merge 7.3->7.4

commit f98e1ea5538bd16eaa7fce1aa9c2e81237ccf521
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Thu Nov 6 23:39:57 2014 +0530

    Bug #17592990: DATA MISMATCH BETWEEN C NDB API AND MYSQL CLI.
    
    This is not an actual bug rather an expected behaviour as documented in
    http://dev.mysql.com/doc/ndbapi/en/ndb-ndboperation-methods.html#ndb-ndboperation-equal
    This patch adds two examples demonstrating insertion and reading from
    [VAR]CHAR/BINARY columns.
    changes
     - added an array adapter class that helps in converting input for above said
     	 columns to required aRef format
     - added an example - ndbapi_array_simple that inserts and retreives without
       using the array adapter
     - added an exampke - ndbapi_array_using_adapter that uses the array adapter
       to insert and read data
     - modified the ndbapi-examples.test to include the above two examples

commit 5dd93cc7f0ead2c80991fa11d662dc1ef74b0209
Merge: 144a424 11ec459
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 14:42:17 2014 +0100

    Null merge into 7.4 of a backported fix

commit 11ec459196ac6d8ff1b051a55e635a6beac50ccb
Merge: df1d1ad b2350ee
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 14:36:04 2014 +0100

    Merge 7.2 -> 7.3

commit b2350eec119af95ece1476e258c6623480e2ba5e
Merge: bd14c88 1975a77
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 14:31:25 2014 +0100

    Merge 7.1 -> 7.2

commit 1975a7798187b8c7e52817513cc9568dd16ae0dd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 14:24:05 2014 +0100

    Backport of fix for Bug#19724313
    
       MULTIPLE THREADS CRASHING LEAD TO MULTIPLE SETS OF TRACE FILES
    
    Previously only pushed to 7.4. As it solved some AutoTest issues
    we would like to have this fix in all of our current platforms
    in AutoTest.

commit 144a4248cbff28b7815043e8b371c486e942aab2
Merge: 587ea8a df1d1ad
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 12:00:25 2014 +0100

    merge 7.3 -> 7.4

commit df1d1ad83bff7ccaaaf85998c3384377f8bee96f
Merge: 787c595 bd14c88
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 11:57:07 2014 +0100

    Merge 7.2 -> 7.3

commit bd14c887dc6be3c553df7be555b8b61cb8b75325
Merge: 784c096 fefdb82
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 11:54:31 2014 +0100

    Merge 7.1 -> 7.2

commit fefdb823d2ef762c0c676a23212b035b9bdc5fdb
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 11:52:49 2014 +0100

    Fix for bug#19880747:
    
      Incorrect schemaTrans outcome reported during DICT-master takeover
    
    A schema transaction commit/abort (TRANS_END_REQ) for a non-local
    transaction should always be handled by the DICT-master node.
    However, the master role check happens to late in
    ::execSCHEMA_TRANS_END_REQ(), such that a non-master DICT
    may incorrectly return the errors 'InvalidTransKey' and
    'InvalidTransId' instead of 'NotMaster'.
    
    This fix moves the master check earlier in ::execSCHEMA_TRANS_END_REQ.
    After this fix, execSCHEMA_TRANS_END_REQ does this checking in
    the same way as in execSCHEMA_TRANS_BEGIN_REQ.

commit 587ea8a5e756eeede89f812b63fc0031ce011db6
Merge: 5fe069d 787c595
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 09:31:12 2014 +0100

    Merge 7.3 -> 7.4

commit 787c595b4fef386497d8c0eafa8e7fb62b12493c
Merge: c8e67ac 784c096
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 09:26:43 2014 +0100

    Merge 7.2 -> 7.3

commit 784c0968239faa95a98e8b9256492a3fd54a95b8
Merge: c545f63 8c787ce
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 09:20:09 2014 +0100

    Merge 7.1 -> 7.2

commit 8c787ceb3e62421e94f0b37897dfe69c72a15d60
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Nov 6 09:15:50 2014 +0100

    Fix for bug#19875663
    
      DICT master crash during takeover 'rollforward' of schemaTrans
    
    When deciding which operations to rollback/forward during takeover,
    the 'nodePtr.p->takeOverConf' is checked. The 'takeOverConf'
    contains a copy of the TAKEOVER_CONF signal received when
    we handshake during TAKEOVER_REQ .
    
    However, there might be cases where a TAKEOVER_REF is received from
    some nodes. Takeover may still happen, but these nodes has
    no operations to process during the takeover. This knowledge
    is recorded by execDICT_TAKEOVER_REF() clearing the node bit in
    'masterNodePtr.p->m_nodes'. In this case, 'takeOverConf'
    **contains no valid data** for that node !
    
    This fix adds check for 'masterNodePtr.p->m_nodes' containing
    a node before its 'takeOverConf' is referred. (Avoids garbage)
    Thereby we enters the code which correctly constructs the missing
    schemaOp.
    
    Furthermore, when missing schema transactions are reconstructed,
    we failed to init the 'm_nodes', check_partial_rollforward'
    and 'ressurected_op' member variable for the transaction.

commit 5fe069d5372aa6cb571a5bc03427695d883a87ed
Merge: 09a2055 c8e67ac
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Wed Nov 5 17:30:05 2014 +0530

    Null-Merge 7.3->7.4
    The fix can be fount in revno: 4540

commit c8e67ac59ff5e884a9771eba249099b8bcc07536
Merge: 566164d c545f63
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Wed Nov 5 17:22:16 2014 +0530

    Merge 7.2 -> 7.3

commit c545f6316c86927b75a3aa39e099c50c0580c9c2
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Wed Nov 5 17:19:13 2014 +0530

    Bug#14571512 : --PRINT_DATA TRUNCATING THE LAST 16 BYTES OF BLOB FIELD
    
    NDB_RESTORE when given with the option --PRINT_DATA, TEXT and BLOB column values
    are always truncated to the first 240 bytes instead of 256 bytes.
    This is caused due to the consideration of header size (16 bytes) as a part of the
    inline size, removing this solves the problem.
    
    The patch includes the fix for this bug along with updated result file of
    ndb_restore_conv_more test, which does $NDB_SELECT_ALL (It uses the same code) and
    needed to be updated.

commit 09a2055fd4b1fead3857bb2d7cd8e1b46fd1eaa7
Merge: 45fc43d 12b479f
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Wed Nov 5 16:33:34 2014 +0530

    Merge 7.3 -> 7.4

commit 12b479fd1ffc23b21a8f479664ea7dfc632d3a74
Merge: 857b330 76686b0
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Wed Nov 5 16:28:38 2014 +0530

    Merge 7.2 -> 7.3

commit 45fc43da48f2e241da43e18ef27c80f84d79798c
Merge: e3ccd17 566164d
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Nov 5 11:36:22 2014 +0100

    Null merge 7.3 -> 7.4

commit 566164d622049c40f55c03331e31f7617a4ee68d
Merge: 857b330 c4d35bb
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Nov 5 11:35:12 2014 +0100

    Null merge 7.2 -> 7.3

commit 76686b0dce53d57a76cb5b5e19c419ad20fed67a
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Wed Nov 5 16:04:29 2014 +0530

    Bug#14571512 : --PRINT_DATA TRUNCATING THE LAST 16 BYTES OF BLOB FIELD
    
    NDB_RESTORE when given with the option --PRINT_DATA, TEXT and BLOB column values
    are always truncated to the first 240 bytes instead of 256 bytes.
    This is caused due to the consideration of header size (16 bytes) as a part of the
    inline size, removing this solves the problem.
    
    The patch includes the fix for this bug along with updated result file of
    ndb_restore_conv_more test, which does $NDB_SELECT_ALL (It uses the same code) and
    needed to be updated.

commit c4d35bbc33c55541bc05f7f127ab9dcd924b927b
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Nov 5 11:23:04 2014 +0100

    Fix for bug#19881025:
    
    CLUB FOR 7.2, TEST 'INNODB.FOREIGN-KEYS' IS FAILING ON 'LINUX-DEBUG'
    
    Cherry picked a fix from mysql-5.5 upstream, revno 4727

commit e3ccd17e164906fd626f6ce6d2bab0fb91543b4f
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Tue Nov 4 12:46:36 2014 +0100

    This commit is an update of WL#7375 (Ndbinfo: Per-fragment memory usage reporting).
    Column fixed_elem_free_rows in view ndbinfo.memory_per_fragment is renamed to fixed_elem_free_count to get a more consisten naming.

commit b6b22ed1421c25d484135c480a115c5b3d643e2f
Merge: 5425105 857b330
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Nov 4 10:35:56 2014 +0100

    Merge 7.3 -> 7.4

commit 857b330f6a094910cba8407985cf95c8fba1d530
Merge: b9e266a e071bba
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Nov 4 10:33:08 2014 +0100

    Merge 7.2 -> 7.3

commit e071bba45c4b779e4ebc6e0b19551b50f919b143
Merge: 4be3f99 df61959
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Nov 4 10:27:04 2014 +0100

    Merge 7.1 -> 7.2

commit df61959b3d2c9d4b676d4a9f8798b1930569136e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Nov 4 10:21:13 2014 +0100

    Fix for bug#19874809 :
    
        DICT operations during 'takeover' may crash new master
    
    Before the new master has rolledforward of backwards any
    schema transactions remaining after the failed dict master,
    we should avoid new schema transactions to be started, and
    operations refering the old transactions should be avoided.
    
    Some traces of such guards are already implemented in the
    DICT code. However, they are insufficient as they only check
    for 'c_takeOverInProgress'. This is only sufficient to identify
    the very early phases of takeover processing where the nodes
    are informed about the new master. The cleanup of the abandoned
    schema transaction does take place later with
    'c_takeOverInProgress==false'..
    
    This patch adds sufficient protection to avoid new
    schema transactional operations to start until the takeover
    processing has cleaned up the abandoned transaction

commit 836f6d71349b2704ea9d817671688a6840b39c6d
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Tue Nov 4 08:30:23 2014 +0100

     Added sles11 repo packages

commit 542510532984e048188117d6e358bd4ee05b8b5d
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Fri Oct 31 13:29:38 2014 +0100

    This commit implements WL#8145 (NdbInfo : Per-fragment operations info).
    
    It implements a new view, ndbinfo.operations_per_fragment, that provides information about the operations executed against each replica of each fragment. Specifically, it provides the following information:
    
    - Fragment identity:
     * Fully qualified name (e.g. mydb/def/t1).
     * Fully qualified name of parent table (in case of blob tables and indexes).
     * Object type (user table, blob table, ordered index etc.
     * Node id, table id, block instance, fragment number.
    
    - Key operations:
     * Number of key operation of each type (update, insert, delete, write and
       read). 'write' operations are used by e.g. SQL 'REPLACE' statements.
     * Number of key operations refused due to key not found, duplicate key or interpreted program outcome.
     * Total size of various message fields for key operations (keyinfo, attrinfo
       and bytes returned).
    
    - Scan operations:
     * Number of fragment scans executed.
     * Number of rows returned to the client.
     * Number of bytes returned to the client.
     * Total size of scan bounds and interpreted scan programs.
     * Number of interpreted instructions executed.
     * Number of scans currently executing.
     * Number of scans queued, currently and accumulated.

commit 86f8a3f9a62a7296becb4fac5d2d7038c7b41e3e
Merge: 6c8a449 b9e266a
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Oct 29 15:19:28 2014 +0100

    Merge 7.3 -> 7.4

commit b9e266a94fd8f407b5173eb262a88d58f47caab4
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Oct 29 15:11:42 2014 +0100

    Follow up fix for bug#18352514 fixing a build failure.
    
    Some compilers / platforms did not handle 'MY_ALIGNED(SZ)' spec
    as part of a template declaration.
    
    This fix non-templateize these declarations and instead
    declare a MY_ALIGNED sub class whereever an aligned
    variant of these struct really are required.

commit 6c8a449ae40cc7604b1083524c30f34464473a38
Merge: 4e4be52 84f0050
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Oct 28 09:59:22 2014 +0100

    Merge 7.3 -> 7.4

commit 84f0050bf85bfbf74e51fdd40ffdbc5adbf6d7c2
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Oct 28 09:44:29 2014 +0100

    Addendum fix for bug#18352514:
    
       STRUCT MEMBERS IN MT-SCHEDULER ARE NOT CACHELINE ALIGNED AS ASSUMED
    
    Previous fix failed on Mac OS as there were platform dependent
    assumption of the max size of the NdbMutex struct used in
    the thr_mutex struct.
    
    This fix introduce the usage of the mysql defined MY_ALIGNED macros
    which allows us to more explicit specify the cache line alignment
    requirements for the struct members in the scheduler structs.
    Some previous padding of these structs has been removed.
    
    
    ****** Patch part 2: ***********
    Optional cleanup part of fix for Bug#18352514
    
    
    It used to be defined both a non-aligned 'struct thr_data'
    and the aligned 'struct thr_data_aligned'. This was partly
    due to historical reasons, and partly because there were
    no simple manners to declare an aligned struct directly -
    It has to first be declared as 'normal' struct, then
    an aligned variant could be declared from that one by
    adding padding.
    
    By using the MY_ALIGNED decl, we could define the aligned
    variant directly. The now aligned variant was really only
    a helper struct, and has now been removed.

commit 4e4be52c26eee0796a795aafb7494092128c7945
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 27 14:15:52 2014 +0100

    bump version to 7.4.3

commit c3646118fb27d4b37a7de7104a50d1f86d12312f
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Oct 27 10:42:47 2014 +0000

    Bug #19875710 	NDB : COMMIT ACK MARKERS LEAK @ LQH IN 7.4
    
    Fix TC ref counting of Commit Ack markers in LQH so as not
    to leak markers at LQH.
    
    TC has one TC-Commit-Ack-Marker record per transaction which
    is used to track which nodes and LDM instances hold
    LQH-Commit-Ack-Marker records.
    
    This is used when receiving TC_COMMIT_ACK to know which nodes
    and LDM instances should be sent a REMOVE_MARKER_ORD signal.
    
    TC only needs one operation per transaction to have
    LQH-Commit-Ack-marker records (in each live node in one
    nodegroup), so the approach taken is to request them
    for all write operations until one of the write
    operations succeeds (and keeps its marker at LQH).
    After this, subsequent write operations needn't allocate
    markers at LQH.
    
    Write operations that don't succeed and don't immediately
    cause a transaction abort (e.g. those defined with
    IgnoreError, and which e.g. find no row, or row already exists
    or something) are aborted (and discarded at LQH), and so they
    leave no LQH-Commit-Ack marker.
    
    Where a transaction prepares write operations that all fail at
    LQH, there will be no LQH-Commit-Ack markers, and so no need
    for a TC-Commit-Ack marker.  This is handled using a reference
    count of how many LQH-Commit-Ack markers have been requested
    *or acknowledged*.  If this becomes == 0 then there's no need
    for a TC-Commit-Ack marker.
    
    TC uses a per-transaction state and a per-transaction reference
    counter to manage this.
    
    The bug is that the reference count was only covering the
    outstanding requests, and not the LQH-Commit-Ack markers that
    were acknowledged.  In other words the reference count was
    decremented in execLQHKEYCONF, which signified that an LQH-Commit-Ack
    marker was allocated on that LQH instance.
    
    In certain situations this resulted in the allocated LQH-Commit-Ack
    markers being leaked, and eventually this causes the cluster to become
    read only as new write operations cannot allocate LQH-Commit-Ack markers.
    
    Bug seems to have been added as part of
      Bug #19451060 	BUG#73339 IN MYSQL BUG SYSTEM, NDBREQUIRE INCORRECT
    
    Fix is to *not* decrement the reference count in execLQHKEYCONF.
    
    However, the current implementation 'forgets' that an operation resulted in
    marker allocation (and reference count increment) after LQHKEYCONF is
    processed.
    
    To solve this, TC is modified to record which operations caused
    LQH-Commit-Ack markers to be allocated, so that during the
    per-operation phase of transaction ABORT or COMMIT, the
    reference count can be decremented and so re-checked for
    consistency.
    
    
    Some additional jam()s and comments are added.
    
    A new ndbinfo.ndb$pools pool is added - LQH Commit Ack Markers.
    This is used in the testcase to ensure that all LQH Commit Ack
    markers are released, and may be useful for problem diagnosis
    in future.
    
    Replication used in the test to get batching of writing operations
    and NdbApi AO_IgnoreError flag setting.
    
    Some basic transaction abort testcases are added which showed problems
    with a partial fix.

commit 3164e649e7dab48920349b13daa6bf5da23671dd
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Oct 25 16:39:14 2014 +0200

    BUG#19815044: Part 4, remove usage of global block variable m_pgman_ptr, it is used for parameter passing, but can in some weird situation in DBTUP it can be reassigned to a value that can cause an inconsistent database.

commit bcb11f511308f66c878e92a44f8d4006421d1b67
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Oct 25 16:30:43 2014 +0200

    BUG#19815044: Part 3, fix such that an aborted insert after a committed delete doesn't lead to that triggers for delete isn't executed by ensuring that delete_insert_flag is properly maintained

commit e530c5c869b8bae111c226c93e203c52ef83d453
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Oct 25 16:28:46 2014 +0200

    BUG#19815044: Part 1: Improve jamming support to make it easier to read what's going on bug situations

commit fba9153bafd1f8a04622e968784050d432533304
Merge: 17376d2 4693b02
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Oct 25 16:04:08 2014 +0200

    Merge BUG#19815044

commit 4693b0283f66ab6cc039e9a6a5166df14fc02336
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Oct 25 14:24:02 2014 +0200

    BUG#19815044: Add test case for it used in autotest

commit 47756cfc65e54bf1b41b224d30fac947cc7affe1
Merge: 31161aa 4be3f99
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Oct 25 14:22:49 2014 +0200

    Merge BUG#19815044

commit 4be3f99cf1f5d3f6d30b68cce1575ae845e3b5fe
Merge: 6d0f080 c75065b
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Oct 25 14:13:04 2014 +0200

    Merge BUG#19815044

commit c75065bb35b00ee5657040e0e457bad4ec80ad6b
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Sat Oct 25 14:07:28 2014 +0200

    BUG#19815041: Crash on abort of delete after successful delete on a disk data table

commit c3abf8ced7007236e4789466fb041c2f23107d91
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Oct 24 13:25:30 2014 -0700

    Add global.fail_connect to test utilities

commit 3c6d792f31ecbd150aa44c7b3c2f39bbb81d7f1a
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Oct 24 13:23:43 2014 -0700

    Fix ProjectionErrorTest

commit 70b30529d52fc836e5bce1a26f91eb8942a17b79
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Oct 24 13:22:49 2014 -0700

    Improve error reporting for multidb tests

commit dfb6478b0dab1ae5ebbc4cc8acca6d055aafa8de
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Oct 23 16:39:44 2014 -0700

    big lint-fixing patch

commit ed03ec2cca13e56e116d7651b00bd08d05bc1aca
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Oct 23 16:38:29 2014 -0700

    Fix unified_debug issue with per-file levels for C++ files
    Remove workaround for this in executable programs

commit 7378c9b2395fd80bacdbf28949796d325e5fda5b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Oct 23 14:47:39 2014 -0700

    Converter use in DBTableHandler (fixes freeform tests for ndb)

commit a2a887834c224e08fe0c68682b72020b0739b957
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Oct 23 14:45:25 2014 -0700

    Big deglobalization patch.
    Removes many global variables (but not all).

commit 4c09f9608a63f519457bc1e63590fd032d31cb7c
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Oct 22 17:29:49 2014 -0700

    Move SQL.create and SQL.drop from test harness into adapters.
    NDB depends on MySQL for this.

commit a1b528f4c904ba95c1edc244f933f3dfc3c4cc11
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Oct 22 16:09:28 2014 -0700

    Enhance closeAllOpenSessionFactories() so it takes a callback & returns a promise

commit 17376d22686e6aa1456f48ca0b82c00fb1dd028c
Merge: e713c20 31161aa
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Oct 21 13:11:33 2014 +0200

    Merge 7.3-> 7.4

commit 31161aa5d890d77fc5ee464fcd80b2e1490e3b91
Merge: d1e997e 6d0f080
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Oct 21 13:03:39 2014 +0200

    Merge 7.2 -> 7.3

commit 6d0f08070cdd947bfcf33c66d9b8192246beb330
Merge: 70d64f7 98d2c16
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Oct 21 12:57:53 2014 +0200

    Merge 7.1 -> 7.2

commit 98d2c162285f09204fcd787ab4e68f41488d664c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Tue Oct 21 12:56:37 2014 +0200

    Fix for bug#19712569
    
        NODE RESTART BLOCKED BY DICT LOCK HELD BY SCHEMA TRANSACTION
    
    The dictionary API code may incorrectly interpret a TRANS_END_REPORT
    belonging to a previous TRANS_BEGIN_REQ as a failure of the latest
    schema transaction. This caused the API to assume that the transaction
    failed and its locks was released, while the transaction was actually
    started. This transaction is then effectively lost, and its locks
    prevents other schema transactions to be started. As node restarts also
    need the DICT lock, they are also prevented from getting past start phase 2.
    
    This fix ignores TRANS_END_REP signals which belongs to unknown Txn,
    or to transactions not yet started. To correctly track the Txn state,
    we now also defer setting Txn-state to 'Started' from sending
    the TRANS_BEGIN_REQ until TRANS_BEGIN_CONF is received.
    
    Furthermore, this patch also changes the expected outcome of starting a
    schema transaction during a master node failure: If a master node now fails
    before a TRANS_START_CONF has been sent, ::dictSignal() will resend
    the TRANS_START_REQ signal to the new master, and it will
    likely succeed the next time. (Which it actually also did before,
    but the API incorrectly assumed that it failed)

commit e713c2084ff97860b6c89f40bf40ad10d34428c9
Merge: 520f2e2 d1e997e
Author: Sunanda Menon <sunanda.menon@oracle.com>
Date:   Tue Oct 21 05:36:01 2014 +0200

    Upmerge of the 7.1.33 build

commit d1e997e953ca40eb4f472670569a1b08ca501cae
Merge: a41d3cc 70d64f7
Author: Sunanda Menon <sunanda.menon@oracle.com>
Date:   Tue Oct 21 05:31:32 2014 +0200

    Upmerge of the 7.1.33 build

commit 70d64f78d185cc94f473d7b8c7fb4e9127c3e473
Merge: 191a635 93c5fe2
Author: Sunanda Menon <sunanda.menon@oracle.com>
Date:   Tue Oct 21 05:24:55 2014 +0200

    Upmerge of the 7.1.33 build

commit 93c5fe2d83d65a045dfd409be2d314c810c7b7ce
Merge: 546754f cef7471
Author: Sunanda Menon <sunanda.menon@oracle.com>
Date:   Tue Oct 21 05:11:27 2014 +0200

    Merge from mysql-cluster-7.1.33-release

commit 31bf97a3f3287508bfd109035e665e8e964e2756
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Mon Oct 20 17:08:11 2014 -0700

    When using node --harmony and strict mode, DBIndexHandler cannot be forward declared
      and still use the function DBIndexHandler(parent, dbIndex) syntax.

commit 0f98ff8a1a5ac0fd670c0137b3d2cbb359160f29
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Oct 20 10:29:21 2014 -0700

    jscrund: add support for B tests with varying size varchar.
    (Only supported by jscrund_mysqljs crund backend).

commit ca01a5797ca0b2a2cfb87018539ab6c11f03e8f3
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Oct 20 09:20:17 2014 -0700

    lint globals cleanup

commit 520f2e27a1b36d3339e205b4bbf5e09a985b5c1b
Merge: 3359cd0 a41d3cc
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Oct 20 10:08:18 2014 +0200

    Merge 7.3 -> 7.4

commit a41d3cc0d7ae0484d6df777ea018aa8b5b3a8f62
Merge: 8263abd 191a635
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Oct 20 09:58:36 2014 +0200

    Merge 7.2 -> 7.3

commit 191a6352137070a1eb7453c6b9d963b4f6e28093
Merge: ef167b7 546754f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Oct 20 09:56:22 2014 +0200

    Merge 7.1 -> 7.2

commit 546754f31060530088f96086d757476370e81943
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Oct 20 09:53:21 2014 +0200

    Fixes restart race causing test timeout in AutoTest 'testDict -n schemaTrans'
    
    The test cases v1,v2, and x1,x2 restarted a node without the
    'NoStart' option, and then waited for the node to reach the
    'NO START' state. However, this opens the possibility of
    the node to restart, and reach the 'STARTING' state without the
    test client ever seing the 'NO START' state, Thus the test
    would finaly time out (Fail) after 120s.

commit 0156bf1aec9651f0b7e301e082e44dc589dbdef6
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Oct 17 17:25:35 2014 -0700

    Return an error if writing non-Buffer data to binary columns
    
    MySQLConnection.js
      check error return from processing fields in buildInsertOperation
      check error return from processing fields in buildWriteOperation
    
    DBTableHandler.js
      check types when getting field values for insert and write operations
        if database type is binary, check that a Buffer is passed as data

commit 315e6b24d084a31325f2cdefa7a7e2de5f832aa6
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Oct 17 15:52:10 2014 -0700

    Allow flexible mapping for node.js domain classes
    
    TableMapping.js
      add excludeFields(fieldNames)
        fieldNames: fields that are not considered when storing objects
          a single field name, or
          a list of field names, or
          an array of field names
      add mapSparseFields(columnName, fieldNames, converter)
        fieldNames: fields that are stored in the column
          by default, as a JSON document
          if not specified, all persistent fields not otherwise mapped or excluded
        converter: a sparse object converter with two methods:
          toDB(SparseFieldConverter, js-object) returns a column intermediate value
          fromDB(SparseFieldConverter, js-object, db-value) returns nothing
    
    DBTableHandler
      track the number of non-persistent fields (excluded from sparse field handling)
      change the signature of toDB and fromDB to include
        the JavaScript object being accessed
        the field mapping that governs the processing of the field/column
      the changes to toDB and fromDB allow sparse field handling
    
    mynode.js
      add converters field to hold user-accessible JSON converters
    
    Converters/JSONFieldConverter
      toDB: converts a javascript field into its JSON stringified value
      fromDB: converts a JSON string into a javascript object
    
    Converters/JSONSparseFieldsConverter
      toDB: extracts sparse fields from a javascript domain object
        and creates a JSON stringified value from the fields
      fromDB: uses a JSON string to set sparse fields into a
        javascript domain object

commit 3359cd0490c12c60d9364eb088572b6468cd9051
Merge: 35d887c 8263abd
Author: Sreedhar S <sreedhar.sreedhargadda@oracle.com>
Date:   Fri Oct 17 18:48:53 2014 +0200

    Upmerge of the 7.3.7 build

commit 8263abd61d1bbaac34d259d1dc3985dbc70d292f
Merge: 6fd1b3e fd3d187
Author: sreedhar.sreedhargadda@oracle.com <>
Date:   Fri Oct 17 18:24:06 2014 +0200

    Merge from mysql-cluster-7.3.7-release

commit 35d887ca80dcf9548b382b56acc54eee2e5639c4
Merge: d0e95f1 6fd1b3e
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Fri Oct 17 09:30:35 2014 +0200

    Null merge from mysql-5.6-cluster-7.3 branch

commit 6fd1b3ebb093522befeeea3e22dc3bc813914617
Merge: 02dfedd ef167b7
Author: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
Date:   Fri Oct 17 09:24:15 2014 +0200

    Null merge from mysql-5.5-cluster-7.2 branch

commit ef167b77298d94e1ca1dc68ea3e85677c1ccbed1
Merge: 882c25d b5cbe4b
Author: murthy.narkedimilli@oracle.com <>
Date:   Fri Oct 17 09:18:27 2014 +0200

    Merge from mysql-cluster-7.2.18-release

commit d0e95f1b0c3c95ab1cb9ee03484cdb5d0d54d46e
Merge: e4a119a 02dfedd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Oct 16 13:24:17 2014 +0200

    Merge 7.3 -> 7.4

commit 02dfeddd53ee9bf4e153332172c0e0b495342387
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Oct 16 13:23:24 2014 +0200

    Fix for bug#18352514
    
       STRUCT MEMBERS IN MT-SCHEDULER ARE NOT CACHELINE ALIGNED AS ASSUMED
    
    A lot of performance tuning has been performed inside the
    multi threaded scheduler to optimize the cache behavior of its
    internal data structures.
    
    Sub-members in these structures has been placed such that thread local
    members doesn't 'overflow' onto a cacheline possible being accessed by
    another thread. Where required, extra padding bytes has been inserted
    to isolate cachelines owned, or shared, by different threads.
    Thus avoiding entire cache line to be invalidated if another thread
    write into a cacheline not entirely owned by itself.
    
    Micro benchmarking has previously proved that such
    optimization improved the performance several percent.
    
    This entire optimization depends on that the global
    'struct thr_repository' instance itself starts at
    a cache line aligned base address *and* that the compiler
    doesn't rearrange or add extra padding to the scheduler
    struct.
    
    It turns out that the above prerequisits are not guaranteed
    or checked by the code. Thus these cacheline optimization
    has only worked when the global thr_repository instance by coincidence
    ended up being cacheline aligned. Furthermore, on 64bit build the compiler
    also added extra padding words in the 'struct thr_safe_pool' such that
    it broke our own attempt to pad it to a cacheline aligned size.
    
    This fix ensures that 'g_thr_repository' is constructed '(via placement new)
    on a cacheline aligned address. Furthermore, asserts are added in the
    constructors to verify cacheline aligned adresses where such are assumed
    by design.

commit e4a119aa4089194b7293b5080702ff1ca09b78c3
Merge: fc14839 0f5d4b9
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Oct 16 13:01:19 2014 +0200

    Merge 7.3 -> 7.4

commit 0f5d4b99ac0acd187265efad8109766351d8af68
Merge: 1005d4e 882c25d
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Oct 16 12:55:20 2014 +0200

    Merge 7.2 -> 7.3 + Added the 'fix part' of this bugfix as described in original commit message

commit 882c25dc344b7010e2ca9881148ec5a9b89815e3
Merge: cedac97 8506d54
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Oct 16 12:35:41 2014 +0200

    Merge 7.1 -> 7.2

commit 8506d54c7ca04ed1e3b28f1fc49d3762c0bf5d1e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Oct 16 12:29:19 2014 +0200

    Fix for bug#19661543
    
       RACE CONDITION BETWEEN ::PERFORMRECEIVE AND ::UPDATE_CONNECTIONS()
    
    Fix a regression introduced by WL#3860 (ATC patches). That WL
    removed the TransporterFacade::theMutexPtr which implictly
    provided protection between concurent calls of ::performReceive()
    and ::update_connections().
    
    Fix is in two parts:
    
    Part1, TransporterReceiverWatchdog.patch:
    
    Adds a DEBUG watchdog which will assert that there are no
    concurrent calls to ::performReceive() and ::update_connections().
    Doesn't fix anything, except guarding against reintroducing the
    same problem later.
    Running MTR tests with this patch will crash rather rapidly on >= 7.3
    Part1 is pushed 7.1 ->
    
    Part2: The real fix:
    This patch moves ::update_connections() calls inside do_poll()
    where it is now done (serialized) in a loop together with
    ::performReceive(). Part2 will be added to the merge 7.3 ->

commit fc148394b44308ec426eae1fde25851246b14812
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Oct 16 01:00:07 2014 +0200

    Remove warning introduced with patch for BUG#19236945

commit 63696032b80f356feafe8ef12c1f4e607f6c2ba7
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Oct 15 22:47:10 2014 +0200

    Bug #19236945 ADDRESSSANITIZER BUG SHOW UP IN NDBRECATTR::RECEIVE_DATA CALLED FROM RESTORE.CPP
    
    Use actual length of attribute data when reading data from buffer,
    not the attributes maximum length in case of variable length attributes.
    
    Also the data size wasn't set in one place.

commit 4fd3e52295aaee159e42d206be767f558751e228
Merge: d93c317 1005d4e
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Oct 15 17:35:07 2014 +0200

    Merge 7.3 -> 7.4

commit 1005d4ed9657d10168cedaaf5ee78c58eab43068
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Oct 15 17:28:35 2014 +0200

    bug#19793475 - NO WAIT FOR EPOCHS THAT HAVE NO DB CHANGES MADE BY THIS NDB THD TO BE IN BINLOG
    
    Ensure the most recent data changes made by the current thread to Ndb
    (session_last_committed_epoch) instead of those made by all threads
    (server_last_committed_epoch) to be flushed to Binlog.

commit d93c317c898326ab77ef96fc0dbb0bdf7561e0f1
Merge: bc0fd62 8227f5c
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Oct 15 18:59:55 2014 +0530

    Merge 7.3->7.4

commit 8227f5c9613ae3e5c58e6938f7b9fca6104669a9
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Oct 15 18:57:17 2014 +0530

    Removing the extra blank line from daily-basic-autotest-conf

commit bc0fd6293dd7a8a1723e5d20fc1155bb1c4297a6
Author: Martin Skold <Martin.Skold@oracle.com>
Date:   Wed Oct 15 11:25:57 2014 +0200

    Fixed compilation error due to changed file name

commit f0cae913482c15ae82874d86263f2ed1c25e6539
Merge: 350a304 3fbef6f
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Oct 15 11:56:14 2014 +0530

    merge 7.3 -> 7.4

commit 3fbef6f7aa0b437775f7b23c5895c89ea656a7db
Merge: 6fc199a cedac97
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Oct 15 11:52:50 2014 +0530

    merge 7.2 -> 7.3

commit cedac977f149252d8148d3c3def2f27851e60dfe
Merge: 4e242b5 c606146
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Oct 15 11:48:12 2014 +0530

    merge 7.1 -> 7.2

commit c60614649f6f76918c99b569a9400327eebe03d2
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Oct 15 11:44:50 2014 +0530

    Bug#19267720:  NDB REPLICATION : DO NOT SETUP CONFLICT RESOLUTION FOR
    EXCEPTIONS TABLES
    
    If a replication conflict function is defined with wildcards so that
    it covers an exceptions table, do not setup the conflict function for
    the exceptions table.

commit ccad0ec3fe20ce1914453a8024c81dd94c20a0dc
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Oct 14 13:41:30 2014 -0700

    formatting

commit 9888bcf8a93453284921c0880d135b47a76d3f9b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Oct 14 13:33:14 2014 -0700

    Docs work

commit 350a30421dfb41abab13f04f49945f5047adfbd7
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Oct 14 16:21:56 2014 +0200

    BUG#19795072: Fix problems related to ndbinfo tables for disk write speed

commit 8033b408b2a1a77752e32506ca9fb406ca11236c
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Oct 14 16:19:56 2014 +0200

    BUG#19643174: Fix races in relation to sending TC_COMMIT_ACK and handling of complete of a transaction

commit da3b20a0656c7f6d13930b35d5ddaec6fa0c2cf8
Merge: 3e2a50d 6fc199a
Author: Martin Skold <Martin.Skold@oracle.com>
Date:   Tue Oct 14 15:07:06 2014 +0200

    Null merge from 7.3

commit 6fc199a0f82ead3ceb09362d76cd0d381f6e6131
Author: Martin Skold <Martin.Skold@oracle.com>
Date:   Tue Oct 14 15:06:11 2014 +0200

    Removed compiler warnings

commit 3e2a50da91e27d00d00e7a75de9496bd975b5c87
Merge: 6c92e75 df26fb1
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Oct 14 18:22:46 2014 +0530

    Merge 7.3->7.4

commit df26fb1b094e7bacbfbceaa11e45a112978c7eb6
Merge: 5053f6b 4e242b5
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Oct 14 18:18:45 2014 +0530

    Merge 7.2->7.3

commit 4e242b518750133f8e9ed980f58a7d9c971f11c4
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Oct 14 18:07:29 2014 +0530

    BUG#14798022 : "CHAR (0)" DATATYPE CAUSING ERROR 1296 (HY000): GOT ERROR 4547
    PART II
    
    This patch fixes the warning caused by the original fix.
    Other Changes :
     -added validation for BitColMapsNullBitOnly inside validateRecordSpec
     -BitFieldMapsNullBitOnly is now set only if RecMysqldBitfield is set
     -updated few error handlings and comments

commit 6c92e753ac66d524f728cd73357ee5650bb0adee
Merge: d6980f7 5053f6b
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Oct 14 14:35:00 2014 +0200

    null merge 7.3 -> 7.4

commit 5053f6beb2165bc15964b631e6f1385d08ab2f3f
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Oct 14 14:24:18 2014 +0200

    Cherrypick from 7.4 (revno 4354):
    Implement status variables exposing last commit epochs for the server
      and each session.

commit d6980f7bd11b1a693e3c7d388ba91c544e8bbcb9
Merge: a58c5fd 34fb232
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Oct 14 14:17:42 2014 +0200

    merge 7.3 -> 7.4

commit 34fb23222613b7419e87ad9bb70107ac3dd0dcb3
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Oct 14 14:14:37 2014 +0200

    bug#18411034 - CRASH IN NDB-SHARE: some debug to trace the problem

commit a58c5fd59554cb1dc549c2b0361b65b8dde993e7
Merge: 0c2d23e e7ad7bb
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Oct 14 14:08:32 2014 +0200

    merge 7.3 -> 7.4

commit e7ad7bb2ef87d96f84a14eab306610e3226272a1
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Oct 14 13:58:09 2014 +0200

    bug#18411034 - CRASH IN NDB-SHARE: some debug to trace the problem

commit 0c2d23eebf5e16a5c2c9790fd6ca32d8fa32a0be
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Oct 13 21:39:57 2014 +0200

    BUG#19724313: Handle multiple threads crashing at the same time properly

commit e4b31e1e947cda906984c583d661e915044f64ec
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 13 19:34:33 2014 +0200

    Added missing include for previous patch
    Bug #19582925 ENHANCED DETECTION AND DUMP OF CORRUPT OR UNSUPPORTED MESSAGES

commit b34f8076fcb61a24baa2bab72ef0511d0c317ac8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 13 16:15:03 2014 +0200

    Restore computeChecksum to computeXorChecksum that was reverted in
    patch for Bug #19582925 ENHANCED DETECTION AND DUMP OF CORRUPT OR UNSUPPORTED MESSAGES

commit 2f3dfafed1cef76f0eee6baac1d5e9e456a4e8c2
Merge: 3f682b7 c529a52
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 13 14:28:56 2014 +0200

    null merge 7.3 to 7.4

commit 3f682b78713b6bdb24d318034523665cd51c05cb
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 13 14:22:16 2014 +0200

    Merge of Bug #19582925 ENHANCED DETECTION AND DUMP OF CORRUPT OR UNSUPPORTED MESSAGES
    
    Test of io state is kept in outside loop of
    TransporterRegistry::unpack() to not introduce to much performance
    regression.

commit 74558c15c933203a4ecf13030b94772aebdfc6aa
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 13 14:09:26 2014 +0200

    Refactoring of Packer::unpack in preparation of merging Bug#19582925

commit c529a52ff544526b730e41454b2581929b5f219a
Merge: e41839c 555681c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 13 14:06:18 2014 +0200

    merge 7.2 to 7.3

commit 555681c993db5b414a8adcec8afc7f896d55f575
Merge: 2f6253c 2fd2e7c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 13 13:40:03 2014 +0200

    merge 7.1 to 7.2

commit 2fd2e7c061b6a046f039628185a830d39e3a043b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 13 13:36:37 2014 +0200

    Bug #19582925 ENHANCED DETECTION AND DUMP OF CORRUPT OR UNSUPPORTED MESSAGES
    
    Add more checks while unpacking received signals over tcp.
    
    Byte order must be the native byte order.
    Compressed flag may not be used.
    Check also byte order, compressed flags, and message length for
    next message if in receive buffer.
    
    If either current unpacked message or next fails in check, current
    message are assumed bad.
    
    If message is bad, the transporter are marked having bad data and
    no more unpacking of messages will occur until reconnected.
    
    When bad message is detected a timestamped log with error and
    hexdump of message and if next message was bad also a hexdump of
    first part of that and the six preceding words.

commit f9c9b308bd4ea5688fea4f62a853f62a423e10eb
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Mon Oct 13 00:00:00 2014 +0200

    wl#7674-5 fixing errors

commit f08f9855d819c238d6223aa35d8effcbf3e89bf0
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Sun Oct 12 22:49:36 2014 +0200

    wl#7674-5 fixing errors and compiler warnings

commit 815b25111a270dc459bf3efbadec859c628c70a4
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Sun Oct 12 21:28:18 2014 +0200

    wl#7674 Backward compatibility/new event api methods

commit 08fd522dc7c272aa55f0cb0ffe70dd64d7c6c664
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Sun Oct 12 21:01:05 2014 +0200

    wl#7675 Introduce state machine for event buffering

commit 72724d637dd4fba6fb95559663c26476192e3631
Merge: f765aaa 27921d4
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Sun Oct 12 16:32:12 2014 +0200

    wl#7674 Introduce an api option eventbuffer_free_percent.
    
          eventbuffer_free_percentis the % of event buffer memory that should be available
          before resuming buffering, after the max_alloc limit is hit
          and the event data buffering is stopped.

commit f765aaa18c5b7d5f7cacc8c03ba6742b6658c770
Merge: 63b82c8 e41839c
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Oct 10 20:25:41 2014 +0530

    Merge 7.3 -> 7.4

commit e41839caa92f6d7bc6f756f06320fed7f4cfc111
Merge: f24641e 2f6253c
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Oct 10 20:21:23 2014 +0530

    Merge 7.2 -> 7.3

commit 2f6253c6e90bb963ed9349f74856f9ba09f70eb9
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Fri Oct 10 20:07:38 2014 +0530

    BUG#14798022 : "CHAR (0)" DATATYPE CAUSING ERROR 1296 (HY000) :
    GOT ERROR 4547 : 'RecordSpecification has overlapping offsets'
    
    CHAR(0) is internally represented as BIT(1) by the NDB. MySQL assigns 1
    null bit for the CHAR(0) column and assigns the next bit to the next column's
    null bit. But as the NDB treats CHAR(0) as BIT(1), it uses 2 bits in the null
    bitmap - one for data and one for the actual null bit. Hence the overlap.
    This patch fixes that by making the NDB aware of the CHAR(0) column.
    changes:
     -added a column_flag to the RecordSpecification struct
      to pass per column flags to NDB
     -modified the validateRecordSpec and bitfield handlers to skip reading
      the overflow bits when there is a CHAR(0)
     -older version of RecordSpecification has been maintained for backward
      compatabililty reasons
     -moved the logic from createRecord to createRecordInternal
     -createRecord, if gets an older version of RecordSpec, maps it to a newer
      version and calls createRecordInternal internally.
     -added various test cases for char(0) and RecordSpecification

commit cef7471576d5f7810babd64a95cea339840f642d
Author: Sunanda Menon <sunanda.menon@oracle.com>
Date:   Fri Oct 10 10:20:20 2014 +0200

    Applying the patch for regression bug#19582807 for 7.1.33 cluster release

commit 7f36dbb0d4b965bb9adda468fb8f460b59f2c0b6
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Thu Oct 9 15:47:58 2014 -0700

    Improve Query documentation

commit fd3d187f88879e5f946e4ce1c5dc791936cbef11
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Oct 9 15:04:27 2014 +0200

    Cherrypicked
    
    revision-id: mauritz.sundell@oracle.com-20141009124636-dg0th9bzvr27r1i7
    parent: mauritz.sundell@oracle.com-20140930122950-gn1rl2yigc4s7ucu
    committer: Mauritz Sundell <mauritz.sundell@oracle.com>
    branch nick: mysql-7.1
    timestamp: Thu 2014-10-09 14:46:36 +0200
    message:
        Bug #19582807     MAKE SIGNAL DUMP IN TRACE FILES ALWAYS START FROM LATEST SIGNAL
    
        Removes a regression introduced with patch for the above bug.
    
        During crash dumps there could be a segmentation fault or most recent
        signals could be dump as old signals or not at all.

commit b5cbe4b090e0c9c9db385ab3b8ae52553dbd6a72
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Oct 9 15:02:54 2014 +0200

    Cherrypicked
    
    revision-id: mauritz.sundell@oracle.com-20141009124636-dg0th9bzvr27r1i7
    parent: mauritz.sundell@oracle.com-20140930122950-gn1rl2yigc4s7ucu
    committer: Mauritz Sundell <mauritz.sundell@oracle.com>
    branch nick: mysql-7.1
    timestamp: Thu 2014-10-09 14:46:36 +0200
    message:
        Bug #19582807     MAKE SIGNAL DUMP IN TRACE FILES ALWAYS START FROM LATEST SIGNAL
    
        Removes a regression introduced with patch for the above bug.
    
        During crash dumps there could be a segmentation fault or most recent
        signals could be dump as old signals or not at all.

commit 63b82c8ef054e870be72fc140bf3fd8255562849
Merge: 99f59ba f24641e
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Oct 9 14:57:25 2014 +0200

    merge 7.3 to 7.4

commit f24641e98f8d0d2c6e3bba641700ee2a7e88090a
Merge: ec42450 3e1a29f
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Oct 9 14:53:55 2014 +0200

    merge 7.2 to 7.3

commit 3e1a29f151347d7253783f9a24bf84c6e7ac539b
Merge: 187d939 0f4f089
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Oct 9 14:51:41 2014 +0200

    merge 7.1 to 7.2

commit 0f4f089382a5291c0b4191f466751d5186950182
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Thu Oct 9 14:46:36 2014 +0200

    Bug #19582807	MAKE SIGNAL DUMP IN TRACE FILES ALWAYS START FROM LATEST SIGNAL
    
    Removes a regression introduced with patch for the above bug.
    
    During crash dumps there could be a segmentation fault or most recent
    signals could be dump as old signals or not at all.

commit 99f59bad057f955c9d366962e12e236fe478d499
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Oct 9 12:29:37 2014 +0100

    Wl#7639 Ndb Active Active Manageability improvements
    
    Rename status variable Ndb_slave_last_conflict_epoch to Ndb_conflict_last_conflict_epoch
    
    This aligns it with other conflict related status variables prefixed
    with Ndb_conflict rather than Ndb_slave.
    
    Affected testcases re-recorded.

commit 15373129591e89b52ea7efe79f4dda626b7a9250
Author: Martin Skold <Martin.Skold@oracle.com>
Date:   Wed Oct 8 11:29:23 2014 +0200

    Removed compiler warnings

commit 01c1611868dcc186bdff696ac430a3c142cfe50f
Author: Martin Skold <Martin.Skold@oracle.com>
Date:   Tue Oct 7 10:17:09 2014 +0200

    WL#7642 Ndb Active Active Binlog Read Tracking: Removed uninitialized data to remove valgrind warnings

commit 593fdcd3724f464b5db3ce1383352369918ec2f0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Oct 6 11:45:21 2014 -0700

    Work on new README

commit b7ebf75d5f0b54b9ed662184c3cba0758477440a
Merge: 6d87774 ec42450
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 6 14:45:11 2014 +0200

    merge 7.3 to 7.4

commit ec42450b31e2870d712e53588fb21c2485164051
Merge: fbb1f33 187d939
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 6 14:42:58 2014 +0200

    merge 7.2 to 7.3

commit 187d9396e62d6ec6f4ea84198433587dcc787adf
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 6 14:40:54 2014 +0200

    Bug #17257842     EXCESSIVE RETRY FREQUENCY FOR API NODES RECONNECT CAUSES HIGH CPU ON MGM NODES.
    
    Remove extra "ing" in new configuration parameters name to:
    
    StartConnectBackoffMaxTime
    ConnectBackoffMaxTime

commit 141833dc49e8cc4bc08311cbd00697a3d27260ce
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 6 14:10:54 2014 +0200

    Bug #17257842 EXCESSIVE RETRY FREQUENCY FOR API NODES RECONNECT CAUSES HIGH CPU ON MGM NODES.
    
    Remove extra "ing" in new configuration parameters name to:
    
    StartConnectBackoffMaxTime
    ConnectBackoffMaxTime

commit f114c3b77c081b77400a627a299b7f1a00c0fc88
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Oct 6 13:59:32 2014 +0200

    Bug #17257842	EXCESSIVE RETRY FREQUENCY FOR API NODES RECONNECT CAUSES HIGH CPU ON MGM NODES.
    
    Remove extra "ing" in new configuration parameters name to:
    
    StartConnectBackoffMaxTime
    ConnectBackoffMaxTime

commit 6d87774e4a4dbdbb85467b3ff8f2b3b1bf576454
Merge: 54f4cf2 fbb1f33
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Oct 6 12:57:41 2014 +0100

    Merge 7.3->7.4

commit fbb1f33a9fa49129a672e2ae875f08b30fa0e2aa
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Oct 6 12:55:05 2014 +0100

    Bug #19766167 	NDB : VALGRIND REACHABLE MEMORY IN NDB_RPL_CONFLICT_EPOCH_TRANS
    
    Small cleanup

commit 54f4cf22803bb8f0a91a8e5cace35b0bf12ee5dc
Merge: 5591438 5e6cba9
Author: magnus.blaudd@oracle.com <>
Date:   Mon Oct 6 13:28:28 2014 +0200

    Merge

commit 5e6cba9c1d458b2b0c5e41b61a73b897269dd2c2
Author: magnus.blaudd@oracle.com <>
Date:   Mon Oct 6 13:20:18 2014 +0200

    Fix new log printouts
    - Use log functions of component in favour of sql_print_information
    - Break long lines

commit 7809271b9b95f5d02c4b29a215434ef6a1bd9956
Merge: cd76a50 9756b19
Author: magnus.blaudd@oracle.com <>
Date:   Mon Oct 6 13:02:20 2014 +0200

    Merge first part of WL#7578 into 7.4
    
     - refactoring, moving the subscriber bitmaps and related variables from global ha_ndbcluster.cc and ndb_share
      into Ndb_schema_dist_data
     - improved comments, few variable name changes
     - only real change is that the slock bitmap has all bits set for the initial write to ndb_schema. Should
       be a backwards compatible change.

commit 710168da4515d018f5e65e4f2755cadcfc8755b4
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sun Oct 5 20:49:55 2014 -0700

    In-Progress Packaging / Documentation improvements

commit a537beaacedf49c4930e36fc1b46d87dc6df11c6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sun Oct 5 20:08:50 2014 -0700

    Iterate array rather than for/in

commit 74c401f483bc7770cbd001b6a66005959d95dbcc
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sun Oct 5 19:59:01 2014 -0700

    Add mynode.closeAllOpenSessionFactories()

commit 5591438416c2f962aad205651d35d3d010ad23b0
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Oct 3 16:17:53 2014 +0100

    Windows testcase fix attempt
    
    Remove invisible carriage returns.

commit cd76a508bc3a17ac0313158e322032c0a371fe06
Merge: 86235a7 a739259
Author: magnus.blaudd@oracle.com <>
Date:   Fri Oct 3 14:36:23 2014 +0200

    Merge 7.4-wl7953 -> 7.4

commit a73925907fd2931d247da235091a8667a416507f
Author: magnus.blaudd@oracle.com <>
Date:   Fri Oct 3 14:34:48 2014 +0200

    Follow up patch for WL#7953 Transporter handshake retry
    
    - The SocketClient supports specifying remote hostname
    in constructor or when calling connect.
    
    - The patch changes SocketClient to only support the latter i.e:
    
      SocketClient s();
      s->init();
      s->bind(local_hostname, local_port);
      s->connect(server_hostname, server_port);
    
    - This makes it possible to remove SocketClient's duplicate
    knowledge of remote hostname, port and resolved adress plus the
    setter/getters for those. These parameters are already known
    by the Transporter or the mgmapi which use SocketClient.
    
     - The resolve of remote hosts adress is now done in connect() instead of init()
    
     - Remove some convoluted usage of SocketClient as the carrier of parameters
    to TransporterRegistry::connect_mgmd()
    
     - Remove the unimplemented close() function.

commit 86235a7108f2556e01715fda851b47d0c75a3d38
Author: Martin Skold <Martin.Skold@oracle.com>
Date:   Fri Oct 3 10:16:46 2014 +0200

    WL#7642 Ndb Active Active Binlog Read Tracking: Updated result for ndb_rpl_conflict_read_tracking test case to reflect new conflict counters

commit 9c98d7f552554cb61a9ba2829082557b8cce6932
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Oct 2 16:37:15 2014 +0100

    WL#7640  Ndb Active Active Delete-Delete handling
    
    Second part of WL#7640, NDB$EPOCH2 and NDB$EPOCH2_TRANS algorithms.
    
    These algorithms extend NDB$EPOCH with delete-delete handling via
    'reflected' secondary operations.
    
    They are also controlled by the ndb_slave_conflict_role server variable,
    allowing PRIMARY/SECONDARY role changes without shutting down MySQLD.
    
    Finally new counters are added to track use of the two algorithms,
    and on the secondary to show the number of refresh operations received,
    and the number of reflected operations received, and discarded.
    
    Ndb_conflict_refresh_op_count
    Ndb_conflict_reflected_op_prepare_count
    Ndb_conflict_reflected_op_discard_count
    
    Existing tests are slightly modified.
    New tests ndb_rpl_conflict_epoch2, ndb_rpl_conflict_epoch2_trans and
    ndb_rpl_conflict_epoch2_extra are added.

commit c6fb9f8d895d69dd11d63dd0a3ef7a6ab3ec1681
Merge: af7d7ec c773a81
Author: magnus.blaudd@oracle.com <>
Date:   Wed Oct 1 13:20:54 2014 +0200

    Merge

commit af7d7ec2737f4908a49da9f962346007bff68e25
Merge: c3456a4 5ca5831
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Oct 1 11:36:51 2014 +0200

    null merge 7.3 to 7.4

commit 5ca58316b3266f7b8f04958c1c80d914d9412fc9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Oct 1 11:33:41 2014 +0200

    bump version to 7.3.8

commit c773a817d2e394b1875d0a80a33f0bdf1ad98c7c
Merge: c3456a4 6183cc1
Author: magnus.blaudd@oracle.com <>
Date:   Wed Oct 1 10:28:06 2014 +0200

    Merge 7.4-wl7953 -> 7.4

commit c3456a427bfad26b96dad06dadea41e99f3398f2
Author: Martin Skold <Martin.Skold@oracle.com>
Date:   Tue Sep 30 20:59:41 2014 +0200

    The patch series for WL#7642 Ndb Active Active Binlog Read Tracking
    
    3) Conflict resolution of read/update conflicts
    
    Adds conflict resolution handling of read/update conflicts.
    By setting
    SET ndb_log_exclusive_reads= 1
    exclusive reads (select for update) are logged as an update
    of Ndb pseudo column AnyValue which is handled as update conflicts
    in the active-active conflict resolution. These conflicts will be
    marked as a READ_ROW conflict in the extended exceptions table.
    
    Adds a test case for the above testing read_x pk/update pk, read_x pk/read_x pk,
    read_x unique index/update,  scan_x ordered index/update and
    scan_x table/update conflicts.

commit 903442f48e73c4f8b4396be0d8b4605bbb77e8c1
Author: Martin Skold <Martin.Skold@oracle.com>
Date:   Tue Sep 30 20:59:19 2014 +0200

    The patch series for WL#7642 Ndb Active Active Binlog Read Tracking
    
    2) Logging exclusive reads
    Allows setting logging of exclusive reads on SQL level. Includes
    tracking of pk/unique index reads as well as ordered index and table
    scans.
    
    By setting the session variable
    SET ndb_log_exclusive_reads= 1
    exclusive reads (select for update) will be logged in
    the binlog through update of the Ndb pseudo column AnyValue.
    A test case is added that verifies the logging of the read
    operation (pk/unique index read and ordered index/table scan).

commit 4ebe254dfe412dfa2f46aac73866ad5e90d1036c
Author: Martin Skold <Martin.Skold@oracle.com>
Date:   Tue Sep 30 20:58:41 2014 +0200

    The patch series for WL#7642 Ndb Active Active Binlog Read Tracking
    
    1) Empty update pass-through
    Allows defining Ndb API to allow empty update events to be passed
    through to allow monitoring changes of pseudo column AnyValue.
    
    By calling NdbEventOperation::setAllowEmptyUpdate(true) before
    calling nextEvent() will allow empty update events to be passed
    through.
    A test case is added to Ndb API test test_event and is added to
    be run in daily regression tests.

commit 912278675239dc23bdbe303333b9457401215cca
Merge: f3e8b8b a947923
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Sep 30 14:45:09 2014 +0200

    null merge 7.3 to 7.4

commit a9479233b168fb599e92fdc5d9457e3add04537b
Merge: 79f15bf bdd2b92
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Sep 30 14:40:06 2014 +0200

    null merge 7.2 to 7.3

commit bdd2b928d0c91ec6fb40d14161f747349a85ef36
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Sep 30 14:38:29 2014 +0200

    bump version to 7.2.19

commit 171d161fd7fd42d90d6731c654afd78b770bcd27
Merge: 30a7ca8 5955c97
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Sep 30 14:35:51 2014 +0200

    null merge 7.1 to 7.2

commit 5955c978c33dbaf205f4065ff586fe1aa3415ddb
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Sep 30 14:29:50 2014 +0200

    bump version to 7.1.34

commit f3e8b8be38afd9c09ea484708711dbf4b4e33a22
Merge: 779d755 79f15bf
Author: magnus.blaudd@oracle.com <>
Date:   Tue Sep 30 11:40:58 2014 +0200

    Merge 7.3 -> 7.4

commit 79f15bfa2e24194d75c59e03086f286fbadf691b
Author: magnus.blaudd@oracle.com <>
Date:   Mon Sep 29 16:44:24 2014 +0200

    Bug#19692387 PORT FIX FOR BUG 18770469 TO MYSQL CLUSTER 7.3
    
     - Add MCP for bug 19704825
     - The patch cuases the conversion tables to be created in the mem_root of THD instead
      of in the m_event_mem_root. This restores the old behaviour where the conversion table(s)
      lives for the duration of "open_n_lock" -> "close" tables.

commit 779d755e6e51466305977bf54bf458a46f27e655
Merge: 740b4d5 8cfa151
Author: hery.ramilison@oracle.com <>
Date:   Fri Sep 26 22:46:25 2014 +0200

    Merge from mysql-cluster-7.4.1-release

commit 740b4d55cbd11551cbf93e23469adc763878710c
Merge: cb0ec10 0985f72
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Sep 26 19:17:15 2014 +0200

    Merge from 7.3 => 7.4 Added ndb_print_file man pages

commit 0985f721072eb09a83814c9837fa80b2cc186cb0
Merge: 5dbe2ad 30a7ca8
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Sep 26 17:56:18 2014 +0200

    Merge from 7.2

commit 30a7ca86d6f13ae8eeeff6cb46a61ad00646343e
Author: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
Date:   Fri Sep 26 17:49:06 2014 +0200

    Added ndb_print_file man pages

commit cb0ec10c8c8f29e452067c0ba484cd776e09cfba
Merge: be2d0ea 5dbe2ad
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 26 12:12:04 2014 +0200

    Merge 7.3 -> 7.4

commit 5dbe2ad8a425aa1794e79dabfd3ee5e96615ff80
Merge: 10b1047 9719442
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 26 12:04:20 2014 +0200

    Merge 7.2 -> 7.3

commit 9719442afbc1d7270ad18bfd7f8c48d2b1836b33
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 26 11:50:32 2014 +0200

    Bug #17257842 EXCESSIVE RETRY FREQUENCY FOR API NODES RECONNECT CAUSES HIGH CPU ON MGM NODES.
    
    For system that have lot of API nodes and also have added data node
    entries in configuration without starting any process for them the
    API nodes will continously try to connect to the missing data nodes
    several times per second.  This put extra load on MGM nodes and
    network in general.
    
    
    
    This patch introduces logic to make an API node wait longer and
    longer between attempts to connect to data nodes that fail to
    respond.
    
    The logic is controlled by two new parameters for api nodes:
    StartingConnectingBackoffMaxTime and ConnectingBackoffMaxTime.
    
    Both are given in milliseconds with approximately 100ms resolution.
    Note that the time controls time *between* attempts, during the
    time a connect attempt occur no time float with respect to the
    backoff logic.
    
    Between first and second attempt one waits 100ms (as before), but
    for the following attempts the wait is doubled until the configures
    maximal time are reached or ~100s whichever is smallest.
    
    As long as the API node is not connected to any data node the
    StartingConnectingBackoffMaxTime parameter is used, otherwise
    ConnectingBackoffMaxTime.
    
    Note, as soon as the API node is connected to a data node and that
    node reports, in heartbeat message, that it has connected to some
    other data nodes, connection attempts to those data nodes will not
    be affected by the backoff logic but will be attempted every 100ms
    until connected.
    
    In worst case it can take HeartbeatIntervalDbApi (default 1,5s)
    until the API node get notified that a restarting data node is up.
    
    But since data nodes connects to each other during start phase 2,
    and API node connections are allowed from start phase 8, that
    should normally not be an actual delay since the time between start
    phase 2 and 8 probably are at least several seconds.
    
    For systems with many unstarted data nodes the new parameters
    should be raised to avoid extreme traffic either to MGM nodes or
    connection attempts to non existing datanodes.

commit be2d0eabef0898e9b22bc3f24a6f47202f26e95f
Merge: fd4068d 10b1047
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Sep 26 14:44:21 2014 +0530

    merge 7.3 -> 7.4

commit 10b1047821f272567e7b1503619b63a56257ad92
Merge: eda9182 14855e0
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Sep 26 14:41:08 2014 +0530

    merge 7.2 -> 7.3

commit 14855e007f368b414e8feac5f4446bbe5cbb3430
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Sep 26 14:36:56 2014 +0530

    Bug#18487960: SIG 11 on delete with index merge
    
    The mysqld cores while attempting read removal before a delete with
    an index merge. The core occurs only if a quick select is generated
    for the delete operation.
    
    During read removal, the index from the quick select is used to index
    into the table structure. But since the delete is an index merge, the
    quick select index is set to MAX_KEY instead of a valid index value. So
    the indexing operation generates a garbage pointer, which is then
    dereferenced, resulting in a core.
    
    Added a check so that read removal before delete is not attempted if
    the quick select index has a value of MAX_KEY.

commit 6183cc162260893a5786d77603751511f7e93159
Author: magnus.blaudd@oracle.com <>
Date:   Thu Sep 25 14:00:10 2014 +0200

    Follow up patch for WL#7953 Transporter handshake retry
    
    Remove uneccessary clear of ndb_socket_poller since clear() is
    already done in constructor

commit dc123ddc853c2bab50cbd9f7951821d870698734
Author: magnus.blaudd@oracle.com <>
Date:   Thu Sep 25 13:58:31 2014 +0200

    Follow up patch for WL#7953 Transporter handshake retry
    
    - Remove unused TransporterFacade::isConnected function. It's unused and
       confusing with respect to TransporterRegistry::is_connected() and t->isConnected()

commit 6eeaa24c835ea527518a7e0db6596d9aae0f835a
Author: magnus.blaudd@oracle.com <>
Date:   Thu Sep 25 13:54:10 2014 +0200

    Patch 2 for WL#7953 Transporter handshake retry
    
    Change the server side of Transporter/TransporterRegistry to request the client to close() the
    socket first when server is not yet ready to accept the connection. This moves the TIME_WAIT
    state for the socket to the client and thus frees resources  from the network stack on the server.
    
    Requesting client to close is done by sending garbage to the client. Although we send the nice text
    string BYE to the client it will be interpreted as garbage and it will close the connection. After
    sending the BYE string wait for the EOF on the socket by reading 0 bytes from socket. ie. select
    says there is something to read but you only read 0 -> EOF.  Since connections are handskaed serially
    wait for EOF with fairly short timeout in case there should be a connected client which does not
    behave as expected. After the new BYE and wait for EOF code the server side socket is closed as
    usual and the TIME_WAIT TCB shold now end up on the client where the previous "use last port" patch
    will eliminate it.
    
    Also change so that socket is closed with a reset(RST) when the handshake is rejected
    due to invalid parameters or other error. This effectively eliminates TIME_WAIT TCB from both
    server and client side for the non graceful case(s).

commit 50cb1c8f0b08c7f6ef70ae72552f2527e99d5f3b
Author: magnus.blaudd@oracle.com <>
Date:   Thu Sep 25 13:25:41 2014 +0200

    Patch 1 for WL#7953 Transporter handshake retry
    
    Change SocketClient bind to last used port
    
    Client connections uses a new ephemeral port for each new connection. This
    leads to rapid buildup of TIME_WAIT sockets when those connections
    are short lived. Most significant buildup occurs during node restart
    of a data node. The data node will for a (long) time accept connections
    which are closed more or less immediately because connections from api
    nodes are not yet accepted.
    
    Almost all client connections are done using the SocketClient class and the
    same SocketClient instance is normally used for subsequent connects. Thus it's
    possible to remember which port was used for last successful connect and try to
    use the same port on next attempt. This effectively reduces the number of
    TIME_WAIT TCB's from either server or client side.
    
    Changes:
    - Try to bind to the same port as last successful connect instead of any ephemeral port.
     - Retry bind with any epehemeral port if last used port fails
     - Only remember last used port when connect is successful

commit fd4068dc401dc04f725aba53d11c9a577c7a8dca
Merge: d37e9d5 eda9182
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Sep 24 16:08:02 2014 +0200

    Merge 5.6.21 into 7.4 via 7.3

commit eda9182d6d57fa79338aca28a85c88e95c5b39e6
Merge: 891b77e 1907ce2
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Sep 24 16:05:48 2014 +0200

    Null merge 7.2 -> 7.3

commit 1907ce28e076e12ad1f55473108eb958b1534d34
Merge: 1d97ac7 245623d
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Sep 24 16:03:54 2014 +0200

    Merge 5.5.40 into 7.2

commit 891b77eb6afd9269a6b4e9347b00db5d83d6080d
Merge: 6a8c7f9 f576c02
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Sep 24 16:00:22 2014 +0200

    Merge 5.6.21 into 7.3

commit d37e9d561edd85af2b4c843e38ff7461e1f0b4dc
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Sep 24 15:41:54 2014 +0200

    Patch 3 of 3 for WL#7654: "Reduce lock contention in NDB mt-scheduler"
    
    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 7915cc3d301d2d6f4b1a4a2dd4764d5e071d57bd
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Sep 24 15:37:38 2014 +0200

    Patch 2 of 3 for WL#7654: "Reduce lock contention in NDB mt-scheduler"
    
    Reduce of 'send_lock' contentions when worker thread
    is responsible for sending. (No dedicated send threads)
    
    The previous usage of send_lock, was to protect both
    the send_buffers, and the send-transporters while they are
    sending the send_buffer contents. This caused contention
    when we had to grab the lock for packing send buffers, while
    another thread were sending on the transporter.
    
    This has been refactor by introducing an additional lock
    which protects the send buffers (only). The usage of
    the existing lock is changed to only protect the transporter
    and buffers 'given' to it.
    
    In order to support the above, we also introduce another
    list of available send_buffers: 'struct thr_send_buffer m_sending'.
    Buffers in this list is 'owned' by the send transporter, and protected
    by the send_lock.
    
    When we prepare for sending, available send buffers are collected,
    and moved from 'm_buffer' to 'm_sending'. (Requires both lock)
    The 'm_buffer_lock' can then be released prior to sending which
    removes the contention from buffer packing.
    
    Furthermore, contention on the 'm_send_lock' is already (mostly)
    avoided by doing 'trylock' on it.
    
    The pressure on the buffer_lock has been further reduced by reducing
    the amount of work we do when holding it for 'packing'. There
    are basically two cases:
    
    - flush_send_buffer() are out of buffer slots. This is solved by
      moving send buffers from thread local buffer list, to the global
      send_buffer with link_thread_send_buffers(). In addition we used
      to pack the buffers here. However, this is not necessary in order
      to solve the real problem at this point, and has been removed.
    
    - The worker thread is low on locally available send buffers and
      initiate packing of all send buffers in an attempt of freeing some:
      As no specific send buffers has to be packed - we are happy with
      any - we introduced 'trylock' semantics in pack_send_buffers and
      renamed accordingly.
    
    NOTE: As send_lock is not held anymore during 'pack', the
      checking of 'm_force_send' -> try_send() inside
      pack_send_buffer() became obsolete. The remaining logic from
      pack_send_buffer() is now inlined as part of pack_send_buffers().

commit 7c0594d6f8893e353e97d77b8f53bfddd8b82d1f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Sep 24 15:31:51 2014 +0200

    Patch 1 of 3 for WL#7654: "Reduce lock contention in NDB mt-scheduler"
    
    This part reduce lock contentions on the 'jba_write_lock'
    
    When a signal has been sent on the JBA queue, a wakeup is
    signaled to any waiters. However, this wakeup was signaled
    when still holding the 'jba_write_lock'. The following
    scenario was then quite likely:
    
     - As wakeup signal is sent by thread t1, the waiter, t2 is
       prepared for reschedulling.
    
     - The OS may conclude that t1 has consumed its CPU quota.
       As t2 is now waiting for the CPU, the control is
       given to this thread (t2).
    
     - One if the first thing the t2 will do, is to check its
       'delayed-queues'. Any expired signals will
       then be sent on the 'JBA queue', which require grabbing
       the jba_write_lock.
    
     - As t1 holds this lock, t2 will be blocked, and has to wait
       for t1 to be rescheduled such that the lock can be released.
    
    This fix defers sending of the wakeup signal to after jba_write_lock
    has been released by using the 'non signaling' flush_write_state().
    The previous flush_write_state_wakeup has become obsolete, and
    is removed.
    
    The flush_write_state-codepath itself has become slightly
    less optimized as a result of this fix. However, avoiding two
    extra thread switches should more than make up for this.

commit e62e7d08e947c581d53fb3428cdd84c14da93e9b
Merge: 420a318 6a8c7f9
Author: saroj tripathy <saroj.tripathy@oracle.com>
Date:   Wed Sep 24 15:34:31 2014 +0530

    merge 7.3 -> 7.4

commit 6a8c7f9d945e6f53d998c531a87030a9621428d1
Merge: 16a3da9 1d97ac7
Author: saroj tripathy <saroj.tripathy@oracle.com>
Date:   Wed Sep 24 15:32:08 2014 +0530

    merge 7.2 -> 7.3

commit 1d97ac74b6fd5612fdfe82f61a3a5aec5c0cd8a1
Merge: 0c9ed85 06875ee
Author: saroj tripathy <saroj.tripathy@oracle.com>
Date:   Wed Sep 24 15:29:26 2014 +0530

    merge 7.1 -> 7.2

commit 06875eefe84f3b00627f64a3f61922760bad0b5e
Author: saroj tripathy <saroj.tripathy@oracle.com>
Date:   Wed Sep 24 15:26:38 2014 +0530

    adding checksum to the cnf file

commit 8cfa151b2430b1d495f9a467642b4732d6a54228
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 23 15:57:38 2014 +0530

    Bug #19667663 : NDB_SHOW_TABLE TEST CASES FAILING ON SPARC
    
    removed the _dbname parameter from Ndb constructor call,
    and setting the _dbname value to "TEST_DB", if no database name is provied in the option.
    else using the value provied in the option -d.

commit 420a3182393e5017dff8bc455af6cefceeb8f643
Merge: 4e4c22c 16a3da9
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 23 15:13:42 2014 +0530

    merge 7.3->7.4

commit 16a3da9d3efe1a3fbf4a942a84ec4a1a16bf94f6
Merge: d3a43e3 0c9ed85
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 23 15:11:03 2014 +0530

    merge 7.2->7.3

commit 0c9ed8540bf71b93af36f4871a1bc28e13fc2f59
Merge: f072c8d 5624599
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 23 15:07:35 2014 +0530

    merge 7.1->7.2

commit 5624599cb04884011828a2b6d373963837930430
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 23 14:54:13 2014 +0530

    Bug #19667663 : NDB_SHOW_TABLE TEST CASES FAILING ON SPARC
    
    removed the _dbname parameter from Ndb constructor call,
    and setting the _dbname value to "TEST_DB", if no database name is provied in the option.
    else using the value provied in the option -d.

commit 4e4c22c747e983946ef07230810fc057d29f563d
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Sep 19 12:33:19 2014 +0100

    Bug #19600834  late code review comment

commit 645f7e207a142ebfaadeedf37b99c691f9e00fe7
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Sep 19 10:43:33 2014 +0100

    Bug #19600834 DOWNGRADE FROM 7.4 TO 7.3 IS FAILING (CRASH)
    
    Fix compatibility problem

commit 8930845d1a1680a9d2318c72b811e2ce95ade36c
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Sep 18 23:17:32 2014 +0100

    Bug #19600834 	DOWNGRADE FROM 7.4 TO 7.3 IS FAILING (CRASH) ...
    
    Missing upgrade code in increased LCP parallelism feature.
    
    Prior to 7.4
     - DIH master asked LQH to LCP 2 fragments at a time, and queued
    2 internally to ensure LQH is kept fed with fragments to lcp.
     - LQH checkpointed 1 fragment, and queued the other.
     - The LQH queue length was 1.
    
    In 7.4
     - DIH master asks LQH to LCP 32 fragments at the same time, and
    queues 32 internally
     - LQH can checkpoint up to 1 fragment per instance at the
    same time, and queues the others.
    
    DIH master and the LQH blocks involved can be on different nodes.
    
    Mastership stays with 'older' nodes, so during a normal upgrade,
    the master node is generally the last to upgrade.  e.g. for 7.3->7.4
    the master will normally stay on 7.3 until the last minute.
    
    However during a downgrade, the master will be on 7.4 while one or
    more LQHs move to 7.3.
    
    This can result in 7.4 DIH master asking 7.3 LQHs to checkpoint
    32 fragments in parallel, causing a failed ndbrequire on the
    3rd fragment.
    
    Fix
    
    Have 7.4 DIH master check how much parallelism a destination node
    can handle based on its version rather than using a hard coded
    limit.

commit f2d80331e2f16f0e23b2254cb80375f391478db3
Merge: 3c310b3 1123948
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Sep 18 15:37:45 2014 +0100

    Merge feature to main tree

commit 3c310b3e1a89b2d95cc4eaac694477f17e776c17
Merge: bc52c03 d3a43e3
Author: magnus.blaudd@oracle.com <>
Date:   Thu Sep 18 15:29:40 2014 +0200

    Merge 7.3 -> 7.4

commit d3a43e31426690c6efa222fc2c1ad282893793bf
Author: magnus.blaudd@oracle.com <>
Date:   Thu Sep 18 15:23:28 2014 +0200

    Bug#19364731 PORT FIX FOR BUG 17283409 TO MYSQL CLUSTER 7.3
    
     - remove holding of LOCK_thread_count when calling remove_global_thread() to
       remove the ndb binlog injector from the list of threads in the server.
     - checked all other functions for "global threads" and they still require holding the mutex

commit 17963e0fe66a34e7a0aee7fc82229eafcb0e844b
Merge: cfcc08d f072c8d
Author: magnus.blaudd@oracle.com <>
Date:   Thu Sep 18 15:19:42 2014 +0200

    Bug#19364731 PORT FIX FOR BUG 17283409 TO MYSQL CLUSTER 7.3
    
     - merge temp MCP hack from 7.2 -> 7.3
     - the patch needed to move into sql/binlog.cc instead of sql/sql_repl.cc

commit f072c8d3a8c47e745d126f484035c658fcbd44dc
Author: magnus.blaudd@oracle.com <>
Date:   Thu Sep 18 15:11:22 2014 +0200

    Bug #19365180 PORT FIX FOR BUG 17283409 TO MYSQL CLUSTER 7.2
    
     - add temp MCP hack to avoid DEBUG_SYNC() when current_thd is NULL
     - current_thd is NULL when function is called for example during startup

commit cfcc08d48e42933b002421611376d78c684bc138
Merge: 4882e8e 6dab105
Author: magnus.blaudd@oracle.com <>
Date:   Thu Sep 18 15:02:12 2014 +0200

    Bug#19365180 PORT FIX FOR BUG 17283409 TO MYSQL CLUSTER 7.2
    
     - null merge revert of revert from 7.2 -> 7.3

commit 4882e8e25099fd9d686273aba609c6898a514db1
Author: magnus.blaudd@oracle.com <>
Date:   Thu Sep 18 15:00:55 2014 +0200

    Bug#19364731 PORT FIX FOR BUG 17283409 TO MYSQL CLUSTER 7.3
     - revert the reverted

commit 6dab105d84e83daba3201317780fac508b6fba88
Author: magnus.blaudd@oracle.com <>
Date:   Thu Sep 18 14:58:21 2014 +0200

    Bug#19365180 PORT FIX FOR BUG 17283409 TO MYSQL CLUSTER 7.2
    
     - revert the reverted

commit 3f9318a951a2b71cdae9db4d55b50e92cd460e46
Author: Kent Boortz <kent.boortz@oracle.com>
Date:   Wed Sep 17 23:12:06 2014 +0200

    Change from mysql-5.6 to build Oracle Linux 7 RPMs

commit 1123948c277eea286bf1d9ee8ddf58d80e68ac32
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Sep 16 15:25:00 2014 +0100

    WL#7640  Ndb Active Active Delete-Delete handling
    
    Implement mechanisms for extra signalling in the Binlog...
    
     - New optional conflict flags, transported by v2 Binlog events in
       the Binlog extra info area.
     - Two values currently : Refresh_op and Reflect_op
     - New reserved AnyValue codes, transferred through a cluster from
       NdbApi -> NdbApi event Api.
     - Test to show that the Binlog flag setting works
    
    The new signalling is not yet used.

commit 151452325633e4478633b6a3626ddce85f1f81d7
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Sep 16 15:05:41 2014 +0100

    WL7640 Add delete-delete conflict count
    
    Patch implements ndb_slave_epoch_delete_delete_count status variable as part of
    WL7640 Ndb Active-Active Delete-Delete handling.
    
    This variable is incremented whenever a delete-delete conflict is
    detected (replicated delete operation at a slave running conflict
    detection finds the row missing).
    
    This count makes the delete-delete limitation of the NDB$EPOCH and NDB$EPOCH_TRANS
    algorithms more visible, and makes testing easier.
    
    Existing testcases are modified to show the value of this variable and indicate
    where delete-delete conflicts are found.

commit f4c6fc796e2e4b778573dc9f20437cf217363a0f
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Tue Sep 16 13:27:26 2014 +0200

    Adding ndb_print_file to spec file

commit bc52c03cd9e35bfb92c3f18120102062f5d05f3b
Merge: 1ee1cae 90943b3
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 15 15:45:34 2014 +0200

    merge 7.3 -> 7.4

commit 90943b339796e883536722a49d9ab31a669c3716
Merge: 5bcf61c 2968fbb
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 15 15:42:59 2014 +0200

    merge 7.2 ->7.3

commit 1ee1caec19e7cdfee9288590eb1d15af95732255
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 15 14:37:31 2014 +0200

    Repush of WL#7544 after 7.4.1 clone tag.
    
    ------------------------------------------------------------
    revno: 4458
    revision-id: mikael.ronstrom@oracle.com-20140915090314-4feki0sr3fcmsflr
    parent: mikael.ronstrom@oracle.com-20140912185859-6417bvvey4ih4blu
    committer: Mikael Ronstrom <mikael.ronstrom@oracle.com>
    branch nick: push_wl7544
    timestamp: Mon 2014-09-15 11:03:14 +0200
    message:
      WL#7544: Optimisations of the NDB API receiver thread in various manners. 1) Optimising method to unpack field data from TRANSID_AI signal, 2) optimised handling of trp_client locking check, 3) reorganised code in NDB API receiver thread for better performance and more readability, 4) Optimisation signal receive handler

commit 183723775b464ec37d94d66f81ca8ae4d2701d6d
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 15 14:35:51 2014 +0200

    bump version to 7.4.2

commit 500d78d9bae9acf1d72a45674eb676d621650541
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 15 14:32:41 2014 +0200

    Set version 7.4.1

commit 3cf6ebff5b6f3ac3148c6686ad830f3ce5a9b75c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 15 14:31:17 2014 +0200

    Revert WL#7544, not to be included in DMR 7.4.1

commit 2968fbb31d5f81d869c0bb57663e8d513770f47e
Merge: 8c124b6 a237658
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 15 13:34:02 2014 +0200

    merge 7.1->7.2

commit a23765809509295e5292d3909eca8e054493a61d
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Mon Sep 15 13:03:05 2014 +0200

    Reorder member initializer list for thr_data to follow initialization order.
    This removes compiler warning introduced in fix of
    Bug #19582807    MAKE SIGNAL DUMP IN TRACE FILES ALWAYS START FROM LATEST SIGNAL

commit 1d5288247043d4c91ce6eff9d409a25e660d7b39
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Mon Sep 15 11:03:14 2014 +0200

    WL#7544: Optimisations of the NDB API receiver thread in various manners. 1) Optimising method to unpack field data from TRANSID_AI signal, 2) optimised handling of trp_client locking check, 3) reorganised code in NDB API receiver thread for better performance and more readability, 4) Optimisation signal receive handler

commit b49e8079ff84ca9aa12c9f89c8fe1f806798ebbc
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Fri Sep 12 20:58:59 2014 +0200

    BUG#19451060: One more step on the way to understanding commit ack markers

commit cdeab3b01cfecb24f3dee952c31141128dc0e0d6
Merge: 2fc5d7a 5bcf61c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 12 20:07:18 2014 +0200

    merge 7.3 -> 7.4

commit 5bcf61c7147fa9c5c47237378bec7056e80f827b
Merge: eb833d1 8c124b6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 12 18:45:37 2014 +0200

    merge 7.2 -> 7.3

commit 8c124b617cbf1d5319fd68637a5e8f07817e5152
Merge: d72a18c b90696e
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 12 18:31:34 2014 +0200

    merge 7.1 -> 7.2

commit b90696eb6c8dff84d02c073cabc62401169e8596
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 12 18:21:40 2014 +0200

    Bug #19582807    MAKE SIGNAL DUMP IN TRACE FILES ALWAYS START FROM LATEST SIGNAL
    
    Move signal id counter to thread state for multithreaded ndbmtd,
    and use that in signal dump instead of calculate latest signal id
    from signals in signal buffers.

commit 2fc5d7a5e1a48c1096de0f35c72c30448dcc8813
Merge: 99bcb83 eb833d1
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Sep 11 11:08:15 2014 +0200

    Merge 7.3 -> 7.4

commit eb833d1c4be4819922caaa2feb43c96e475f3273
Merge: c4e23b3 d72a18c
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Sep 11 11:05:04 2014 +0200

    Merge 7.2 -> 7.3

commit d72a18c9ac51cb19f34fd84180578982a3f3351d
Merge: db484d7 428dc7b
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Sep 11 11:02:41 2014 +0200

    Merge 7.1 -> 7.2

commit 428dc7bcb48200575c435ef190b1b529f9ee5621
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Thu Sep 11 11:01:25 2014 +0200

    Fix for bug#19559313, call getPerformStateString() with a nodeId arg instead of a state argument

commit 99bcb838e3f89e5153690cf037fb2cda62fdff82
Merge: 12d1417 c4e23b3
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Sep 10 16:02:46 2014 +0200

    Merge 7.3 -> 7.4

commit c4e23b3201dfe60bb7c56a9736098d52eaa5ea07
Merge: 7a59b36 db484d7
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Sep 10 13:47:29 2014 +0200

    Merge 7.2 -> 7.3

commit db484d76db218e2be78e0bb443cdecd98c798ed6
Merge: e893bf8 e6af26e
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Sep 10 13:42:35 2014 +0200

    Merge 7.1 -> 7.2

commit e6af26e2b5074654a6463a7808d31b05ba6512ec
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Wed Sep 10 13:13:53 2014 +0200

    Fix for Bug#19552283 :
    
      Transporters receiveBuffers might be reset while
      another thread read them (race)
    
    There is a potential race between a thread
    receiving data with TransporterRegistry::performReceive,
    while another thread (async) initiate disconnect of the
    transporter by calling Transporter::doDisconnect(). The
    later method will call TCP_Transporter::disconnectImpl()
    which clears the receive buffer.
    
    A typical case where this happens is ::doDisconnect() being
    called from the thread running TransporterRegistry::start_clients_thread().
    Simultaneously another thread might 'do_poll()' which performReceive()
    on the same transporter.
    
    This fix moves 'receiveBuffer.clear()' out of ::disconnectImpl()
    and into a new method Transporter::resetBuffers() which is now
    called from ::do_connect(). At this point The transporter has
    been trough a report_disconnect() synched with performReceive().
    Furthermore, it is known to be in a DISCONNECTED state, which
    implies that it can't be seen as connected again by
    ::performReceive() as this also has to be synched.
    
    This also introduce a relaxing of in which states buffered
    data can be read & unpacked from the transporters: Any received
    data will now be available in the receivebuffers as long as
    the transporter as available in 'm_has_data_transporters'.
    The patch takes advantage of this by simplifying the check
    of connection states in ::performReceive().
    
    The patch also removes the 'virtual' decl. of
    Transporter::doDisconnect(). This was a leftover from the
    time before (the virtual) Transporter::disconnectImpl()
    was introduced.
    
    Lots of comments are added in order to better explain
    the concurrency controll and restrictions between
    ::pollReceive(), ::performReceive() and ::update_connections().
    ******
    Fix for bug#19559313, call getPerformStateString() with a nodeId arg instead of a state argument

commit df037ad80e3b8c377a2bb10eecf8bbfb94cb26c1
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Tue Sep 9 13:20:28 2014 -0700

          Update documentation to remove useProjection
          Update Session.js to remove useProjection

commit 12d141706ef596fe4b7ff6190d08151d7788cf06
Merge: 0cb3b3b 7a59b36
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Sep 9 16:28:43 2014 +0200

    Merge BUG#19552349

commit 7a59b363f71e2521f241835ad7b8357485ea755e
Merge: f1d5205 e893bf8
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Sep 9 16:27:24 2014 +0200

    Merge BUG#19552349 and added more jams to FK code

commit e893bf8340c71e306a694d0f01e66722783c409e
Merge: 24ccbff b90d83b
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Sep 9 16:22:12 2014 +0200

    Merge BUG#19552349

commit b90d83b9b4f2744c5e972c43f5c3823383fee6a5
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Sep 9 16:20:56 2014 +0200

    BUG#19552349: Avoid stack overrun by removing endless recursive call

commit 0cb3b3bdc0b82b406582257ed2745a5dea62b7a0
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Tue Sep 9 00:26:44 2014 +0200

    BUG#19451060: Further refinements of bug fix, previous ndbrequire revealed a race that could cause multiple REMOVE_MARKER_ORDs to appear for the same transaction, added long comment about this specific race variant. Left a part of the ndbrequire still to ensure that this only happens when receiving REMOVE_MARKER_ORD sent by API through TC_COMMIT_ACK and not through API failure handling

commit 5aa89661c1ed2d99c972dfcf2b19a748aab21acd
Merge: 6b14bc7 f1d5205
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 5 18:13:49 2014 +0200

    merge 7.3 -> 7.4

commit f1d52056b5d2e10b7fe16cd27b90209929c941f3
Merge: a8a9d13 24ccbff
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 5 18:12:00 2014 +0200

    merge 7.2 -> 7.3

commit 24ccbff3df4f7f58790c1fc9e8388d7ce2d7f67c
Merge: 1caa5c1 9aee70c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 5 18:09:26 2014 +0200

    merge 7.1 -> 7.2

commit 9aee70cd97f2def64efbfeb55017dc896224ccfb
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 5 18:02:44 2014 +0200

    Bug #18703922	 DUMP-CODE ACTIVATED DEBUGGING ON WATCHDOG OVERLOAD ISSUES
    
    Adds DUMP 2610 [<val>]
    
    DUMP 2610 or DUMP 2610 1 will set the 'killer watchdog' on
    DUMP 2610 0 will disable it.
    
    Killer watchdog will shutdown the node on the first subsequent watchdog
    warning.
    
    This should give trace log.
    
    
    Idea is to crash when watchdog warnings occur, as this is correlated with
    other bad behaviour that we want to investigate.
    
    Crash will give jam + signal trace to help debug, and if --core-file option
    is given, will also give core files for stack traces if necessary.
    
    DUMP code activation is provided to allow node restarts to issue a few
    watchdog warnings if necessary without node failure.

commit 6b14bc784fe9e538be8a70755b460191476bcf52
Merge: 36f06ef a8a9d13
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 5 17:54:41 2014 +0200

    merge 7.3 -> 7.4

commit a8a9d134b78b68f48ec920288d2212bcd817e866
Merge: 6a535c7 1caa5c1
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 5 17:50:18 2014 +0200

    merge 7.2 -> 7.3

commit 1caa5c16a3d9813bb58f5ea70c26f7edec98cb67
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Fri Sep 5 17:42:28 2014 +0200

    Bug #17730825	 NDB API: POSSIBLE LEAK OF CONNECTION OBJECTS
    
    This fix removes leak of connection objects for scans in ndbapi
    due to call to nextResult while operation are in error.  The leak
    locks up corresponding connection objects in dbtc until the ndb
    connection is disconnected.

commit 36f06ef07d8f0556cf752d64bba7f74e0b80e808
Merge: ad94fc8 6a535c7
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Sep 5 16:04:10 2014 +0100

    Merge 7.3->7.4

commit 6a535c7e1dfd0341ad6bc151fee473e5b8e4fd9b
Merge: 375045d 7aa769e
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Sep 5 15:38:36 2014 +0100

    Merge 7.2->7.3

commit ad94fc8d5856f242db8d4c62bb734fa392f3627f
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Fri Sep 5 16:36:25 2014 +0200

    BUG#19524096: Converted many 4009 errors to temporary error 4035, ensured APIs can use new data nodes sooner, fixed some wrong error categories, removed no longer used errors, fixed some anomaly in communication towards the API, small improvement of restart printouts, should give autotest a much better chance to get rid of redness

commit 7aa769e7b97d569a08c262f901353a5e7eb13e9f
Merge: 792336d d912a65
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Sep 5 15:01:30 2014 +0100

    Merge 7.1->7.2

commit d912a6529fc962fc8c8fb54dc01090010460ec8e
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Fri Sep 5 14:42:37 2014 +0100

    Bug #17893872 	ER_DUP_ENTRY WHEN INSERTING TO AUTO-INC COLUMN ON SPARC MULTI-MASTER SETUP
    
    Incorrect calculation of next value after a manual insertion towards the end of a cached
    range could result in duplicate values being used.
    
    Next value calculation is modified to ensure that the NdbApi-internally calculated next
    value from the cache is of the form offset + (n*step) to avoid the Server code rounding
    up the returned value to some higher out-of-cache value which can result in duplicate
    entries.
    
    Testcase modified to show behaviour of default SE, which can change when default SE
    changes from MyISAM -> InnoDB.

commit 638bf3aac22f07a9a55e27b5d2f8fa20eb931afd
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Fri Sep 5 10:08:38 2014 +0200

    BUG#19451060: Added more descriptive information at crashes related to commit ack markers, changed name of noFired to numFired for clarity, added possibility to put last in free list to aid crash printouts

commit 03bb4174656be654847bb1df6e0a8d4c1b092a39
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Fri Sep 5 09:34:45 2014 +0200

    Fix for spelling error in Win32 code

commit 0eb7aa06bc6ce3bdcd0cd7a3a568161e6bf02e45
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Sep 4 15:59:59 2014 +0200

    WL#7509: Introduced more configurability of disk write speeds and added a number of new ndbinfo tables to track this new more adaptive behaviour

commit 74f6438f45a366f93d64eab4f140dbe62b1082af
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Sep 4 13:46:15 2014 +0200

    WL7845: More and safer ways to print records in DBTC

commit a69b6d6fdf600c765304cb4ea777a1c4ea6b08a4
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Thu Sep 4 13:21:14 2014 +0200

    BUG#19451049: Missing call to prepareTUPKEYREQ from handle_lcp_keep, added comment about handle_lcp_keep

commit 8423e28360942396c3df12207e8d39d144350c0b
Merge: 490a35d 375045d
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Sep 3 01:42:56 2014 +0200

    Merge 7.3 ->7.4

commit 490a35d65aaf7bfe533efe0008089519778e2d4e
Merge: 45929e2 7a2b4e8
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Sep 3 01:41:40 2014 +0200

    Null merge from 7.3

commit 375045dee944ab707231514ae06d9785b38d660c
Merge: 7a2b4e8 792336d
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Sep 3 01:39:11 2014 +0200

    Merge 7.2 ->7.3

commit 792336d2c7fa796a91c67db3bdfd5f78b4f2ef5e
Merge: 2490b3b f2b18e4
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Sep 3 00:20:14 2014 +0200

    Merge 7.1 -> 7.2

commit f2b18e4e409afd46f9c856a5fad583cfbbda349f
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Sep 3 00:11:11 2014 +0200

    bug#19124970 - PB WITH POLLEVENTS , NDBEVENTS
    
    Improvement in the 'safety' of deleting an Ndb while it's in use.

commit 7a2b4e8cdee4e6b8fe2641a75c09d9c2c7182053
Merge: 1a1d9cf 2490b3b
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Sep 2 23:52:58 2014 +0200

    Null merge from 7.3

commit 2490b3bbf70dd087dd090935595a0cae2c91215e
Merge: 9d375b6 0d873ce
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Sep 2 23:50:31 2014 +0200

    Null merge from 7.1

commit 0d873ce5500e0a38349cc9e204d1333b3840c178
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Tue Sep 2 23:09:52 2014 +0200

    Backport from 7.2

commit 45929e228bbe4ef98c62d470de94f90642ad816d
Merge: b1b4434 1a1d9cf
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 20:08:09 2014 +0530

    merge 7.3->7.4

commit 1a1d9cf908024c5b7b31f8dd8f6513fd6707b5a9
Merge: 47064c4 9d375b6
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 20:01:16 2014 +0530

    merge 7.2->7.3

commit 9d375b660adfedc4a89697c66898d7836e415475
Merge: 85ea9d0 0850509
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 19:53:08 2014 +0530

    Bug #17069285 SEGMENTATION FAULT IN NDB_PRINT_FILE
    There is difference in mysql-test-run.pl between 7.1 and the rest (7.2 and up),
    for adding the environmental variable in mysql-test/mysql-test-run.pl file.
    1. for 7.1 its : "native_path(my_find_bin($basedir,"
    2. for 7.2 and up its : "my_find_bin($bindir, ..  "
    Pushing this patch to resolve this issue.

commit 08505095d8b39c2f5a32e4265fba6e14bd4b6119
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 19:43:16 2014 +0530

    BUG#17069285 SEGMENTATION FAULT IN NDB_PRINT_FILE
    
    There is difference in mysql-test-run.pl between 7.1 and the rest (7.2 and up),
    for adding the environmental variable in mysql-test/mysql-test-run.pl file.
    1. for 7.1 its : "native_path(my_find_bin($basedir,"
    2. for 7.2 and up its : "my_find_bin($bindir, ..  "
    Pushing this patch to resolve this issue.

commit b1b4434a3bcd4cb5fb0ef721e91810d3ffc511f8
Merge: 334025d 47064c4
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 17:36:32 2014 +0530

    merge 7.3->7.4

commit 47064c4507dd27f34f1db3605ab4c59f0b6fc864
Merge: 5176a42 85ea9d0
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 17:33:46 2014 +0530

    merge 7.2->7.3

commit 85ea9d0dc009a582e58a016937e983e69fc949a3
Merge: fcead14 7143d82
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 17:31:39 2014 +0530

    merge 7.1->7.2

commit 7143d82048b3b54cae5f2c829b9c2307ace3539d
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 17:27:46 2014 +0530

    BUG#17069285 SEGMENTATION FAULT IN NDB_PRINT_FILE
    
    The Bug was due to m_out object used in NdbOut operator was not initialized/set to the output stream.
    Added an ndb_init() call to initialize it to output stream.
    Added an environmental variable $NDB_PRINT_FILE to give path to its binary in  mysql-test/mysql-test-run.pl file.
    Added a unit test and its result file.
    Missed a line in previous push, so pushing again.

commit 334025d4bb23799b5d06a52760a88a7a4514f01b
Merge: ed726e6 5176a42
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 15:50:32 2014 +0530

    merge 7.3 -> 7.4

commit 5176a4219363da1325a1a1fae67b6049c7ac5a59
Merge: ad63f85 fcead14
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 14:26:08 2014 +0530

    merge 7.2 -> 7.3

commit fcead141c703772af94386440b13678645c7e8cb
Merge: 19b06e5 becafdf
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 14:20:44 2014 +0530

    merge 7.1 -> 7.2

commit becafdf69b4a4c121370b43fe6c3f061ebccb44e
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Tue Sep 2 14:15:44 2014 +0530

    The Bug was due to m_out object used in NdbOut operator was not initialized/set to the output stream.
    Added an ndb_init() call to initialize it to output stream.
    Added an environmental variable $NDB_PRINT_FILE to give path to its binary in  mysql-test/mysql-test-run.pl file.
    Added a unit test and its result file.

commit ed726e681a4fdf7bb012e9fcaca3433349a512f4
Merge: dc9a6b2 ad63f85
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Sep 1 13:38:35 2014 +0530

    merge 7.3 -> 7.4

commit ad63f85ac838d09a392f807dfedf8dc56931e4cd
Merge: 43d34d2 19b06e5
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Sep 1 13:34:09 2014 +0530

    merge 7.2 -> 7.3

commit 19b06e5253e09bc6c5c9accf0ce491ee3a6e5776
Merge: e28c104 58770fa
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Sep 1 13:27:49 2014 +0530

    merge 7.1 -> 7.2

commit 58770fae81bafe8971a97970a3ec9b10e77c81f3
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Mon Sep 1 13:14:58 2014 +0530

    Bug#19202654  NDB_RESTORE NOT ABLE TO RESTORE META WITH 17K OBJECTS
    
    Changed DBUG_OFF macros to ERROR_INSERT for unit test.

commit dc9a6b2c2679ab2fa41485ca37923dea41696fe3
Merge: 8ab8440 43d34d2
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Aug 28 20:45:39 2014 +0300

    merge

commit 43d34d2401a331890a0da1172e83ab031f954c85
Merge: cfe49b2 e28c104
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Aug 28 20:38:16 2014 +0300

    merge

commit e28c1040336085269aaaea6fc1e2da9bc7d51068
Merge: f29e00b 7e27a48
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Aug 28 20:27:36 2014 +0300

    merge

commit 7e27a48eaeef95e22f9c46e65eed2a29a90577d2
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Aug 28 20:09:18 2014 +0300

    bug#19031389 bugfix.diff
    bug fix

commit f3bfefb775985ff1928453dbe8b4f7d3a47c9c3a
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Thu Aug 28 20:07:03 2014 +0300

    bug#19031389 bugtest.diff
    bug test

commit 8ab8440de0785f05111cf967133ab736c0d061c6
Merge: c352289 cfe49b2
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Aug 27 12:25:48 2014 +0200

    Merge BUG#19513967

commit cfe49b21d4ca3754d9966aaa04bb3a5b9e72993c
Merge: 1aef776 f29e00b
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Aug 27 12:24:49 2014 +0200

    Merge BUG#19513967

commit f29e00b42fe92c48c2e0a34263cafbc2876fb3e0
Merge: 6046536 f6af7a2
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Aug 27 12:23:46 2014 +0200

    Merge BUG#19513967

commit f6af7a260994661751b5aa13f8d7d0c0c3a1e8b0
Author: Mikael Ronstrom <mikael.ronstrom@oracle.com>
Date:   Wed Aug 27 12:22:35 2014 +0200

    BUG#19513967: Fixed missing init of longer bitmask

commit c352289e680ae2425fca2836364a9de1bed9cc36
Merge: 3f6b96c 1aef776
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Aug 27 15:05:54 2014 +0530

    merge 7.3 -> 7.4

commit 1aef7765f52a254c5d77541a7da819fe85f59396
Merge: 7c59c49 6046536
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Aug 27 15:02:46 2014 +0530

    merge 7.2 -> 7.3

commit 604653682bc004dd3946c24a30e710d3b7f43331
Merge: bc2b241 52bc486
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Aug 27 14:58:34 2014 +0530

    merge 7.1 -> 7.2

commit 52bc48605454dcfc31a4368e97e7c84dcbb6b202
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Aug 27 14:56:50 2014 +0530

    Bug#19202654  NDB_RESTORE NOT ABLE TO RESTORE META WITH 17K OBJECTS
    
    Fixed autotest failure of test case added for this bug.
    The --error-insert option is supported by ndb_restore only in
    debug builds. The test failed because this option was passed to
    ndb_restore even though it was not a debug build. Modified the
    test code to pass '--error-insert' as an option to ndb_restore
    only if the build is a debug build.

commit 3f6b96c7f645965734bbde734327c3712e5dc0b7
Merge: 8d2ff0a 7c59c49
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Mon Aug 25 14:15:08 2014 +0530

    merge 7.3 -> 7.4

commit 7c59c49a7f39022a0e4ab3107b38bb979607ebc7
Merge: 216a048 bc2b241
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Mon Aug 25 14:02:05 2014 +0530

    merge 7.2 -> 7.3

commit bc2b241b9b832df259457fe42d51e9ecc734bbd4
Merge: 5e52ace c9078f9
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Mon Aug 25 13:56:32 2014 +0530

    merge 7.1 -> 7.2

commit c9078f9a2c2cab5756d4d116f53711eddd247c7a
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Mon Aug 25 13:42:49 2014 +0530

    BUG#17703874
    
    The patch does the following:
    1. updates the Usage message.
    2. give error if -d option is given without a table name.
    3. gives error for extra arguments.
    4. gives proper message if table not founded.

commit 8d2ff0a764addfa3324b635c50b1328737dc7110
Merge: 4612cc7 216a048
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Aug 22 15:07:10 2014 +0530

    merge 7.3 -> 7.4

commit 216a04835bf67f54edb092ef2494986065779165
Merge: cbd92d5 5e52ace
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Aug 22 15:00:53 2014 +0530

    merge 7.2 -> 7.3

commit 5e52ace2598ffaf196520d177fc95114e0595976
Merge: e68e779 1af9091
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Aug 22 14:57:24 2014 +0530

    merge 7.1 -> 7.2

commit 1af9091136d62ae066b10218465ec597240b2782
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Fri Aug 22 14:50:59 2014 +0530

    Bug#19202654: NDB_RESTORE NOT ABLE TO RESTORE META WITH 17K OBJECTS
    
    The ndb_restore utility loads metadata before executing any operation.
    While loading metadata, it lists all the tables in the backup. To list
    tables, it reads the table count from the section header of the backup
    file. It then does a buffer read to get all the tables. The amount of
    data requested in the buffer read is calculated. In this bug, the
    amount of requested data exceeds the amount of remaining buffered data.
    This is handled by reducing the table count to the number of tables
    remaining in the buffer. The read is done and the reduced count is
    returned. This causes an error exit because the reduced count is not
    equal to the requested count.
    
    Fixed the table list function to handle a reduced count from a buffer
    read. Instead of erroring out, it requests subsequent reads for the
    remaining tables. This continues until all the tables have been read.
    
    Added an error insert to reduce the size of the buffer. After the table
    list is read, the original buffer size is restored. Added a test case
    in autotest.

commit 4612cc7ce091314437b09c4b29c610df4d904c10
Merge: 238e7ad cbd92d5
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Aug 19 15:48:07 2014 +0100

    Merge 7.3->7.4

commit cbd92d5d4259b91258237f57a9a501e41de2eab1
Merge: b1fd844 e68e779
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Aug 19 15:43:41 2014 +0100

    7.2->7.3

commit e68e7798f506ab8ebed075d8b8cd7d9e3dfb0b9e
Merge: d6e16fd 2a77f9c
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Aug 19 15:39:31 2014 +0100

    Merge 7.1->7.2

commit 2a77f9c627108f867a52859a2fc097311d2bdee1
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Tue Aug 19 15:28:21 2014 +0100

    Bug #18354165 	16723708 CHANGED EVENT CATEGORY VALUES
    
    This fix reverts the fix for 16723708 INVALID VALUES RETURNED IN NDB_LOGEVENT "CATEGORY" MEMBER VARIABLE.
    
    The problem was that changing the category returned by ndb_logevent_get_next()
    was non backwards compatible, and some customers were already working around
    the problem in their applications.
    
    So in this fix we keep the old behaviour of ndb_logevent_get_next(), and
    create a new ndb_logevent_get_next2() method which will return a
    correct category.
    
    Customers requiring the correct category (and those not caring)
    should call ndb_logevent_get_next2().
    
    Existing customer applications will be unaffected.
    
    There does not appear to be any internal use of the category field
    returned this way which is affected.

commit 238e7ad8e301cf61e36f9658c192f44e6edbe5c6
Merge: 7fec4cf b1fd844
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sat Aug 16 11:49:32 2014 -0700

    Clusterj windows CMakeList error

commit b1fd8444876e4f3934eb434c2b293d918cc3b367
Merge: 99954b6 d6e16fd
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sat Aug 16 11:43:12 2014 -0700

    Clusterj windows CMakeList error

commit d6e16fdbb1062d0be3d4066a8407e577d02599aa
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sat Aug 16 11:41:31 2014 -0700

    Clusterj windows CMakeList error

commit 7fec4cf6a1c5b454e947a3e3fa7304a789a6dc5e
Merge: 34bf629 99954b6
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sat Aug 16 08:49:17 2014 -0700

    merge 7.3 -> 7.4 clusterj autoincrement

commit 99954b6f03a8e0d8259926ba5b229b9f94ab3724
Merge: a40142f d3ac112
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sat Aug 16 08:41:28 2014 -0700

    merge 7.2 -> 7.3 clusterj autoincrement

commit d3ac1126e61bf67e9a85e1f245d6532498fe0967
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sat Aug 16 08:38:39 2014 -0700

    Clusterj support for autoincrement columns
    http://wl.no.oracle.com/worklog/NDB-RawIdeaBin/index.pl?tid=8027
    
    Metadata: detect autoincrement columns; allow specification of
    autoincrement batch size
    
    Operation: when inserting row with autoincrement column, see if the
    column was set by user. If not, get autoincrement value from session factory
    and mark the column as set.
    
    SessionFactory:
    
    schema.sql: add four tables with autoincrement pk columns
    drop table if exists autopkint;
    create table autopkint (
      id int primary key auto_increment,
      val int
    ) ENGINE=ndb;
    
    drop table if exists autopkbigint;
    create table autopkbigint (
      id bigint primary key auto_increment,
      val bigint
    ) ENGINE=ndb;
    
    drop table if exists autopksmallint;
    create table autopksmallint (
      id smallint primary key auto_increment,
      val smallint
    ) ENGINE=ndb;
    
    drop table if exists autopktinyint;
    create table autopktinyint (
      id tinyint primary key auto_increment,
      val tinyint
    ) ENGINE=ndb;
    
    mysql-test/suite/ndb/t/clusterj.test: drop tables after test
    
    Constants.java: Add three constant that users can set:
    PROPERTY_CLUSTER_CONNECT_AUTO_INCREMENT_BATCH_SIZE = "com.mysql.clusterj.connect.autoincrement.batchsize"
    PROPERTY_CLUSTER_CONNECT_AUTO_INCREMENT_STEP = "com.mysql.clusterj.connect.autoincrement.increment"
    PROPERTY_CLUSTER_CONNECT_AUTO_INCREMENT_START = "com.mysql.clusterj.connect.autoincrement.offset"
    
    SessionFactoryImpl.java: Set values for autoincrement constants
      initialize session factory with autoincrement constants
    
    ClusterConnection.java: define initialization for autoincrement constants
    
    Table.java: define get autoincrement column
    
    AutoPKTest.java: test autoincrement for four pk types: int, bigint, smallint, tinyint
      test insert with no primary key set and verify a unique value was used for the column
      test delete by key and verify proper values were inserted
    
    ClusterConnectionImpl.java: when initialized, pass autoincrement constants to DbImpl
    
    DbImpl.java: handle autoincrement
      initialize autoincrement constants
      when needed, get autoincrement value from wrapped Ndb object
    
    NdbRecordImpl.java: handle setting autoincrement value
      initialize autoincrement value setter based on column type
      set autoincrement value into NdbRecord buffer
    
    NdbRecordOperationImpl.java:
      handle autoincrement on insert operation when autoincrement column was not set by user
    
    TableImpl.java:
      return autoincrement column if it is defined in the NdbTable
    
    Bundle.properties: new error messages for internal and user errors
    
    ndbjtie/NdbApiWrapper.hpp: define new methods
      Ndb__getAutoIncrementValue: get a new autoincrement value from Ndb
      NdbDictionary__Column__getAutoIncrement: return if a column is autoincrement
    
    ndbjtie/ndbapi/Ndb.java: implement Ndb:getAutoIncrementValue
    
    ndbjtie/ndbapi/NdbDictionary.java: implement Column:getAutoIncrement
    
    ndbjtie/ndbapi_jtie.hpp: implement JNI delegation to native method

commit 34bf6294cc86a03195359a4b43700b2e29294f22
Merge: bd55ce8 a40142f
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Aug 15 20:14:02 2014 -0700

    Added missing logging.properties

commit a40142f75db0c609de6db4b9717a1c9e7cda2c86
Merge: 358cb8f 834ff08
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Aug 15 20:07:51 2014 -0700

    Added missing logging.properties

commit 834ff080123ffbc7a5593bde553ec39c3e2f7d08
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Aug 15 20:06:19 2014 -0700

    Added missing logging.properties

commit bd55ce879ee21836e32fe2873df20288048955ee
Merge: 803766e 358cb8f
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Aug 15 18:58:34 2014 -0700

    merge 7.3 -> 7.4 clusterj maven

commit 358cb8f96dce232b2f81edc95c0e7fb617506e0e
Merge: 106e54b f8bcbfe
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Aug 15 17:58:51 2014 -0700

    merge 7.2 -> 7.3 clusterj maven

commit f8bcbfed6ca7627ef09d5cb2c3c201fbd6bad172
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Aug 15 17:54:19 2014 -0700

    Clusterj improve maven handling for out-of-source builds
    
    Remove clusterj-*/logging.properties
    Add clusterj/logging.properties
    During cmake, copy clusterj/logging.properties to clusterj-*/properties
    
    Update clusterj-*/pom.xml.in
      Put <properties> at top of file
      Add property for source directory name
      Add build properties for source directory, resource directory, test source directory, test resource directory
      During cmake, proper out-of-source pom.xml will be created

commit 803766e8bbf1fa22dcbc97c91a70e05052cebf5c
Merge: f121927 106e54b
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Aug 13 16:47:32 2014 +0530

    merge 7.3 -> 7.4

commit 106e54bcaae5dc443c80e6948305b3cbc2df60e6
Merge: 4a72a87 cef1a44
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Aug 13 16:43:26 2014 +0530

    merge 7.2 -> 7.3

commit cef1a44226d9ae58565e08d5fd924a874b2b4ff2
Merge: eab243f c34ff11
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Aug 13 16:33:50 2014 +0530

    merge 7.1 ->7.2

commit c34ff11ad0bf2095330555c72f43e034765418a3
Author: Priyanka Sangam <priyanka.sangam@oracle.com>
Date:   Wed Aug 13 16:29:16 2014 +0530

    Bug#18875137: NDB_RESTORE STILL MISSING SOME TYPE CONVERSIONS
    
    Added TEXT->TEXT staging conversions to ndb_restore. Fixed ndb_restore
    to handle a combination of built-in and staging conversions in a
    single table. Disabled conversion to TEXT column with different
    charset. Added fix in ndb_restore for truncation when converting to
    TINYTEXT. Added fix in mysqld to truncate TEXT values from ndb
    according to MySQL limits on TEXT sizes.
    
    While truncating a multi-byte charset TEXT, there is a possibility
    that the TEXT could be trusacated in the middle of a multi-byte
    character. This is handled by truncating to the end of the last
    well-formed character.

commit f1219278d80bc6719d5f29f8ec941181991b0256
Merge: d897496 4a72a87
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Aug 11 11:40:34 2014 +0200

    Merge 7.3 -> 7.4

commit 4a72a87c6255d5eb312eed46f36b7a7f0e8b256a
Merge: 4b002c5 eab243f
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Aug 11 11:37:08 2014 +0200

    Merge 7.2 -> 7.3

commit eab243f0df2598d66f381decaee84eeaeb1295c2
Merge: 46ed445 6408b67
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Aug 11 11:34:29 2014 +0200

    Merge 7.1 -> 7.2

commit 6408b673bf0c96e0b1eaff073026737af7eb1ebe
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Aug 11 11:31:11 2014 +0200

    Fix for Bug#19414511:
    
      ::sendSignalNoRelease() does not report send failure before crashing
    
    Replace ndbrequire() with calls to either ::handle_out_of_longsignal_memory()
    or ::handle_send_failure() which will print a crash reason before
    crashing.
    
    This is similar to code already existing in the 'normal' ::sendSignal().

commit d8974964734e0f5b64fb91e8f1899743e7f10e9a
Merge: fdbceae 4b002c5
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Aug 6 17:32:37 2014 +0200

    merge 7.3 -> 7.4

commit 4b002c5d25d2d02d7ebbdbc747b6f09578d1ade6
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Aug 6 16:30:07 2014 +0200

    Bug #19236785	 ADDRESSSANITIZER BUG IN ~NDB_MOVE_DATA
    Bug #73311	AddressSanitizer bug in ~Ndb_move_data
    
    Changed delete to delete []

commit 2b200c8f740932a7449c12da50b05baf65a28017
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Aug 6 16:29:08 2014 +0200

    Bug #19235428	 ADDRESSSANITIZER BUG IN DATABUFFER2<SZ,POOL>::IMPORT (DBDICT::ALTERTABLE_PARSE)
    Bug #73310	AddressSanitizer bug in DataBuffer2<sz,Pool>::import (Dbdict::alterTable_parse)
    
    DataBuffer2::import is changed to not read beyond end of short source buffer.

commit bbb302bfe6fb7a54cb5eb691d91813143ebc44a5
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Aug 6 16:27:31 2014 +0200

    Bug #19235170	 ADDRESSSANITIZER BUG IN DBUTIL::GET_SYSTAB_TABLEID
    Bug #73308	AddressSanitizer bug in DbUtil::get_systab_tableid
    
    Size of buffer in LinearSection are given in words, not bytes.

commit fdbceaeb1ccccaa5a0f1c8088e504991a9580486
Merge: e58c965 3c3ecf6
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Aug 6 18:01:23 2014 +0530

    Merge 7.3 -> 7.4

commit 3c3ecf640e9b44a6a2dd55cd35b51280f30eeaa7
Merge: 44391b8 46ed445
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Aug 6 17:57:52 2014 +0530

    Merge 7.2 -> 7.3

commit 46ed445284be729a3b4068499c4d07ae8380721f
Merge: 2416692 7377ff2
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Aug 6 17:55:10 2014 +0530

    Merge 7.1 -> 7.2

commit 7377ff263643b962bcc1e51afd84a025a6aea8d5
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Wed Aug 6 17:51:30 2014 +0530

    Bug#11764704 : Exclude missing tables when restoring a backup
     - added an option "--exclude-missing-tables" to ndb_restore tool
     - when enabled, the missing tables will be added to the
       exclude tables list before starting to restore.
     - updated test cases accordingly.

commit e58c9651c70ec904c32863b8cb7c66ab607df2f8
Merge: af81abb 44391b8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Aug 5 18:24:26 2014 +0200

    null merge 7.3 -> 7.4

commit 44391b84456d86da0625d798458eb92c77de726b
Merge: cb75a08 2416692
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Aug 5 18:22:37 2014 +0200

    null merge 7.2 -> 7.3

commit 24166923a507b1355f64cf11d597d7b543e68b9b
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Aug 5 18:05:08 2014 +0200

    Revert fix merged in from 5.5.39 that does not work as is in MySQL Cluster
    Bug#17283409  4-WAY DEADLOCK: ZOMBIES, PURGING BINLOGS, SHOW PROCESSLIST, SHOW BINLOGS
    
    ndb_binlog.ndb_binlog_purge fail with debug.
    
    Reverted revisions are:
    
    ------------------------------------------------------------
    revno: 3069.220.13
    revision-id: venkatesh.duggirala@oracle.com-20140509042215-kukwf135nfyy9yy2
    parent: venkatesh.duggirala@oracle.com-20140508124301-9kqzomeujeucnxcu
    committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
    branch nick: mysql-5.5
    timestamp: Fri 2014-05-09 09:52:15 +0530
    message:
      Bug#17283409  4-WAY DEADLOCK: ZOMBIES, PURGING BINLOGS,
      SHOW PROCESSLIST, SHOW BINLOGS
    
      Fixing post push test failure (MTR does not like giving
      127.0.0.1 for localhost incase of --embedded run, it thinks
      it is an external ip address)
    ------------------------------------------------------------
    revno: 3069.220.12
    revision-id: venkatesh.duggirala@oracle.com-20140508124301-9kqzomeujeucnxcu
    parent: mithun.c.y@oracle.com-20140508091953-qafkm6r1dhycdjyh
    committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
    branch nick: mysql-5.5
    timestamp: Thu 2014-05-08 18:13:01 +0530
    message:
      Bug#17283409  4-WAY DEADLOCK: ZOMBIES, PURGING BINLOGS,
      SHOW PROCESSLIST, SHOW BINLOGS
    
      Problem:  A deadlock was occurring when 4 threads were
      involved in acquiring locks in the following way
      Thread 1: Dump thread ( Slave is reconnecting, so on
                    Master, a new dump thread is trying kill
                    zombie dump threads. It acquired thread's
                    LOCK_thd_data and it is about to acquire
                    mysys_var->current_mutex ( which LOCK_log)
      Thread 2: Application thread is executing show binlogs and
                     acquired LOCK_log and it is about to acquire
                     LOCK_index.
      Thread 3: Application thread is executing Purge binary logs
                     and acquired LOCK_index and it is about to
                     acquire LOCK_thread_count.
      Thread 4: Application thread is executing show processlist
                     and acquired LOCK_thread_count and it is
                     about to acquire zombie dump thread's
                     LOCK_thd_data.
      Deadlock Cycle:
           Thread 1 -> Thread 2 -> Thread 3-> Thread 4 ->Thread 1
    
      The same above deadlock was observed even when thread 4 is
      executing 'SELECT * FROM information_schema.processlist' command and
      acquired LOCK_thread_count and it is about to acquire zombie
      dump thread's LOCK_thd_data.
    
      Analysis:
      There are four locks involved in the deadlock.  LOCK_log,
      LOCK_thread_count, LOCK_index and LOCK_thd_data.
      LOCK_log, LOCK_thread_count, LOCK_index are global mutexes
      where as LOCK_thd_data is local to a thread.
      We can divide these four locks in two groups.
      Group 1 consists of LOCK_log and LOCK_index and the order
      should be LOCK_log followed by LOCK_index.
      Group 2 consists of other two mutexes
      LOCK_thread_count, LOCK_thd_data and the order should
      be LOCK_thread_count followed by LOCK_thd_data.
      Unfortunately, there is no specific predefined lock order defined
      to follow in the MySQL system when it comes to locks across these
      two groups. In the above problematic example,
      there is no problem in the way we are acquiring the locks
      if you see each thread individually.
      But If you combine all 4 threads, they end up in a deadlock.
    
      Fix:
      Since everything seems to be fine in the way threads are taking locks,
      In this patch We are changing the duration of the locks in Thread 4
      to break the deadlock. i.e., before the patch, Thread 4
      ('show processlist' command) mysqld_list_processes()
      function acquires LOCK_thread_count for the complete duration
      of the function and it also acquires/releases
      each thread's LOCK_thd_data.
    
      LOCK_thread_count is used to protect addition and
      deletion of threads in global threads list. While show
      process list is looping through all the existing threads,
      it will be a problem if a thread is exited but there is no problem
      if a new thread is added to the system. Hence a new mutex is
      introduced "LOCK_thd_remove" which will protect deletion
      of a thread from global threads list. All threads which are
      getting exited should acquire LOCK_thd_remove
      followed by LOCK_thread_count. (It should take LOCK_thread_count
      also because other places of the code still thinks that exit thread
      is protected with LOCK_thread_count. In this fix, we are changing
      only 'show process list' query logic )
      (Eg: unlink_thd logic will be protected with
      LOCK_thd_remove).
    
      Logic of mysqld_list_processes(or file_schema_processlist)
      will now be protected with 'LOCK_thd_remove' instead of
      'LOCK_thread_count'.
    
      Now the new locking order after this patch is:
      LOCK_thd_remove -> LOCK_thd_data -> LOCK_log ->
      LOCK_index -> LOCK_thread_count

commit af81abbb5950dab392a0ea69d302b5d6e158a79d
Merge: 3d07c3f cb75a08
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Aug 5 16:47:06 2014 +0200

    merge 7.3 -> 7.4

commit cb75a088d6dcf00844c915d56c5a02ac4428016e
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Aug 5 16:29:07 2014 +0200

    Revert fix merged in from 5.6.20 that does not work as is in MySQL Cluster
    Bug#17283409  4-WAY DEADLOCK: ZOMBIES, PURGING BINLOGS, SHOW PROCESSLIST, SHOW BINLOGS
    
    Reverted revisions are:
    
    ------------------------------------------------------------
    revno: 2876.552.146
    revision-id: venkatesh.duggirala@oracle.com-20140718110044-ivyb4xygx4q59puv
    parent: ashish.y.agarwal@oracle.com-20140717135640-3m6s2n57s1th3vom
    committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
    branch nick: mysql-5.6.20-release
    timestamp: Fri 2014-07-18 16:30:44 +0530
    message:
      Bug#17283409  4-WAY DEADLOCK: ZOMBIES, PURGING BINLOGS,
      SHOW PROCESSLIST, SHOW BINLOGS
    
      Post push fix (removing try-catch)
    ------------------------------------------------------------
    revno: 2876.552.16 [merge]
    revision-id: venkatesh.duggirala@oracle.com-20140509042350-ni6xx9khsej94hl9
    parent: venkatesh.duggirala@oracle.com-20140508124746-8de4t4utydx15x2k
    parent: venkatesh.duggirala@oracle.com-20140509042215-kukwf135nfyy9yy2
    committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-05-09 09:53:50 +0530
    message:
      Bug#17283409  4-WAY DEADLOCK: ZOMBIES, PURGING BINLOGS,
      SHOW PROCESSLIST, SHOW BINLOGS
    
      Fixing post push test failure (MTR does not like giving
      127.0.0.1 for localhost incase of --embedded run, it thinks
      it is an external ip address)
        ------------------------------------------------------------
        revno: 2875.596.13
        revision-id: venkatesh.duggirala@oracle.com-20140509042215-kukwf135nfyy9yy2
        parent: venkatesh.duggirala@oracle.com-20140508124301-9kqzomeujeucnxcu
        committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
        branch nick: mysql-5.5
        timestamp: Fri 2014-05-09 09:52:15 +0530
        message:
          Bug#17283409  4-WAY DEADLOCK: ZOMBIES, PURGING BINLOGS,
          SHOW PROCESSLIST, SHOW BINLOGS
    
          Fixing post push test failure (MTR does not like giving
          127.0.0.1 for localhost incase of --embedded run, it thinks
          it is an external ip address)
    ------------------------------------------------------------
    revno: 2876.552.15 [merge]
    revision-id: venkatesh.duggirala@oracle.com-20140508124746-8de4t4utydx15x2k
    parent: mithun.c.y@oracle.com-20140508092217-2vyrjxxtzf18r0ho
    parent: venkatesh.duggirala@oracle.com-20140508124301-9kqzomeujeucnxcu
    committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-05-08 18:17:46 +0530
    message:
            Bug#17283409  4-WAY DEADLOCK: ZOMBIES, PURGING BINLOGS,
            SHOW PROCESSLIST, SHOW BINLOGS
    
            Merge from mysql-5.5 ( Fix is changed from
            mysql-5.5's patch)
    
            Problem:  A deadlock was occurring when 4 threads were
            involved in acquiring locks in the following way
            Thread 1: Dump thread ( Slave is reconnecting, so on
                          Master, a new dump thread is trying kill
                          zombie dump threads. It acquired thread's
                          LOCK_thd_data and it is about to acquire
                          mysys_var->current_mutex ( which LOCK_log)
            Thread 2: Application thread is executing show binlogs and
                           acquired LOCK_log and it is about to acquire
                           LOCK_index.
            Thread 3: Application thread is executing Purge binary logs
                           and acquired LOCK_index and it is about to
                           acquire LOCK_thread_count.
            Thread 4: Application thread is executing show processlist
                           and acquired LOCK_thread_count and it is
                           about to acquire zombie dump thread's
                           LOCK_thd_data.
            Deadlock Cycle:
                 Thread 1 -> Thread 2 -> Thread 3-> Thread 4 ->Thread 1
    
            The same above deadlock was observed even when thread 4 is
            executing 'SELECT * FROM information_schema.processlist' command and
            acquired LOCK_thread_count and it is about to acquire zombie
            dump thread's LOCK_thd_data.
    
            Analysis:
            There are four locks involved in the deadlock.  LOCK_log,
            LOCK_thread_count, LOCK_index and LOCK_thd_data.
            LOCK_log, LOCK_thread_count, LOCK_index are global mutexes
            where as LOCK_thd_data is local to a thread.
            We can divide these four locks in two groups.
            Group 1 consists of LOCK_log and LOCK_index and the order
            should be LOCK_log followed by LOCK_index.
            Group 2 consists of other two mutexes
            LOCK_thread_count, LOCK_thd_data and the order should
            be LOCK_thread_count followed by LOCK_thd_data.
            Unfortunately, there is no specific predefined lock order defined
            to follow in the MySQL system when it comes to locks across these
            two groups. In the above problematic example,
            there is no problem in the way we are acquiring the locks
            if you see each thread individually.
            But If you combine all 4 threads, they end up in a deadlock.
    
            Fix:
            Since everything seems to be fine in the way threads are taking locks,
            In this patch We are changing the duration of the locks in Thread 4
            to break the deadlock. i.e., before the patch, Thread 4
            ('show processlist' command) mysqld_list_processes()
            function acquires LOCK_thread_count for the complete duration
            of the function and it also acquires/releases
            each thread's LOCK_thd_data. Instead of it, Now it will take
            a copy of THDs from global_thread_list and perform traversal
            (on copied THDs) only after releasing  LOCK on LOCK_thread_count.
            During traversal(on copied THDs), removal from global_thread_list is
            blocked using another mutex LOCK_thd_remove such that
            THD copied are valid during traversal(otherwise remove destroys THD).
    
            Now the new locking order after this patch is:
            LOCK_thd_remove -> LOCK_thd_data -> LOCK_log ->
            LOCK_index -> LOCK_thread_count
        ------------------------------------------------------------
        revno: 2875.596.12
        revision-id: venkatesh.duggirala@oracle.com-20140508124301-9kqzomeujeucnxcu
        parent: mithun.c.y@oracle.com-20140508091953-qafkm6r1dhycdjyh
        committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
        branch nick: mysql-5.5
        timestamp: Thu 2014-05-08 18:13:01 +0530
        message:
          Bug#17283409  4-WAY DEADLOCK: ZOMBIES, PURGING BINLOGS,
          SHOW PROCESSLIST, SHOW BINLOGS
    
          Problem:  A deadlock was occurring when 4 threads were
          involved in acquiring locks in the following way
          Thread 1: Dump thread ( Slave is reconnecting, so on
                        Master, a new dump thread is trying kill
                        zombie dump threads. It acquired thread's
                        LOCK_thd_data and it is about to acquire
                        mysys_var->current_mutex ( which LOCK_log)
          Thread 2: Application thread is executing show binlogs and
                         acquired LOCK_log and it is about to acquire
                         LOCK_index.
          Thread 3: Application thread is executing Purge binary logs
                         and acquired LOCK_index and it is about to
                         acquire LOCK_thread_count.
          Thread 4: Application thread is executing show processlist
                         and acquired LOCK_thread_count and it is
                         about to acquire zombie dump thread's
                         LOCK_thd_data.
          Deadlock Cycle:
               Thread 1 -> Thread 2 -> Thread 3-> Thread 4 ->Thread 1
    
          The same above deadlock was observed even when thread 4 is
          executing 'SELECT * FROM information_schema.processlist' command and
          acquired LOCK_thread_count and it is about to acquire zombie
          dump thread's LOCK_thd_data.
    
          Analysis:
          There are four locks involved in the deadlock.  LOCK_log,
          LOCK_thread_count, LOCK_index and LOCK_thd_data.
          LOCK_log, LOCK_thread_count, LOCK_index are global mutexes
          where as LOCK_thd_data is local to a thread.
          We can divide these four locks in two groups.
          Group 1 consists of LOCK_log and LOCK_index and the order
          should be LOCK_log followed by LOCK_index.
          Group 2 consists of other two mutexes
          LOCK_thread_count, LOCK_thd_data and the order should
          be LOCK_thread_count followed by LOCK_thd_data.
          Unfortunately, there is no specific predefined lock order defined
          to follow in the MySQL system when it comes to locks across these
          two groups. In the above problematic example,
          there is no problem in the way we are acquiring the locks
          if you see each thread individually.
          But If you combine all 4 threads, they end up in a deadlock.
    
          Fix:
          Since everything seems to be fine in the way threads are taking locks,
          In this patch We are changing the duration of the locks in Thread 4
          to break the deadlock. i.e., before the patch, Thread 4
          ('show processlist' command) mysqld_list_processes()
          function acquires LOCK_thread_count for the complete duration
          of the function and it also acquires/releases
          each thread's LOCK_thd_data.
    
          LOCK_thread_count is used to protect addition and
          deletion of threads in global threads list. While show
          process list is looping through all the existing threads,
          it will be a problem if a thread is exited but there is no problem
          if a new thread is added to the system. Hence a new mutex is
          introduced "LOCK_thd_remove" which will protect deletion
          of a thread from global threads list. All threads which are
          getting exited should acquire LOCK_thd_remove
          followed by LOCK_thread_count. (It should take LOCK_thread_count
          also because other places of the code still thinks that exit thread
          is protected with LOCK_thread_count. In this fix, we are changing
          only 'show process list' query logic )
          (Eg: unlink_thd logic will be protected with
          LOCK_thd_remove).
    
          Logic of mysqld_list_processes(or file_schema_processlist)
          will now be protected with 'LOCK_thd_remove' instead of
          'LOCK_thread_count'.
    
          Now the new locking order after this patch is:
          LOCK_thd_remove -> LOCK_thd_data -> LOCK_log ->
          LOCK_index -> LOCK_thread_count

commit 3d07c3f8b778f185f143283133c68d555ccdfc11
Merge: 0ad3423 d3b0a92
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Aug 5 10:42:28 2014 +0200

    merge 7.3 -> 7.4 (5.6.20)

commit d3b0a92f6aa9e5f53e550df08c1f6216d7bc6e17
Merge: cb368b3 87012e5
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Aug 5 10:30:04 2014 +0200

    merge 7.2 -> 7.3

commit cb368b35cb5ff5e23313c8bd589678d25a1a1d5a
Merge: 84eb986 f36866a
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Aug 5 10:27:18 2014 +0200

    merge 5.6.20 into 7.3.7

commit 84eb98645be0d12ad94911ead680a585ba5d9b83
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Aug 5 10:18:24 2014 +0200

    Revert quick fix for dtrace problems in release tree.
    New fix in CMake files will be merged in from 5.6.20.
    
    ------------------------------------------------------------
    revno: 4383 [merge]
    revision-id: sowmya.dass@oracle.com-20140712180534-710x44w88idoew4v
    parent: magnus.blaudd@oracle.com-20140711175006-p4n3l9hnltnfupmd
    parent: bjorn.munch@oracle.com-20140702083103-ajqdteouwcv8i0ej
    author: sowmya.dass@oracle.com
    committer: Sowmya Dass <sowmya.dass@oracle.com>
    branch nick: mysql-5.6-cluster-7.3
    timestamp: Sat 2014-07-12 20:05:34 +0200
    message:
      Merge from mysql-cluster-7.3.6-release
        ------------------------------------------------------------
        revno: 4372.1.2
        tags: mysql-cluster-7.3.6
        revision-id: bjorn.munch@oracle.com-20140702083103-ajqdteouwcv8i0ej
        parent: bjorn.munch@oracle.com-20140701131010-65gq2vq91m8ia0t2
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: clu-736
        timestamp: Wed 2014-07-02 10:31:03 +0200
        message:
          Unconditionally disable dtrace for rpm, barfs on Oracle dtrace
        ------------------------------------------------------------
        revno: 4372.1.1
        revision-id: bjorn.munch@oracle.com-20140701131010-65gq2vq91m8ia0t2
        parent: ole.john.aske@oracle.com-20140626140938-6zl4x8i49u36hb81
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: clu-736
        timestamp: Tue 2014-07-01 15:10:10 +0200
        message:
          Unconditionally disable dtrace for rpm-oel, barfs on Oracle dtrace

commit 87012e5a6849b392468d013500de3057377e68fd
Merge: a248609 9a51aa9
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Tue Aug 5 10:02:29 2014 +0200

    merge 5.5.39 into 7.2.18

commit 0ad3423f26c9c8455ac0b9646674c82b0e43bee2
Merge: 02b8c52 e28afc8
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Aug 1 12:58:18 2014 +0530

    Null merge from 7.3

commit e28afc87ca59b8bc33a1afb9e262df7437af4751
Merge: 0635d91 a248609
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Aug 1 12:56:45 2014 +0530

    Null merge from 7.2

commit a2486093f8ebbccae8eb8e41e78b9cd53b5c15a6
Merge: 042c579 211b3a6
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Aug 1 12:54:46 2014 +0530

    Null merge from 7.1

commit 02b8c52dcca3a9f4edb2736214ed2e8638f6b502
Merge: 01af9ed 0635d91
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Aug 1 12:27:02 2014 +0530

    Merge 7.3 -> 7.4

commit 0635d916281a6cdd9c35515e30b8bb6c78276f39
Merge: 6409c35 042c579
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Aug 1 12:23:09 2014 +0530

    Merge 7.2 -> 7.3

commit 042c5790cfabe4cc3a785c5017fe69db736b1c94
Merge: f19934b 312a4be
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Aug 1 12:20:10 2014 +0530

    Merge 7.1 -> 7.2

commit 211b3a6d76ff292a325faf983b5bf0551a9c0022
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Aug 1 12:19:25 2014 +0530

    The confusion in the bug#16374870 is caused by the poor usage message which fails to add *args* table [index].
    
    The proper usage message would be : ndb_select-all [options] table [index]
    
    There were some other issue which was not pointed out in the current bug page like
    - program was not giving error/warning for too many arguments.
    - Error message for INDEX not Found is giving two error msg: ./ndb_select_all
    -o -d test table1 abc
      - Index abc not exist
      - order flag given without an index
    
    This patch udates the usage message and solves the above problems.

commit 312a4be1c7e25867813fb2c343acb400997a9741
Author: Pratik Patodi <pratik.patodi@oracle.com>
Date:   Fri Aug 1 12:13:54 2014 +0530

    The confusion in the bug#16374870 is caused by the poor usage message which fails to add *args* table [index].
    
    The proper usage message would be : ndb_select-all [options] table [index]
    
    There were some other issue which was not pointed out in the current bug page like
    - program was not giving error/warning for too many arguments.
    - Error message for INDEX not Found is giving two error msg: ./ndb_select_all
    -o -d test table1 abc
      - Index abc not exist
      - order flag given without an index
    
    This patch udates the usage message and solves the above problems.

commit 01af9ed266c487e7f02643e4ccc36d1d07215db7
Author: Jan Wedvik <jan.wedvik@oracle.com>
Date:   Thu Jul 31 14:12:46 2014 +0200

    This commit is a followup to the one below. It changes the fragment_num colum (in memory_per_fragment), such that it gives the global frgament id rather than a node-local sequence number. That way, it is possible to see where each fragment (or some replica of it) is located. This is consistent with the output from 'ndb_desc -pn -d <database> <table>.
    
    --------------------------------------------------------------------------
    #At file:///net/atum17/export/home/tmp/jw159207/mysql/repo/mysql-5.6-cluster-7.4/ based on revid:ole.john.aske@oracle.com-20140514124556-04t9xmxcwpndzi0x
    
     4333 Jan Wedvik      2014-05-14
          This commit implements WL#7375 (Ndbinfo: Per-fragment memory usage reporting). It provides a new view, 'ndbinfo.memory_per_fragment', that gives an overview of memory used per fragment replica, including fixed-element-size pages, var-element-size pages, rows, fixed-element-free-slots, var-element-free-bytes, hash index memory usage etc.
    
          In addition, the ndbinfo.ndb$pools has been extended with new rows for L2PMap memory usage.
    
          Finally, there are MTR regression test cases for the new functionality.

commit cc6bc67b54794cb063a49382635337d82201f690
Merge: b9e689d 6409c35
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Tue Jul 29 16:13:19 2014 -0700

    merge 7.3 -> 7.4 clusterj

commit 6409c359a8a59c228b1dd31438ce32207d936a27
Merge: 3839d96 f19934b
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Tue Jul 29 16:07:33 2014 -0700

    merge 7.2 -> 7.3 clusterj

commit f19934bea5b2517337ad99c270b65777cf015a59
Merge: d7496da 2257896
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Tue Jul 29 15:44:16 2014 -0700

    merge 7.1 -> 7.2

commit 22578967199ca86aacdd54429055b5cf9d4b6e0c
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Tue Jul 29 15:28:45 2014 -0700

    Bug 19028487 NPE when scanning rows with blob or text columns
    
    BLOB/TEXT columns were not properly handled when scanning tables via
    query.
    
    AbstractClusterJTest:
      add compareBytes method to compare two byte arrays
    
    AbstractQueryTest:
      make resultList protected and available to subclasses after the query
    
    FindByPrimaryKeyTest:
      add test for row not found
    
    QueryBlobIndexScanTest:
      new test case queries table with a blob column
      scan using filter
        update a row with a blob column
        delete a row with a blob column
    
    QueryTextIndexScanTest:
      new test case queries table with a text column
      scan using filter
        update a row with a text column
        delete a row with a text column
    
    ClusterTransactionImpl:
      change the autocommit flush abort option to false
      this allows autocommit find of rows with blob columns to fail the operation
        but not fail the transaction on row not found
        (which will result in returning null to the application instead of
        throwing an exception)
    
    NdbRecordBlobImpl:
      create a new constructor for use with scans
      the new NdbRecordBlobImpl gets a new NdbRecordOperationImpl
        but retains the original data and storeColumn info
      if the NdbRecordBlobImpl is used in a subsequent operation
        the new operation replaces the original operation
        this allows the NdbRecordBlobImpl to be used with several operations
          in sequence (e.g. find, update, delete; or scan, update)
    
    NdbRecordIndexScanOperationImpl:
      once the operation is completely defined, activate the blob/text columns
    
    NdbRecordKeyOperationImpl:
      load blob values after the row is retrieved
    
    NdbRecordOperationImpl:
      change the constructor used with SmartValueHandler to copy the blob
        data so it can be updated in a subsequent operation
      for update operations, calculate which blob/text columns have been updated
        so the blobs can be activated for update
      add method isColumnSet to determine whether a column is in the mask
    
    NdbRecordScanResultDataImpl:
      during scans, read-only operations might have been upgraded to read lock
        if a blob/text column is present
      if scanning with blob/text, only upgrade the lock if actually scanning
        with read or write lock; otherwise skip the upgrade to avoid NPE later
      if scanning with blob/text, fetch the blob/text values during the scan
    
    NdbRecordSmartValueHandlerImpl:
      if updating a blob/text field, set the mask for the field
    
    NdbRecordUniqueKeyOperationImpl:
      when reading row with blob/text columns, load the blob values
        after the row is read

commit b9e689d5db065ba3dda5c48d7cd0ee0ef86be0c1
Merge: 3471520 3839d96
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jul 28 15:22:06 2014 +0200

    Merge 7.3 -> 7.4

commit 3839d9667eab9af150e3a32e7311f87c884c5817
Merge: 337138e d7496da
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jul 28 15:19:50 2014 +0200

    Merge 7.2 -> 7.3

commit d7496da9477acb25863a4369be1a340017765bb9
Merge: 6a490aa 4da2715
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jul 28 15:17:54 2014 +0200

    Merge 7.1 -> 7.2

commit 4da2715bf58356bbb28851e6715d3f9838007885
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jul 28 15:12:14 2014 +0200

    More fixes for bug#19053226
    
    Fix and reintroduce runBankSum (validator) which was disabled
    as it probably never worked.

commit 0ac0646ab555f182f6353af72799b52e9f8b078b
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jul 28 15:09:14 2014 +0200

    Fixes for bug#19053226
    
    Improve handling of 'TemporaryError' vs. permanent errors.

commit 4ce7e7494957ab7e6ac75cbb4a2f6ea81639ce56
Author: Ole John Aske <ole.john.aske@oracle.com>
Date:   Mon Jul 28 15:02:25 2014 +0200

    More fixes for bug#19053226
    
    Fix a race condition in counting of active NMR_SR_THREAD_foo where we missed
    the fact that all threads actually are stopped, and continued waiting
    forever (until tomeout)
    
    Also cleanup error handling code such that the the same
    pattern is used in all runFoo functions, and added some
    more ndbouts related to progress during cluster restart.

commit 34715200486682e97278067bfd2cc70615daf2b1
Merge: 15d5970 337138e
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Jul 25 16:41:34 2014 +0200

    Merge 7.3 -> 7.4

commit 337138e183e9af1aaf9f9b5ffca5e9e4cfcf3af8
Merge: 628b6a7 6a490aa
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Jul 25 16:18:07 2014 +0200

    Merge 7.2 -> 7.3

commit 6a490aa4e33d7aacc020cf68c3a9320fa9ada29c
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Fri Jul 25 16:16:36 2014 +0200

    bug#18410939 - MEMORY LEAK AT EVENT BUFFER ALLOCATING A DUMMY EVENT LIST WHEN INCONSISTENCY

commit 15d5970753f9327f4d0a05a0b5bd10198d61eaa4
Merge: bd8ff10 628b6a7
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jul 24 11:37:21 2014 +0100

    Merge 7.3->7.4

commit 628b6a77e7228d26eac318e93a10520152be934f
Merge: d37f697 6164ae0
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jul 24 11:33:40 2014 +0100

    Merge 7.2->7.3

commit 6164ae0c28d8823682871affba7fec618d87ebad
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Thu Jul 24 10:23:27 2014 +0100

    Bug #17184024 	ERROR 4 IN LIBNDBCLIENT.SO.6.0.0 (3-7474573041)
    
    Push extra robustness code to Ndb object deletion :
      - Null some internal pointers when deleting
      - Add a check for NULL which may give a more useful warning
        in some cases
    
    Code to be pushed at customer request.

commit bd8ff10f8ab648f24654d9a9ab63a6fc256ee789
Merge: 8c06366 d37f697
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed Jul 23 20:58:40 2014 +0300

    merge

commit d37f697ed4ba489aa44a522994d99bb269b8ca78
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed Jul 23 20:51:31 2014 +0300

    bug#19122346 fix3.diff
    FK use full name PP/CC/name + debug

commit 43e6999b841f501274d249209e7da58a1da1368c
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed Jul 23 20:50:53 2014 +0300

    bug#19122346 fix2.diff
    fix test error from 7.3 r4203 FK_Bug18069680

commit a21f976d750d2f1553555d3c13e194565f833765
Author: Pekka Nousiainen <pekka.nousiainen@oracle.com>
Date:   Wed Jul 23 20:49:59 2014 +0300

    bug#19122346 fix1.diff
    FK use full name PP/CC/name

commit 8c063665f0709908cf8923d75bd747e0cb3c5d94
Merge: 41a8631 f07c386
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 16 18:53:27 2014 +0200

    merge 7.3 -> 7.4

commit f07c386c3f161630aadffa3200ff819bcf5f0b47
Merge: 7312a17 8c8d0f8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 16 18:34:12 2014 +0200

    merge 7.2 -> 7.3

commit 8c8d0f871b01a5d97d9fd423aa2907a2bdedd5be
Merge: f3cfa89 b4339b8
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 16 18:32:40 2014 +0200

    merge 7.1 -> 7.2

commit f3cfa89ba3afe452fa7fad660dbfaacca9765363
Merge: 8e6fdcc 743a7b5
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 16 18:29:56 2014 +0200

    null merge 7.1.32

commit b4339b86dd4830dcdf4845b7ed7b6de087ea82b2
Merge: 743a7b5 6924a5d
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 16 18:03:38 2014 +0200

    Patches for Bug #18731008    NDB : AVOID MAPPING EMPTY PAGES DUE TO DELETES DURING NR
    and Bug #18683398    MEMORY LEAK DURING ROLLING RESTART

commit 6924a5d27f49e76402801214eadd36894a379e68
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 16 18:01:49 2014 +0200

    ndb - RSS-DynArr256
    
    This patch adds RSS check support for DynArr256

commit 2d35538809bc39cee5fc6d4c6e57be867b1e807c
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 16 18:01:03 2014 +0200

    A new ndbapi test case: testNodeRestart -n DeleteRestart.
    
    Bug #18731008    NDB : AVOID MAPPING EMPTY PAGES DUE TO DELETES DURING NR
    Bug #18683398    MEMORY LEAK DURING ROLLING RESTART
    
    Check that create big table and delete rows followed by node
    restart does not leak memory.

commit 10d4f2f359842d234480cce1de91f41d23b85c56
Author: Mauritz Sundell <mauritz.sundell@oracle.com>
Date:   Wed Jul 16 17:59:50 2014 +0200

    Bug #18731008    NDB : AVOID MAPPING EMPTY PAGES DUE TO DELETES DURING NR
    Bug #18683398    MEMORY LEAK DURING ROLLING RESTART
    
    This patch replaces calls to allocFragPage with a call to
    getRealpidCheck in the functions nr_read_pk and nr_update_gci in
    Dbtup only used by Dblqh to find rowid to delete.
    
    Else access to already deleted row could allocate a new page
    during startup of restarted node.

commit 743a7b52d77c2598b9c831ff0da3a008b860c4da
Merge: 823ce6f 6b4f68c
Author: hery.ramilison@oracle.com <>
Date:   Wed Jul 16 11:30:43 2014 +0200

    Merge from mysql-cluster-7.1.32-release

commit 41a8631def0b8834fc6e02729fd9ead609a46caf
Merge: d0649fe 7312a17
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jul 14 16:39:16 2014 +0100

    Merge 7.3->7.4

commit 7312a17f3717a3c3cc5dc11b31598c6f8a8475f1
Merge: 500f46b 8e6fdcc
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jul 14 16:22:30 2014 +0100

    Merge 7.2->7.3

commit 8e6fdccd61de4cad071ec5d666a32deb7824bcfb
Author: Frazer Clement <frazer.clement@oracle.com>
Date:   Mon Jul 14 15:42:00 2014 +0100

    Bug #19193927 	TC TAKEOVER TAKES TOO LONG CAUSING MANY PROBLEMS
    
    The fix for (18069334 POOR MULTI-TC-INSTANCE + MULTI NODE FAILURE HANDLING LEADS TO CLUSTER CRASH)
    introduced a new bug where the number of TC instances in the failed
    node is set to an excessively high value.  This results in many rounds
    of the TC failover protocol running, which takes a long time, and
    impacts on the processing of other node failures, and GCP handling with
    various side-effects.
    
    This patch fixes the problem.

commit d0649fe98a2634ece99807897d7105641e82bea1
Merge: e9bd285 500f46b
Author: Sowmya Dass <sowmya.dass@oracle.com>
Date:   Sat Jul 12 20:45:12 2014 +0200

    Null merging the changes related to 7.3.6 release

commit 500f46bf189a6f9872c0ac5175c5489e1985f6ed
Merge: 99190f0 2c32bb3
Author: sowmya.dass@oracle.com <>
Date:   Sat Jul 12 20:05:34 2014 +0200

    Merge from mysql-cluster-7.3.6-release

commit e9bd285cd1dc33984cc372eb234806604e591cec
Merge: f16ab61 99190f0
Author: magnus.blaudd@oracle.com <>
Date:   Fri Jul 11 19:50:31 2014 +0200

    Merge 7.3 -> 7.4

commit 99190f0d3af0d35805283bacdc004d55f7ddafd4
Merge: e382d1c b441283
Author: magnus.blaudd@oracle.com <>
Date:   Fri Jul 11 19:50:06 2014 +0200

    Merge 7.2 -> 7.3

commit b44128389022134f0c778bbf18285cccb0192c35
Merge: 6444e53 823ce6f
Author: magnus.blaudd@oracle.com <>
Date:   Fri Jul 11 19:49:29 2014 +0200

    Merge 7.1 -> 7.2

commit 823ce6f2c73949f9ac7baeb48a9d20c0de683f89
Author: magnus.blaudd@oracle.com <>
Date:   Fri Jul 11 19:45:53 2014 +0200

    ndb
    
     - fix syntax error in patch telling jvm where to put tmpdir

commit f16ab61051e42da3dc8897b11cae49a2e0d1b43e
Merge: 4d7e369 e382d1c
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jul 11 10:25:21 2014 -0700

    merge 7.3 -> 7.4

commit e382d1c22bb0efdddb1bd3d0c7b0f81ebe3abf77
Merge: c7ca7b2 f2a7729
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jul 11 10:22:17 2014 -0700

    merge nodejs-adapter to 7.3

commit 4d7e369f011409e46eeb2d01003037b7efd809a3
Merge: 8626566 c7ca7b2
Author: magnus.blaudd@oracle.com <>
Date:   Fri Jul 11 18:42:04 2014 +0200

    Merge 7.3 -> 7.4

commit c7ca7b22e7f4f4e35dcb0be2abdb46dd04c54dcd
Merge: edb22b9d 6444e53
Author: magnus.blaudd@oracle.com <>
Date:   Fri Jul 11 18:41:41 2014 +0200

    Merge 7.2 -> 7.3

commit 6444e53950fd6a099532637cac6a59615f972d0d
Merge: 9bb5744 b84a35c
Author: magnus.blaudd@oracle.com <>
Date:   Fri Jul 11 18:41:03 2014 +0200

    Merge 7.1 -> 7.2

commit b84a35c03f9315c5261b60a7e96c90c70622e5ad
Author: magnus.blaudd@oracle.com <>
Date:   Fri Jul 11 18:39:06 2014 +0200

    Bug#19193756 MTR GENERATES TOO LONG SOCKET PATHS
    
     - the socket path generated by ConfigFactory.pm was sometimes longer
       then the max tested socket path.
     - fix by generating a shorter path based on the generated port number, which
       is unique i.e mysqld-<port>.sock

commit 8626566e60372040934fd391e062e2cf6da5e239
Merge: 87e3d01 edb22b9d
Author: Sreedhar S <sreedhar.sreedhargadda@oracle.com>
Date:   Fri Jul 11 15:41:50 2014 +0200

    Null merge of the 7.2.17 build

commit edb22b9d95781e7e5be9e628be4950f378b72336
Merge: 11f5aa4 9bb5744
Author: Sreedhar S <sreedhar.sreedhargadda@oracle.com>
Date:   Fri Jul 11 15:34:39 2014 +0200

    Null merge of the 7.2.17 build

commit 9bb57441d19e04578848145fcc6ac32ec50e0b01
Author:  <>
Date:   Fri Jul 11 15:17:35 2014 +0200

    Merge from mysql-cluster-7.2.17-release

commit 87e3d01486011ccff6cc5e147106c821a8d88074
Merge: eb13bbf 11f5aa4
Author: magnus.blaudd@oracle.com <>
Date:   Thu Jul 10 10:38:46 2014 +0200

    Merge 7.3 -> 7.4

commit 11f5aa4d03f3e25bcfef9ecb5b1d1b25a3ebab05
Merge: 6d14cc6 cba82a2
Author: magnus.blaudd@oracle.com <>
Date:   Thu Jul 10 10:38:21 2014 +0200

    Merge 7.2 -> 7.3

commit cba82a28d2c7e1fbf703f06591e7dc1622a0c8ac
Merge: f89283f 00482cb
Author: magnus.blaudd@oracle.com <>
Date:   Thu Jul 10 10:37:46 2014 +0200

    Merge 7.1 -> 7.2

commit eb13bbfa1c7cbac8aac5f98180fed05fa01d8024
Merge: 1ec3cf7 6d14cc6
Author: magnus.blaudd@oracle.com <>
Date:   Thu Jul 10 10:35:03 2014 +0200

    Merge 7.3 -> 7.4

commit 6d14cc6b8b64fae65892b00104b2404ff0b87894
Merge: 5256a3d 386dc49
Author: magnus.blaudd@oracle.com <>
Date:   Thu Jul 10 10:34:07 2014 +0200

    Merge

commit 00482cb416f02915e434cb1a5b680b143543e626
Author: magnus.blaudd@oracle.com <>
Date:   Thu Jul 10 10:28:02 2014 +0200

    ndb
    
     - failure running the clusterj tests with debug compiled which runs an additional
       run a test of DBUG. The default temp directory used by jvm was not writable and thus
      the test failed.
    - fix by pointing the jvm to a tmpdir in the vardir created by mtr.pl

commit 1ec3cf797573a555a7a01d2d8a8a462b8da55111
Merge: 00364f2 f2a7729
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jul 9 17:17:25 2014 -0700

    merge from nodejs-adapter

commit f2a772925883ac615b8ca398686d3165e2e6f3a8
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jul 9 16:53:45 2014 -0700

    use primitive types

commit 00364f20bffe1868076fec653cda656249946c27
Merge: baabe7e f815fcb
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jul 9 10:55:49 2014 -0700

    merge from nodejs-adapter

commit f815fcbdcdc36a879960d8833872a4a37ba6b866
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jul 9 10:11:44 2014 -0700

    Include stdlib.h for malloc() and free()

commit b2d44a6d4d0e27988494ef6c7d9a0048c5c70eb6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jul 9 09:02:51 2014 -0700

    Compiler issues on some Windows platforms

commit baabe7e92832569c7a7f5bdd4f4d25748f87d5b2
Merge: 068d486 5256a3d
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Jul 9 14:45:09 2014 +0200

    Merge from 7.3

commit 5256a3daeacb9875ab21a0515af1e14b2177bf54
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Wed Jul 9 14:42:47 2014 +0200

    Add debug to trace bug#18411034 - CRASH IN NDB-SHARE

commit 068d4866c2bff6a9a2dcc559f5f31091a6ee657d
Merge: 3b0dea0 bbef24d
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Jul 8 15:27:07 2014 +0530

    Merge 7.3 -> 7.4

commit bbef24d11d2c2c6d741158ab0170732c0e1240c5
Merge: b07e561 f89283f
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Jul 8 15:23:52 2014 +0530

    Merge 7.2 -> 7.3

commit f89283f550bc4e00979ff586e01733a80f91eb0a
Merge: a6b4d9d b2381d3
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Jul 8 15:20:02 2014 +0530

    Merge 7.1 -> 7.2

commit b2381d3467e5f8f149cef2b7ee32da285863a966
Author: Lakshmi Narayanan Sreethar <lakshmi.narayanan.sreethar@oracle.com>
Date:   Tue Jul 8 15:10:35 2014 +0530

    Updated the list of tables to be deleted after running ndb clusterj tests
    Added new test and the model to build specification

commit 3b0dea0082fb542dc3f983ca49e1dbf1a82f4ac8
Merge: 32475e1 b07e561
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jul 7 09:54:32 2014 -0700

    Empty merge from 7.3 to 7.4

commit 32475e13855080faf88b35ac42ce9db5a80452df
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jul 7 09:35:47 2014 -0700

    Merge latest nodejs-adapter from 7.3 to 7.4

commit b07e56106b8c7ec51672ffc2651d0f3f39062584
Merge: 9968c0a fb0b198
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jul 7 09:32:39 2014 -0700

    Merge latest nodejs-adapter into 7.3

commit 2c32bb33c08103acc56246923dd397e2d1ed420e
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Wed Jul 2 10:31:03 2014 +0200

    Unconditionally disable dtrace for rpm, barfs on Oracle dtrace

commit 386dc49656b47de577cc0c2e10bc78956d75be45
Author: magnus.blaudd@oracle.com <>
Date:   Tue Jul 1 15:27:26 2014 +0200

    Remove superfluous -master.opt file for the removed test case ndb_mt_recv.

commit 1e0e6399f6f02f61b0245333f28bc1a3f01ac853
Author: Bjorn Munch <bjorn.munch@oracle.com>
Date:   Tue Jul 1 15:10:10 2014 +0200

    Unconditionally disable dtrace for rpm-oel, barfs on Oracle dtrace

commit 6b4f68c333a21c7ee8365bcd58f566c41036d33b
Author: Hery Ramilison <hery.ramilison@oracle.com>
Date:   Mon Jun 30 14:35:37 2014 +0200

    correcting copyright headers

commit fb0b1984b3aeb0a69409fa0235715405502f0beb
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Jun 23 20:46:31 2014 -0700

    Fix issues with Read/Modify/Update of NDB VO objects containing blobs.

commit 25e79ef07dc472adddeddb8063ce8426adad9a97
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 18 17:12:06 2014 -0700

    All NDB read results (including those containing BLOB and TEXT columns)
    are now ValueObjects.

commit e6a4a0e63f080f58445ca1bb337cf7944ccc7946
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 18 16:17:31 2014 -0700

    Fix bug of using Persistent<T>(x) rather than Persistent<T>::New(x)

commit d2152cf7d52bbfc05e2a84cf6b0d63d89555a6a8
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 18 15:39:10 2014 -0700

    work on support for NdbRecord-backed ValueObjects which contain
    TEXT or BLOB columns.

commit afe6882700d79d7024a292f99438a21b62d4f00d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 18 15:38:29 2014 -0700

    More TEXT tests for NDB

commit 0fe1e6841ecc9a34d15a7ad37e174bc718d25441
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 18 14:48:11 2014 -0700

    less debugging output at end of test run

commit e799bf84ee0378e34e5853b691f7b71de5977b94
Merge: 9255e51 1c13ed4
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 18 09:15:28 2014 -0700

    merge

commit 1c13ed4948655eaa783351559abeb2952c119443
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Tue Jun 17 17:19:02 2014 -0700

    Fix composition value checking

commit 9255e51ff593fdfd5734609762222bb74e433be5
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sun Jun 15 22:40:08 2014 -0700

    Implement bufferForText and textFromBuffer in C++.

commit 1c6da8237845c9e6e62575ba24e3443e3d1a2312
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sun Jun 15 09:43:22 2014 -0700

    rawNdbDefaultvalue does not require a full-fledged Node Buffer

commit c6a5a8260aad0d998d4ff55af2ed09caefc3a8c7
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 13 21:04:55 2014 -0700

    let compiler supply default destructors

commit d7cc92e05fce97adf2e042cd64538f23b29aa9d5
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 13 20:58:27 2014 -0700

    Another attempt to fix crashing bug in BlobHandler

commit b1f62101d53e7d1047c723d320896b011dcf538b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 13 17:32:11 2014 -0700

    Expose the string encoder statistics in NdbTypeEncoder.cpp to JavaScript.

commit e2b800e391e379615a7a03be50ab81213ae2d4c2
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 13 11:31:43 2014 -0700

    Move v8 calls from worker thread to main JS thread

commit fce80c10ed59535a991f46aca1544b5e7437b296
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 11 17:30:30 2014 -0700

    Support TEXT columns with character set UTF-8 or ASCII.
    Other charsets (which require recoding) are not yet supported.

commit 2b25b17f657142fefd4a526fa6ef6cb5985ab392
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 11 17:27:29 2014 -0700

    A test file that does not export a test case now causes a warning
    rather than an error.  This should make it a little easier to develop
    new tests.

commit 41247d5365481681fc4de7395aae92e9ffc98401
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 11 17:26:08 2014 -0700

    Column Metadata API provides charsetName rather than charsetNumber

commit c6f7a22515c55250b5e050570f27b1e3ee4ddc64
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 11 17:23:04 2014 -0700

    Fix apparent bug in calculating size requirement of UTF-8 buffer

commit e9c17869f8b5d250ef4b16679a7a643d2101942c
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 11 09:48:59 2014 -0700

    Restore compatibility with node-mysql 2.0.0

commit 72cf1c8644cd42f1b4f164ea4544a682b6d345c1
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 10 15:24:21 2014 -0700

    Fix crash on stub commit / stub rollback

commit 55407569dab52a02aa0053bc6a1b7aa3f1fb830f
Merge: 94e2bfa 9b470b0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 10 14:20:21 2014 -0700

    merge

commit 9b470b0b66b3155a140bbe787a72ea0ede074f83
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 10 14:19:34 2014 -0700

    update cmake & gyp build lists

commit b9a66974e859bc6408b1560d317f102eaad653cf
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Jun 10 14:12:24 2014 -0700

    Finish read & write BLOB implementation for NDB adapter

commit 94e2bfa73df7860b9fecc643576245b930e49cb2
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sun Jun 8 14:01:55 2014 -0700

    Implement connection pooling for mysql adapter
    
    SPI differences with connection pooling:
    
    No pooling:
    var connection = mysql.createConnection(properties);
    connection.connect(callback);
    connection.query(query);
    ...
    connection.end(callback);
    
    Pooling:
    var pool = mysql.createPool(properties);
    pool.getConnection(callback(err, connection);
    connection.query(query);
    …
    connection.release(); // no callback
    
    API differences with connection pooling:
    
    Connection pooling is specified using the connection properties
      mysql_pool_size: default 10 specifies the maximum number of pooled connections
      mysql_pool_queue_size: default unlimited specifies the maximum number of
        connection requests that can be queued waiting for a connection
    
    impl/mysql/mysql_service_provider.js:
      add default connection pool size of 10
    
    mysql/MySQLConnection.js:
      reuse the TransactionHandler to keep track of autocommit
    
    mysql/MySQLConnectionPool.js:
      adapt user-visible mysql_pool_size to felix driver connectionLimit
      adapt user-visible mysql_pool_queue_size to felix driver queueLimit
      modify getConnection and releaseConnection to use felix protocol if pooling
      remove early stub connection pooling in MySQLConnectionPool
    
    test/api/PromisesTest.js:
      add rollback to tests to avoid leaving open transaction after test
    
    test/lib/harness.js:
      flag tests that leave an open transaction after test
    
    test/t_basic/TransactionTest.js:
      add rollback to tests to avoid leaving open transaction after test

commit 29f7da43ad5a76d3dd76db14227f6bf0887a292c
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Jun 6 17:55:04 2014 -0700

    Fix tests that do not close session after running test

commit 7f2e1e1714c986a816d8bf6d407ba98debb66a21
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Jun 6 15:28:06 2014 -0700

    Improve error reporting for connecting to database
    
    api/UserContext.js:
      report errors from DBConnectionPool.getDBSession
      improve error handling when getting multiple SessionFactory objects
        for the same DBConnectionPool

commit 717880f9976a47a2d4f254bfd20464c3d66fc08e
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Jun 6 15:26:51 2014 -0700

    Add suggestion to user to maximize performance of updates
    
    API-documentation/Session:
      * To efficiently perform read/modify/write, the user should find the object,
      * modify the fields to be updated, set the fields *not* to be updated
      * to undefined, and call session.update on the object.

commit 4fda32eefe64f408f11c1837039083366fbe08ef
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Jun 6 15:25:25 2014 -0700

    Improve spi test error reporting
    
    test/spi/SmokeTest.js:
      improve readability of test failure message

commit 6fed0ed4aae8deadc9a7ba9d99e1412bf6a89e1b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 6 12:33:08 2014 -0700

    Succesful insert into BLOB column

commit b65232f5ec17f3106db175a1ddc79558a78bdd32
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 6 09:32:04 2014 -0700

    Add BLOB column to stringtypes test suite & confirm that existing tests
    pass with a mapped (but unused) BLOB field.

commit ef61c831cf11fe2af34458caa9f9954987bd2681
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Jun 6 09:29:19 2014 -0700

    Test that storing a non-BLOB in a BINARY column gives error SQLState 22000

commit ef079b3115af585a50f8bfff3ed31a374116dfcd
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 4 18:48:41 2014 -0700

    Use Error SQLState 0F001 "Bad BLOB" (actually a "Locator Exception")
    if value intended for a BLOB column is not a Buffer.

commit 2690a5e5a435c4f9397d3ee8e4dbc895926a868e
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Jun 4 16:19:14 2014 -0700

    Initial implementation work on BLOB support for NDB adapter.
    
    A BLOB is represented as a Node Buffer, and the underlying calls
    to read and write the BLOB content directly access the underlying
    buffer.

commit d80c02b39ad871b6c5b907eb8ca0297bbe320a5c
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Wed Jun 4 13:54:33 2014 -0700

    Refactor connection handling to prepare for connection pooling
    
    mysql/MySQLConnection.js:
      delegate close to MySQLConnectionPool
    
    mysql/MySQLConnectionPool.js:
      add getConnection to create a new connection
      add releaseConnection to end a connection
      implement dbSession.close to release the connection
      re-implement getTableMetadata to use getConnection and releaseConnection
      re-implement listTables to use getConnection and releaseConnection

commit 18abee8237ab46a62b8310fc0bf88559eb98654c
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Tue Jun 3 14:41:27 2014 -0700

    WL#7626 Implement many-to-many relationships for Document Composition
    
    This change implements many-to-many relationships via join tables. The user
    maps a many-to-many relationship to a join table which must contain (at least)
    two foreign keys, each of which defines the relationship from columns on the
    join table to corresponding columns in one of the related tables.
    
    As part of this change, error handling is improved for mapping errors.
    
    API-documentation/TableMapping:
      Add error field to TableMapping, which stores errors detected both during
        mapping definition as well as errors detected dynamically when the mapping
        is used.
    
    API-documentation/Projection:
      Add error field to Projection, which stores errors detected when using the
        projection.
    
    api/Projection.js:
      Use the error field to collect errors. Eschew throwing errors.
    
    api/TableMapping.js:
      Use the error field to collect errors. Require the constructor to have a
        table parameter of the form [database.]table.
    
    api/UserContext.js:
      Update createSector to create all sectors for all projections. If a projection
        includes a relationship, create the sectors for the top-most projection,
        and then create the sectors for the next projection. Repeat until all
        nested projections have had their sectors created.
      Handle join tables in createSector and validateProjection. Require that
        many-to-many relationships have either targetField or joinTable in the
        mapping.
    
    impl/mysql/MySQLConnection.js:
      Add support for join tables. For join table sql generation, define a join table
        alias and generate the sql, e.g.
         ... t1 LEFT OUTER JOIN customerdiscount AS t15 on [t1.k = t15.k and...]
      Add the sql statement and keys to the error information to better track
        sql generation errors
    
    test/api/FieldMappingErrorTest.js:
      Add field mapping tests
      t1 mapField with no parameters
      t2 mapField with empty string
      t3 mapField with numeric field name
      t4 mapField with numeric parameter
      t5 mapOneToOne with empty string
      t6 mapOneToOne with missing field name
      t7 mapOneToOne with missing targetField
      t8 mapOneToOne with missing target
    
    test/api/TableMappingErrorTest.js:
      Add table mapping error tests
      t1 missing table in TableMapping constructor using literal
      t2 TableMapping constructor with bad table 'a.b.c'
      t3 non-string in TableMapping constructor
      t4 no parameter in TableMapping constructor
      t5 TableMapping constructor with bad table 'a b'
      t6 applyToClass with a non-domain object (constructor)
    
    test/composition/ProjectionErrorTest.js:
      Add projection error tests
      t7 many-to-many relationship with a bad join table name
      t8 many-to-many relationship with no join table
      t9 many-to-many relationship is not mapped
      t10 many-to-many relationship neither side defines joinTable
      t11 one-to-one relationship neither side defined foreignKey
    
    test/composition/ProjectionTest.js:
      Add tests for many-to-many relationships
      t6 many to many with join table defined on this side
      t7 many to many with join table defined on the other side
      t8 many to many with no results
    
    test/composition/create.sql:
      Add row to customerdiscount for test
    
    test/composition/lib.js:
      Add relationship to Discount to allow mapping either Customer-Discount
        or Discount-Customer
      Improve error reporting for null values

commit ed5b9c145329b7e3b6e49fe88914d056a15c7dfc
Merge: 77abe50 400c1c8
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 29 16:26:51 2014 -0700

    merge

commit 400c1c8d5d5320d32a7a7e23c51c216ceefbadce
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 29 16:21:09 2014 -0700

    Don't try immediate startTransaction() unless using async api.

commit 1227646488c10d94e57f58beb3550ca15c7d6d2b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 29 15:38:28 2014 -0700

    Keep a single usedOperationSets array rather than one per DBSession.
    The array is at file scope in NdbTransactionHandler.
    It does not grow past 4000 elements (a literal constant).
    Underlying DBOperationSet native objects are freed when the wrapper is
    placed in the recycler array.

commit 77abe509eb8d8c758ae40875f07a9dc3dd9d1f40
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 29 08:10:48 2014 -0700

    Disable mysql tests for now

commit 2e37f41896c1a3e9a74b4f7303afbf1198cfbd97
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 28 18:38:47 2014 -0700

    Attempt to recycle DBOperationSet wrappers

commit 60eb306d8c77dad3803adb720a100b211c06cfc6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 28 18:14:28 2014 -0700

    wrapPointerInObject and unwrapPointer take a v8::Handle<T> rather than a v8::Local<T>

commit 9b219a41b60b3b3e8a94d4d7cd92a7e7c1bca74e
Merge: 854ad45 1f5be87
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri May 23 08:51:47 2014 -0700

    merge

commit 854ad458acbb503ec9a04175e58ae47bb374072d
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Wed May 21 15:02:29 2014 -0700

    Improve error reporting for relationships that are null or undefined

commit 1f5be870e1a54a0f67111ec6dba96cbb5c126bff
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 21 11:31:24 2014 -0700

    Test a slightly different approach to V8 wrapping

commit 03ad05e97b72389eca84e90b6bd335f62fcd6ca2
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 21 09:44:56 2014 -0700

    Minor refactoring in NdbOperation

commit df37b49c477d9af8076c1bf5640161c855010248
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 20 22:49:36 2014 -0700

    Remove the use of "proto" in DBTableHandler

commit b0b21f8ac6008aff002e9447341608d2f8a9ef0e
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 20 22:34:31 2014 -0700

    Refactor DBTableHandler.getFields() into a simple case getFields()
    and a separate more complex getFieldsWithListener().
    Removed the resolveDefaults option which was always set to false.

commit 6c54517f32de22e3d2880adef0a3780d30cb224f
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Tue May 20 18:13:20 2014 -0700

    Improve error reporting for ProjectionTest
    
    composition/lib.js:
    Improve reporting for object comparisons where the actual object is null or undefined.
    Check for null or undefined before trying to access fields of the actual object.

commit cea690c4a840bbe06329c68c9ae59bc2861728ca
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Tue May 20 17:22:46 2014 -0700

    Improve error reporting for ProjectionTest
    
    ProjectionTest.js:
    Add a final then to catch errors thrown by the verification function inside the
    previous then block. If an error is thrown, call testCase.fail with the error
    which can be analyzed using the --trace feature of harness.

commit 98e10fff2716df3de548ebd232b25a9ccf801186
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Tue May 20 17:21:39 2014 -0700

    Improve error reporting for test failures
    
    test/lib/harness.js:
    change the handling of the testCase.fail(message) function.
    if the message is actually an Error with a stack trace, save the stack.
    if the --trace flag is set, and fail is called with an Error then print the stack.

commit c1333d5eeae35bc16578c6d62f3a2dd2b9435dc9
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 20 14:34:48 2014 -0700

    Compiler error

commit 7954d3c0c1b3946742577498f028d1f6583b34d3
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 20 14:27:59 2014 -0700

    Stub out NdbSession.buildReadProjectionOperation in hopes that test suite will run.

commit 5909a73300a941c705b6ce5148e30797383b802f
Merge: 5960971 70f3ace
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 20 13:31:43 2014 -0700

    merge

commit 5960971e467ea9fce935b1559ac0d0a87fd85857
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Tue May 20 10:35:10 2014 -0700

    WL#7626 Composition
    Implement support for one-one, one-many, and many-many relationships.
    Replace useProjection with implementation for find (projection, key).
    
    Projection.js:
    constructor visible via mynode.Projection
    addField (alias addFields), addRelationship specify what to retrieve
    
    TableMapping.js:
    Improve definition of Relationship to tell via flags if a relationship
    is one-one, one-many, many-one, or many-many
    
    UserContext.js:
    Add projection handling: validateProjection retrieves all table mappings
    for the projected domain object and all nested domain objects;
    createSector creates a helper object for each domain object.
    The object model is validated before returning to the caller.
    Add findWithProjection method to implement find(projection, key).
    After validation, the heavy lifting is done by dbSession.
    Modify find to look for a projection in addition to table name or domain object.
    
    mynode.js:
    make Projection visible as a constructor.
    
    DBSession:
    add buildReadProjectionOperation based on buildReadOperation taking an additional
    argument: the projection.
    
    DBTableHandler.js:
    Add foreignKeyMap to provide better support for foreign keys.
    Add newResultObjectFromRow to build a domain object from the values
    from a row read from the database
    
    MySQLConnection.js:
    Implement buildReadProjectionOperation to build a read operation that will
    populate the entire composed domain object using a single query with joins.
    
    ProjectionErrorTest.js:
    Test several common error conditions:
     * t1 projection field that does not exist in the mapping
     * t2 relationship field that does not exist in the mapping
     * t3 projected field that is a relationship in the mapping
     * t4 projected relationship field that is a non-relationship field in the mapping
     * t5 relationship field that would cause a recursion
     * t6 projection domain object that is not mapped
    
    ProjectionTest.js:
    Test several normal cases:
    projection involving four table join with one-one, one-many, and many-one relationships
    projection with null one-one relationship
    projection with empty one-many relationship
    modify a projection to add a field
    modify a nested projection
    modify a projection to add a relationship
    
    composition/lib.js:
    Verify projections containing relationships including empty relationships

commit 70f3ace786ed295ef3d95cb165a5237e31d55edd
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 15 15:36:37 2014 -0700

    Rather than having a JavaScript wrapper for Record::setNotNull(),
    implicitly call setNotNull() when writing a data value in
    encoderWrite().

commit 73caf334d0186c280640cc92d1d24ffef17e1405
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 15 13:35:00 2014 -0700

    Don't use a startTransaction() hint for unique key operations.

commit ff94d91dfdbbaa463cf19b1153fdee7aa44fef62
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 15 12:36:28 2014 -0700

    In JsValueConverter for pointer types, if the JavaScript value is
    Null, represent it as a null pointer.

commit 03c7382ce457ca0b3bc4885d23dca737f4d5da03
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 15 12:24:18 2014 -0700

    Remove what little was left of NdbTransaction_wrapper.cpp

commit 8a153cfab74e7f1b8c4fc2e01130c50eb558a9a0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 15 12:14:04 2014 -0700

    move ENABLE_WRAPPER_TYPE_CHECKS define into adapter_global.h

commit d5d9622b6a6465ddedf96ed3cf24817fbbc6be84
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 15 12:13:40 2014 -0700

    portability fix

commit 2793b9f1ec853afab3f22a40b043a92fa9fb4fbd
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 15 12:12:50 2014 -0700

    Update source file lists for gyp & CMake

commit 27921d4578c256416e0b148502eb929c2879fec9
Author: Maitrayi Sabaratnam <maitrayi.sabaratnam@oracle.com>
Date:   Thu May 15 13:14:11 2014 +0200

    Add option free-percent

commit 3fbf9b2b87407515b5decee67ca4e90ae2a62f08
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 14 15:43:23 2014 -0700

    New design for scans.
    This removes the previous wrapper for NdbScanOperation and ScanImpl.cpp
    file and consolidates all scan functions into ScanOperation.
    Expected: start 416 tests, pass 413, fail 2, skip 1.

commit cba06ca8d1884e877c18d72ee7c1b62da206ce9d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 14 15:19:30 2014 -0700

    fix wrappers for boolean types

commit 67c14af314f219787e7d3e638c55d9c6200aa66a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 14 15:17:31 2014 -0700

    In test driver allow --stats=query, e.g. --stats=spi/ndb/DBSession

commit 9ae9ef2b787770f03c8d8f266917dcdf29683049
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 13 16:03:37 2014 -0700

    Add HandleScope to all toJS() template functions just to be safer from
    enigmatic V8 memory leaks.
    Provide toJS() and isWrappedPointer() specializations for type bool.

commit bad3b5f048a5223e281b2ec57829c4a65fdbc344
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 13 14:28:34 2014 -0700

    Refactor NDB execute.
    This patch renames PendingOperationSet to DBOperationSet, and makes
    DBOperationSet the "point of contact" for JavaScript calls to begin and
    execute transactions.
    All t_basic tests now pass.

commit cec9c66b2647cf82bb400d3bcf64e0d0fb144b29
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon May 12 16:07:52 2014 -0700

    New SPI test
      begin transaction; delete (execute NoCommit) ; read deleted row ; commit.

commit 22ab330db03877a68651cfbab0a073eed6ae42d7
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon May 12 11:41:33 2014 -0700

    Minor bug fixes for passing SPI tests

commit 3a1c0cdade6cd8445571d4eec8c498187b0e5d31
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 8 19:31:10 2014 -0700

    Major JavaScript logic changes in NDB adapter.
    NdbTransactionContext, NdbSession, NdbOperation, and NdbConnectionPool
    are adapted to use the call flow of DBSessionImpl and
    DBTransactionContext rather than the native call flow of the NDB API.

commit ce59ca05e9465594b36a03814610f078fd0d1c04
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 8 19:21:43 2014 -0700

    This commit includes various small C++ fixes.
    The next commit includes major JavaScript logic changes.
    With these together, spi tests pass.

commit 603ba18485135a851d032a7fa2a2dd52bc21d440
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu May 8 09:50:02 2014 -0700

    Add new connection property ndb_sesion_concurrency
    Refactor initialization of NdbSession and connecting of the
    new NdbSession to its impl.

commit 0aab4dd6ca8dcf5dc11260acf1f3ae54ee6c82ef
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 7 15:18:06 2014 -0700

    Adapt DBDictionaryImpl to use DBSessionImpl rather than Ndb.

commit c4888e0e0a28c227b7e8612ad2f835ae3140f770
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 7 13:55:25 2014 -0700

    Revise protocol for registering a transaction open / closed.
    Use only two calls, registerIntentToOpen() and registerTxClosed().
    Always make these calls from JavaScript main thread.

commit f5e3416cc09e3b7b45b76ab47d907f33a86e92e5
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 7 13:52:43 2014 -0700

    NdbTransaction is no longer wrapped for JavaScript

commit 9997ddf891cf055ccd0cc3b5e31f799907ac3e6d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 7 11:59:54 2014 -0700

    Template class NativeCFunctionCall_4_

commit 2e224eb0d0afa85e2cad853fd7930bb30db8fde2
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 7 11:58:33 2014 -0700

    DBSessionImpl

commit 331e7b1b84c4962f181ac1a01452a50bf433f2cc
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 7 11:51:29 2014 -0700

    Adapt AsyncNdbContext to be aware of DBTransactionContext

commit 724348483ba25821783d5bbc47e62cf0d236cf67
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed May 7 11:12:55 2014 -0700

    executeAsync() on AsyncNdbContext is no longer wrapped for JavaScript;
    use executeAsync() on DBTransactionContext instead.

commit 172d030414558a6c0ef4f348fb2a5f034f439f51
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 6 10:21:18 2014 -0700

    Refactor DBOperationHelper:
     it now takes a DBTransactionContext rather than an NdbTransaction.
     it now defines operations, but does not prepare them.

commit f1ea54e3db24794798a691c379dcea7200bf4ea3
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue May 6 10:18:37 2014 -0700

    Rename addOperation() to getNextOperation()

commit 170f30b0dbe0f4fb200089765523839c39751a37
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon May 5 21:06:32 2014 -0700

    Add two new classes, DBTransactionContext and DBSessionImpl.
    These will free the JavaScript code from the start/prepare/execute
    cycle of Ndb and NdbTransaction, eventually allowing operations
    to be performed with fewer scheduled async calls and therefore
    less overhead.

commit e06426669c0055b82e1c944c484ef38244bb8413
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon May 5 21:05:50 2014 -0700

    Adapt DBOperationHelper to the KeyOperation / ScanOperation change.

commit 570b1e41da2303efceed8b1614f4237eab07db69
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon May 5 20:41:32 2014 -0700

    Bug fix where the do_close flag must be associated with the
    transaction rather than its parent Ndb object.

commit c41fa8c3c153546f30862f3c4915e1c9c1e635bc
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon May 5 20:26:59 2014 -0700

    Refactor Operation and DBScanHelper into two classes called
    KeyOperation and ScanOperation.

commit 0111249e608be6aa808548922adaa458a8c346e9
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 30 20:29:32 2014 -0700

    This change alllows Ndb::startTransaction() to run as a sync call in the
    main JS thread if we suspect that it will not block.  As a proof of
    concept, this allows you to measure the performance with this change;
    but it should not be used as-is, because the guess could be wrong,
    which would cause the main thread to block waiting for network I/O.

commit da60614e443f9be6201ea182e9d0f67da92aae3d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 30 11:11:59 2014 -0700

    In the common case where an async method call returns int zero,
    try to optimize away creating a new JavaScript value.

commit b5c0bd9b8ba3d4ca1fda4719348680290f9ba141
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Apr 29 22:54:10 2014 -0700

    Slight change to the compatibility strategy for some libuv changes.

commit be56e19d1ae69cfbb11f8805ad363aafb1d2fcd5
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Apr 29 22:39:37 2014 -0700

    Combine NdbTransaction execute() and close() into a single scheduled call
    whenever execType is Commit or Rollback.  This saves the scheduling cost
    of running the close() call by itself.

commit e1badaea04f08892d96319b0f1a3ae54d5b1bf9a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Apr 26 15:18:09 2014 -0700

    Various fixes for lint.

commit f624e9a668b669d4474d2ef04b0e642c4bdfd952
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Apr 26 15:00:28 2014 -0700

    Remove old stats API.

commit a8d637cc68e89728de8f60224bcaec0a533c894d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Apr 26 14:54:19 2014 -0700

    Use new stats API in MySQL code.

commit ee2feac191014196c268f633530ca7abc084a57f
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Apr 26 14:37:29 2014 -0700

    Use new stats API in NDB code.

commit 6c77dccf4988a8fa560b5991fc93939857c081f4
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Apr 26 12:59:25 2014 -0700

    Revised statistics API.
    Now each module owns, at file scope, its own stats object.
    The module registers the stats object with the global statistics, which
    keeps a reference to it in the stats tree.
    This should reduce the cost of keeping statistics to practically zero.

commit bd620ba30145aef37f9b4a18f31b240cc331ad91
Merge: 46bde42 d477b01
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 25 23:44:36 2014 -0700

    merge

commit d477b01e706e06fabab3e8d59fcdfdee8279f753
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 25 23:41:35 2014 -0700

    Delay after (rather than before) the first test iteration.
    This allows V8 to compile all the JavaScript code before dtrace starts running.
    High dtrace profiling rates caused the first iteration to run very slowly
    and skewed the profile towards compile times rather than run times.

commit 46bde42824f16f99da4333bffe1a27b7ae1a01c6
Merge: 8ca4cb4 0f6af74
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 25 17:01:37 2014 -0700

    merge

commit 8ca4cb45e1d04c2aa7ee4755afe86fd85af48722
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 25 16:59:44 2014 -0700

    Optional delays both before & after jscrund run

commit 51f6429dc9b929cf4f3104d9a484c5a06e84d7e9
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Apr 25 15:06:00 2014 -0700

    jscrund: add option to delay start of test run

commit 0f6af7414aa0fae194ea77e34ebba560ff662f88
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Mon Apr 21 18:22:38 2014 -0700

    Add useProjection to Session
      this function specifies a projection to be used for find and query operations
    
    TableMapping.js:
      add relationship property to relationship mappings
      add mappingId to mapped domain objects to keep track of projections
    
    Session.js:
      implement useProjection by delegating to UserContext
      two parameters (projection, callback)
    
    UserContext.js:
      fix a bug in promises where if the function is rejected immediately,
        and then does not include a rejected callback,
        a misleading error would occur
      useProjection is asynchronous; verifies the projection and all of the domain objects
      returns a promise and allows use of callback
      useProjection validates the projection
      manages a list of projections and an index to the list
      index specifies which projection is being validated
      for each projection, call getTableHandler
        then for each field, verifies that the field exists
        and for each relationship, verifies that the relationship field exists
        and adds the relationship to the projections to validate
      make sure there are no loops in the projection to allow JSON to serialize the result
      once the projection is validated, save it using the mappingId of the domain object
    
    composition/lib.js:
    composition/RelationshipMappingTest.js
      refactor constructors and mappings for shopping cart test schema
    
    composition/ProjectionTest.js:
      add projection for Customer
      call find then verify the complete projection was returned
    
    DBTableHandler.js:
      allow relationship fields to be put into fieldNameToFieldMap
      no column is associated with the relationship

commit 7d7bb799d97800a6186a9679ca116c3b5824572b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 16 14:09:17 2014 -0700

    Minor work on DBDictionaryImpl
    Contain the code for handling NdbDictionary 3-part/slashed/names in DictionaryNameSplitter class.
    Reformat patch indent width from 4 spaces to 2 spaces.
    buildDBForeignKey() takes only the fk* and must use its own private name splitter.

commit bcfa8ba9e19d55faddc67a78f0c67105c1a80ccc
Merge: d4dd37d e40ea95
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 14 17:20:10 2014 -0700

    merge

commit d4dd37d01aa2d2b992403c4cff3ee36a2b5f6afe
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 14 17:14:50 2014 -0700

    Error 23000 when attempting to set a non-nullable column to null.

commit 6805da1c303e20dbbba7c182201582ac66ef2c5e
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Apr 14 15:36:52 2014 -0700

    Restore table which should not have been removed from test suite

commit e40ea952970a40093b6f6054959f456147a4429f
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Mon Apr 14 13:55:43 2014 -0700

    Add support for foreign key metadata
    
    TableMetadata:
      add foreignKeys array to TableMetadata
      add ForeignKeyMetadata descriptor
    
    TableMapping.js:
      add OneToOne, OneToMany, ManyToOne, and ManyToMany constructors
      add createRelationshipFieldFromLiteral to create field mappings for relationships
    
    UserContext.js:
      provide for database mapping property to be used to get table metadata for non-default database
    
    MySQLDictionary.js:
      process show create table CONSTRAINT metadata for foreign keys
    
    DBDictionaryImpl.cpp:
      process foreign key constraints in GetTableCall
      since there is no api listForeignKeys we use listDependentObjects filtering ForeignKey
      add buildDBForeignKey method to handle details of copying Ndb metadata to javascript objects
    
    add new composition test suite
    create.sql:
      create tables with foreign keys
      add several rows that will be useful for verifying relationship fetching
    
    RelationshipMappingTest.js:
      map domain objects to tables with foreign keys
      map one to one, one to many, many to one, many to many relationships using foreign keys
      verify foreign key metadata via getTableMetadata
      one test uses a foreign key to a table in a different database

commit 04dc8f2195340c1beb180edd3b0a84087bebb49c
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sat Apr 12 09:21:35 2014 -0700

    update literal mapping test for schema

commit 3195a49c2c079350b93a1efea415bcaf095f80c8
Merge: c4b2b6e fafb076
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 9 14:20:53 2014 -0700

    merge

commit c4b2b6e7fd1b9d3cf210604e144b001db9458852
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 3 21:29:03 2014 -0700

    Fix errors in test case & misc. lint errors.

commit 5aecf4daade1df99c331e41e63f94ae30e54a896
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 3 17:31:42 2014 -0700

    Check in test case where one operation in a batch has a data type error.
    This test fails for both NDB and MySQL.

commit 0e867b0dde17d66d1772ddd1ebe5f8b4c327fde6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Apr 3 16:33:18 2014 -0700

    Expose NdbRecordObject::prepare() to JavaScript.
    This is a step towards fixing handling of encoder errors for value objects.

commit c5a4951d9595d26b9bc73a5cc9510e78d34b66e6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Apr 2 16:27:26 2014 -0700

    Write a negative value to an unsigned int field of an NDB Value Object.
    This test causes the test suite to hang forever.

commit fafb076869c663702805047da66856687b711198
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Mar 27 12:35:31 2014 -0700

    Run executeAsynch() in JS main thread rather than a UV worker thread.
    We had seen higher latency using async ndbapi vs. sync ndbapi,
    but this change eliminates most of that difference.

commit c1a334a5c1a84fda00ee32db4244de7cebad297b
Merge: 7051c7f e24c0c9
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Mar 26 15:59:22 2014 -0700

    merge

commit 7051c7fb3a85598ce0740467c18f3b7c1cd1ef93
Merge: e79eaa6 37b0ec0
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Mar 26 15:57:52 2014 -0700

    merge

commit e79eaa6afcf5e8f8176db17e3cfe7767ecbec694
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Mar 26 15:56:14 2014 -0700

    unused table in test suite

commit e24c0c9e10bc437cb31f7110ce9a23252c8e1e0e
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Mar 26 15:50:53 2014 -0700

    Fix for compiler warning in TimestampWriter validity check

commit 37b0ec0ea362c15ce8d520ec6b831dd0124d507b
Merge: d2bce2f 654d39f
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Mar 26 15:23:57 2014 -0700

    merge

commit d2bce2fbc2a83c75504c551f7d96561e2f286e7e
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Mar 26 15:17:16 2014 -0700

     NDB encoding-related changes.
     (1) distinguish between 22003 numeric value out of range and HY000 for "value is not numeric"
     (2) provide a (hopefully) faster path to encoderWrite and encoderRead by wrapping them as methods of Record

commit bf8744861d97427127e79faaeffa7879ecb5102e
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Mar 26 13:47:55 2014 -0700

    Refactor error handling

commit 4e74a3e08e7644cf45dde1e502c84d395a7a642e
Author: John David Duncan <john.duncan@oracle.com>
Date:   Wed Mar 26 12:11:13 2014 -0700

    Attempt to optimize encodeKeyBuffer() for single-column indexes

commit 654d39fc0230e5b4d5df32ecb207de12987740c6
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Wed Mar 26 10:44:41 2014 -0700

    Fix reporting of session factory if no mappings

commit 02dce5468a63963b64de5b657f5de070b1de345a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Mar 24 15:16:03 2014 -0700

    Remove JsValueAdapter in loader; it is no longer needed.

commit 2ec6e06eb5b9b4c539e593423917e32b32d4deb6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Mar 24 15:08:23 2014 -0700

    This fixes the failing "timestamp 1969" test case for NDB.
    Test still fails with MySQL.

commit e43fd3782ca925a156517f498f9245ae045d346d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Mar 24 14:47:36 2014 -0700

    Fixes for lint test failures

commit c6035425fe15458b36a5b9da9350520e7c3330bb
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Mar 24 14:27:07 2014 -0700

    Test & fix NDB handling of encoder errors for numeric types

commit 1124e88bd049c43e7d9d84ce38f362b1d0b81e97
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Mar 24 10:17:09 2014 -0700

    Tests for numeric types

commit f121576c4fdd6bcfd0726d88209e17883891c12b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Mar 24 09:49:09 2014 -0700

    This renames the integraltypes suite to numerictypes
    and adds stub tests for float, double, and decimal columns

commit 499cb94f29cb6238f5740ad8a1a64a671ce8f3f6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Mar 24 09:48:05 2014 -0700

    Test for particular expected errors rather than simply for operation failure

commit 66d2efe5cef6c819b54166a5f9974ae5b47b8110
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Mar 24 09:44:15 2014 -0700

    Add decimal support in NdbTypeEncoders
    Remove JS wrapper for decimal utilities from ndb_util

commit c50659443a0264ce80cdc8ec439bea7a1bb3f42c
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Mar 22 16:45:19 2014 -0700

    Encoders for NDB integer values: if the fast integer conversion fails, try a slow one, then test whether the result is legal.  This should allow writing valid JS string and float values to int columns.

commit 839e62172f96147f62bee65cb40b921d6798ebaf
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Mar 22 16:42:33 2014 -0700

    Improve handling of errors from NDB data type encoders

commit 815612d55f8dbb164eebd1f36dc06509d269d125
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sat Mar 22 15:19:43 2014 -0700

    Improve handling of data encoder errors in the ndb adapter

commit 2f739f3bc522163dd74d8997f7e57375229a7626
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Mar 21 22:25:42 2014 -0700

    fix sql_mode for mysql adapter

commit 2ddcb0bbb7d3fab1f64df6641134c71f661d3782
Merge: fd5edd3 28956ea
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Mar 21 14:18:21 2014 -0700

    merge from repo

commit fd5edd3b1e743faf257507b14a965cfa419a6e4d
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Mar 21 14:15:00 2014 -0700

    Implemented test cases

commit 5b40f8af801021dbdffcb7490a121484f660bf08
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Mar 21 12:22:43 2014 -0700

    Stub out new test cases for data type casting

commit 8e9635f1e998a429a907a958cb144e2522ebe1bb
Author: John David Duncan <john.duncan@oracle.com>
Date:   Fri Mar 21 09:56:57 2014 -0700

    If MySQLTime.valid is set to false, NdbTypeEncoder will reject the value.

commit 28956eaceeb1c9a4a0234b38b4e212879c276f43
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Thu Mar 20 16:09:17 2014 -0700

    Allow user to set sql_mode in mysql adapter with a default of STRICT_ALL_TABLES

commit a47301476d6b22568f9203d23dfe99ed37bb072c
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Thu Mar 20 15:42:40 2014 -0700

    Change console.log to udebug.log in issues/2014-03-18Test

commit 8823269f25a6e28e55dfad9de35e53e4ac07a82f
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Mar 20 10:54:28 2014 -0700

    Add shell script to manage regular runs of jscrund

commit a1483f1fec77e8961a70cc9144cc8f84d03e7bb6
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Mar 18 13:59:34 2014 -0700

    Adapt loader to use new Batch.getOperationCount() api

commit d2499c23cd462403fe2272e63c976bb84cbb033c
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Mar 18 12:02:16 2014 -0700

    Batch: use getOperationCount()  rather than getSize()

commit c3f6d58fc49081c694c7eddfe27fe8e998f63352
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Mar 18 10:05:24 2014 -0700

    Add Batch.getSize() method

commit f9f7746abad823b64c7f9a275f7f492a257f4f8a
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Mar 18 10:02:39 2014 -0700

    Add test case for issue of bad data type for column

commit b3b9f1e5d4af5e5f0efc383798c93613ac6e7970
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Mar 17 21:58:11 2014 -0700

    Fix typo

commit eee11a50dae271d91587271d4f7592febc1620cc
Author: John David Duncan <john.duncan@oracle.com>
Date:   Mon Mar 17 21:55:00 2014 -0700

    Add test case for issue where a TableMapping created from a literal mapping
    could not be used to perform operations (fixed in bzr 686).

commit 3db3cf87d5fe9a9b49ef4a6ec3a34858d366776b
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sun Mar 16 21:36:27 2014 -0700

    Changes to sample data loader after code review with Craig.
    This version still has lots of untested features (and combinations of features) but it can load CSV data and random data.

commit eff13848d6de1144b1dfb6da270902678c0e51ad
Author: John David Duncan <john.duncan@oracle.com>
Date:   Sun Mar 16 21:24:47 2014 -0700

    Bug fix creating TableMapping from object literal

commit 9756b1954008229d595bd2fa361bff25a51d1601
Author: magnus.blaudd@oracle.com <>
Date:   Fri Mar 7 13:33:53 2014 +0100

    WL#7578 Replace usage of ndb_schema_share->key with hardcoded text
    
     - Improve  printout without using ndb_schema_share

commit 51a6f19b0d9196a0119af14b770f7c7581a28168
Author: magnus.blaudd@oracle.com <>
Date:   Fri Mar 7 13:32:14 2014 +0100

    WL#7578 Move subscriber bitmaps to NDB binlog component
    
     - Move all code related to keeping track of subscribers into
       the NDB binlog component

commit 379b5d686ed4c9a29a6037bbf39f81e73b0c181f
Author: magnus.blaudd@oracle.com <>
Date:   Fri Mar 7 13:29:34 2014 +0100

    WL#7578 Move the g_nodeid_map to Ndb binlog thread

commit 16b9a84648c628d0133947eb62310eb6cd428abc
Author: magnus.blaudd@oracle.com <>
Date:   Fri Mar 7 13:29:00 2014 +0100

    WL#7578 move clearing of subscribed to binlog thread
    
    
     - binlog thread owns the subscriber bitmaps

commit 5750188c2decef4b7fc9344595be1a4d6df78fcb
Author: magnus.blaudd@oracle.com <>
Date:   Fri Mar 7 13:27:59 2014 +0100

    WL#7578 Always expect everyone to ack the schema op
    
     - Since the client which are about to log a schema op don't really
       know which are subscribed, expect everyone to ack.
     - Those which are not subscribed will be filtered away by the
       Coordinator(which keep track of that stuff)
     - This is (fortunately) backward compatible safe

commit 20e44bfcbe05142447a4a6ab8224402fc345b8c6
Author: magnus.blaudd@oracle.com <>
Date:   Fri Mar 7 12:17:43 2014 +0100

    WL#7578 Refactor schema distribution code
    
     - further improve the comment. Stressing that it is the nodeid of primary
      cluster connection which should be used. Each mysqld may have several nodeids
      due to cluster connection pool

commit 25244a9fe73558cc8e7e7d069472e83c716e69ac
Author: magnus.blaudd@oracle.com <>
Date:   Fri Mar 7 10:39:32 2014 +0100

    WL#7578 Refactor schema distribution code
    
     - change type of NDB_SCHEMA_OBJECT::key_length to size_t to avoid
      unnecessary casts

commit b776c6ed080fcacfa7f7ae1e2d0ceb55ee0b6df7
Author: magnus.blaudd@oracle.com <>
Date:   Fri Mar 7 10:31:23 2014 +0100

    ndb
    
    - remove unimplemented junk TODOs

commit cf6ff525e539d66d24b1c64c598d956c1d708be7
Author: magnus.blaudd@oracle.com <>
Date:   Fri Mar 7 09:35:58 2014 +0100

    WL#7578 note about nodeid from global cluster connection
    
     - It's important to use the nodeid which the Ndb_schema_event_handler
       uses when listening to mysql.ndb_schema events.

commit 7f80496e0db23c932ecd03deec6f806a4179f28b
Author: magnus.blaudd@oracle.com <>
Date:   Fri Mar 7 09:16:57 2014 +0100

    WL#7578 Don't use ndb_schema_share from ack_schema_op
    
     - The schema event handler part of the binlog thread has received
       an event(someone inserted into mysql.ndb_schema) and it should
       perform the event and reply with an ack.
     - Even if ndb_schema_share pointer should be NULL, the function
       must reply. Especially since the reply does not use the ndb_schema_share
       pointer but rather just writes to mysql.ndb_schema.
     - Should mysql.ndb_schema not exist at this time, the write will of course fail
       but then all the other mysqld(s) wil also notice the same problem
     - Also, it was wrong to check "ndb_schema_share" without taking the
       "ndb_schema_share_mutex"

commit 747501d2454502c72e9c2091d57babd34a4cd0c4
Author: John David Duncan <john.duncan@oracle.com>
Date:   Thu Mar 6 11:45:59 2014 -0800

    Initial checkin of JavaScript data loader tool

commit c3d28042de97f0f9f560c592aa7055852fefd3e2
Author: magnus.blaudd@oracle.com <>
Date:   Tue Mar 4 10:05:54 2014 +0100

    Remove windows line endings from ndb_schema_object.cc

commit aa46a2f1c14375da642d6ca3d653ce66b1830bca
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Feb 18 16:24:19 2014 -0800

    Try to reduce overhead of stats.incr() calls

commit 08fe4fd3727e1d508a32bc3f6b4a25db2426c7c3
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Feb 18 16:08:52 2014 -0800

    Remove the error handling in jscrund_mysqljs backend which duplicates
    work performed in the jscrund frontend.

commit 7603bd44dbfc02e32a65c29f2e520bb453c1ed44
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Feb 18 16:06:18 2014 -0800

    Add conditional guards around udebug log messages.

commit 5a9825d9050f7a63755b8b9fc708a13b9ce0b693
Author: John David Duncan <john.duncan@oracle.com>
Date:   Tue Feb 18 15:58:27 2014 -0800

    Add conditional guards around udebug log statements.

commit 2a6a3dfa1c78a53f13fa6100dd358eb8e55d086a
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Sat Jan 18 15:57:13 2014 -0800

    Improve error reporting while loading mysql node_module

commit 7003cf91834842d1bbd3a0d638551871ce5122e3
Author: Craig L Russell <Craig.Russell@oracle.com>
Date:   Fri Jan 17 11:31:41 2014 -0800

    The node-mysql driver by default constructs an Error object in order
    to get a stack that includes the user's call to Query. This can be
    a performance bottleneck.
    
    mysql_service_provider.js
      set the driver property "trace" to false by default
    
    MySQLConnectionPool.js
      use the connection property mysql_trace to initialize the driver property
