------------------------------------------------------------
revno: 7626
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: rel-574
timestamp: Wed 2014-03-19 11:32:19 +0100
message:
  Fix for bugs 18402580 and 18402999, as suggested for 18402580
  
    Instead of relying on $HOME, use Perl's getpwuid() to get home dir.
------------------------------------------------------------
revno: 7625
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: rel-574
timestamp: Wed 2014-03-12 15:39:46 +0100
message:
  Fix 18389088 adapted from bug report patch
------------------------------------------------------------
revno: 7624
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: rel-574
timestamp: Thu 2014-03-06 14:48:32 +0100
message:
  Post-push fix 18222041, cset 7650 from trunk
------------------------------------------------------------
revno: 7623
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: rel-574
timestamp: Thu 2014-03-06 14:45:22 +0100
message:
  Bug#18327194 - Resolve confict issues during upgrade
  Also added ha_example.so which is now included in install
------------------------------------------------------------
revno: 7622
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: rel-574
timestamp: Thu 2014-03-06 09:05:41 +0100
message:
  4797 followup fix, cset 7643 from trunk
------------------------------------------------------------
revno: 7621
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: rel-574
timestamp: Thu 2014-03-06 09:04:16 +0100
message:
  Merge of fix 18351022, cset 7640 from trunk
------------------------------------------------------------
revno: 7620
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: rel-574
timestamp: Tue 2014-03-04 14:38:52 +0100
message:
  Memory leak fix, cs 7629 from trunk
------------------------------------------------------------
revno: 7619
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: rel-574
timestamp: Tue 2014-03-04 14:38:06 +0100
message:
  Memory leak fix, cs 7622 from trunk
------------------------------------------------------------
revno: 7618
tags: clone-5.7.4-m14-build
committer: Guilhem Bichot <guilhem.bichot@oracle.com>
branch nick: trunk-wl7082
timestamp: Mon 2014-03-03 13:53:59 +0100
message:
  WL#7082 -  Move permanent transformations from JOIN::optimize () to JOIN::prepare ().
  As one single patch.
  
  semijoin, outer-join-to-inner, parenthesis-removal,
  join-condition-to-where-clause are moved from JOIN::optimize() to
  JOIN::prepare(), which is renamed to select_lex::prepare().
  
  Old approach for WHERE/HAVING conditions:
  at end of preparation, save copies of conditions in
  sl->prep_where/having, then allow oneself to trash sl->where/having in
  optimization; in optimization make sure to keep in sync
  sl->where/having with join->conds/having. At start of next execution,
  recreate sl->where/having from the "prep_" copies.
  New approach:
  At end of preparation, sl->where/having is considered frozen. In
  optimization, make trashable copies of it, and use only those
  copies. Ditch them at end of execution.
  
  Some functions like mysql_select() are made to use select_lex->where;
  in the pre-patch situation select_lex->where was passed as argument
  AND the function assumed that this argument was
  ==select_lex->where... this change makes code simpler.
  
  Made some functions which use JOIN to rather use, and belong to, SELECT_LEX:
  record_join_nest_info
  simplify_joins
  convert_subquery_to_semijoin
  resolve_subquery
  flatten_subqueries.
  They try to use JOIN as little as reasonably possible.
  
  Moved JOIN::prepare() to select_lex, and simplified its signature
  (arguments can be found in select_lex).
  Made setup_conds() member of select_lex, with less arguments.
  Removed arguments from setup_ref_array().
  
  Simplified setup_wild(), more JOIN members are made private,
  JOIN::join_list removed, reset_nj_counters goes to select_lex.
  
  JOIN::table_list is now used only in optimization/execution.
  
  JOIN_TAB::on_expr_ref, JOIN/select_lex::where/conds/having are
  renamed, some getters/setters are added.
  
  Simplified select_lex::first_cond_optimization: rename member to be
  more specific, and removed argument in make_join_statistics().
  
  I remove some hacks which came in previous PS fixes (see the WL for
  bug numbers), because they become superfluous.
  
  Changes in opt trace tests: trace blocks for
  semijoin/outer-join-to-inner move from the join_optimization block to
  the join_preparation block. In ps-specific tests, where the shown
  trace is of EXECUTE, it implies that now the trace starts with the
  transformation already done (by PREPARE).
  
  See the WL text for overview of goal and code changes.
  
  Additional details are in these commit comments.
  
  @  mysql-test/suite/opt_trace/include/bugs.inc
  
  bug was fixed long ago
  
  @  mysql-test/suite/opt_trace/r/bugs_no_prot_all.result
  
  Also fixed a bad number for the query block where the view is merged
  ("in_select#").
  
  @  mysql-test/suite/opt_trace/r/general2_no_prot.result
  
  fixed trace of view merging/materialization
  
  @  mysql-test/suite/opt_trace/r/general_ps_prot_all.result
  
  Around line 7866, we see:
  "original_condition": "(1 and (`t2`.`s` = 'c') and (`t6`.`d` = `f1`()))",
  "steps": [
    {
      "transformation": "equality_propagation",
  -    "resulting_condition": "(1 and multiple equal('c', `t2`.`s`) and multiple equal(`f1`(), `t6`.`d`))"
  +    "resulting_condition": "(1 and (`t6`.`d` = `f1`()) and multiple equal('c', `t2`.`s`))"
  A multiple equality is not created anymore for t6.d=f1(). I think this
  is ok. Creation of such item requires f1() to be a constant (see 
  check_simple_equality() which looks for field=constant), and f1()
  should not be considered constant, it is a stored function which may
  return a different value for each row of t2.
  
  @  mysql-test/t/sp.test
  
  Tests added along the way, when fixing bugs in the prototype
  
  @  mysql-test/r/subquery_all.result
  Result changes in EXPLAIN: they come from the can_skip_order change in sql_union.cc:
  we used to pass a NULL pointer to prepare(), now we instead empty the list in select_lex;
  this has the advantage of showing the optimization in the query printed by EXPLAIN;
  and this alternative technique looks ok because remove_redundant_subquery_clauses
  does it too.
  
  @  sql/item.h
  
  removed one hack ("real_items" argument), added chop_ref
  
  @  sql/item_cmpfunc.cc
  
  removed one hack ("real_items" argument)
  
  @  sql/item_cmpfunc.h
  
  removed one hack ("real_items" argument)
  
  @  sql/item_subselect.cc
  
  About the removal of "// did we changed top item of WHERE condition":
  - in-to-exists is, as before, a permanent transformation
  - pre-patch, Item_in_subselect::fix_fields() would be passed &JOIN::conds as "ref"
  argument, so when it changes the condition (injects outer=inner
  equality in subquery's WHERE), it changes *ref, which changes
  JOIN::conds, but because it is a permanent transformation, it also
  needs to manually "keep in sync" select_lex->where.
  - post-patch, fix_fields() operates on &select_lex->where_cond, and
  JOIN::where_cond is not "alive" yet (it starts its life in
  JOIN::optimize()), so no manual syncing is needed.
  
  Likewise, no manual syncing of having_for_explain is needed.
  
  @  sql/sql_base.cc
  
  No manual syncing needed (see comment of item_subselect.cc).
  
  @  sql/sql_delete.cc
  
  Don't pass "conds", just use select_lex->where_cond as input. When we
  want to optimize the condition, we make a copy of it.
  
  @  sql/sql_lex.cc
  
  Part of the end-of-prepare job of
  st_select_lex::fix_prepare_information() has moved to 
  the start-of-optimize get_optimizable_conditions().
  One real_item() is removed, in this move.
  
  @  sql/sql_optimizer.cc
  
  Get trashable copies at start of JOIN::optimize() and use only them.
  Removed dead code in #ifdef.
  Transformations move to JOIN::prepare(), and the horror of "let's
  update prep_where because we did permanent transformations in
  JOIN::optimize()", is gone - this saves some copying and memory allocations.
  In simplify_joins(), the part:
            /* If join condition has a pending rollback in THD::change_list */
            join->thd->change_item_tree_place(table->join_cond_ref(), &conds);
  was useless: "conds" is a local variable, &conds could never be found
  when change_item_tree_place() searches. So I replace "conds" by an
  Item** passed in argument. In a test file I added some queries which
  used to break (lack a rollback) due to this useless code.
  In record_join_nest_info(), prep_join_cond; the corresponding job is
  now in get_optimizable_join_conditions().
  In replace_subcondition(), removed useless manual syncing.
  At the end of flatten_subqueries(), same.
  
  @  sql/sql_prepare.cc
  
  use setup_fields_with_no_wrap, makes less code lines.
  In reinit_stmt_before_use(), don't recreate select_lex->where_cond, it is
  already good (== made of permanent items); only need to clean up those
  items, to make them ready for reusal.
  
  @  sql/sql_resolver.cc
  
  JOIN::prepare now operates only on select_lex->where, not JOIN::conds
  which is now reserved for JOIN::optimize.
  JOIN::prepare does transformations at its end.
  Some functions now done at "prepare" time are moved to this file.
  
  @  sql/sql_union.cc
  
  We work around an oddity of IN->EXISTS (whose effects were only a
  strange WHERE in the trace, when I started trusting
  select_lex->where_cond instead of always passing conds=NULL
  to JOIN::prepare() of the fake select lex).
  
  @  sql/sql_update.cc
  
  When we start optimizing UPDATE, we get trashable conditions.
  
  @  sql/sql_view.cc
  
  Fixed a bad number for the query block where the view is merged
  ("in_select#"), this is visible in bugs_no_prot_all.result file.
  
  @  sql/table.h
  
  In TABLE_LIST, m_join_cond becomes the permanent condition,
  m_optim_join_cond a trashable copy created at start of optimization.
  Moved all optimization-only members to one place.
------------------------------------------------------------
revno: 7617
committer: Atanu Ghosh <atanu.ghosh@oracle.com>
branch nick: mysql-trunk-new
timestamp: Mon 2014-03-03 16:18:03 +0530
message:
  WL#7131:  Add timestamp in mysql.user on the last time the password was changed.
            Post-Push fix for audit_log_bugs test case.
            Fixing timestamp mismatch.
------------------------------------------------------------
revno: 7616 [merge]
committer: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-03-03 16:00:38 +0530
message:
  Merge from 5.6 to  5.7
    ------------------------------------------------------------
    revno: 3902.291.297
    tags: clone-5.6.17-build
    committer: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-03-03 15:58:21 +0530
    message:
      
      Post push fix for Bug#18014565
------------------------------------------------------------
revno: 7615
committer: Atanu Ghosh <atanu.ghosh@oracle.com>
branch nick: mysql-trunk-new
timestamp: Mon 2014-03-03 14:04:32 +0530
message:
  Bug #18327482:  TEST CASES ARE FAILING MTR INTERNAL CHECK AFTER WL#7131
                  Post Push fix for WL#7131. Restoring the mysql.user to
  		original values after completion of test cases.
------------------------------------------------------------
revno: 7614
committer: Evgeny Potemkin <evgeny.potemkin@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-03-03 12:28:56 +0400
message:
  Updated test cases results after WL#6016.
------------------------------------------------------------
revno: 7613
committer: Erlend Dahl <erlend.dahl@oracle.com>
branch nick: mysql-trunk
timestamp: Sun 2014-03-02 06:30:23 +0100
message:
  Change tree name back to "mysql-trunk".
------------------------------------------------------------
revno: 7612 [merge]
committer: Evgeny Potemkin <evgeny.potemkin@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-28 23:56:31 +0400
message:
  Auto-merged WL#6016 => trunk.
    ------------------------------------------------------------
    revno: 7599.1.2
    committer: Evgeny Potemkin <evgeny.potemkin@oracle.com>
    branch nick: tmp
    timestamp: Fri 2014-02-28 17:32:55 +0400
    message:
      WL#6016: Consolidate plan AM decisions in a single function
      Post-merge fixes.
    ------------------------------------------------------------
    revno: 7599.1.1
    committer: Evgeny Potemkin <evgeny.potemkin@oracle.com>
    branch nick: tmp
    timestamp: Fri 2014-02-28 15:40:43 +0400
    message:
      WL#6016: Consolidate plan AM decisions in a single function.
      Imlementation of the WL.
------------------------------------------------------------
revno: 7611 [merge]
committer: mayank prasad <mayank.prasad@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-28 22:04:39 +0530
message:
  Code Commit for Wl5768
    ------------------------------------------------------------
    revno: 5980.1.76 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Fri 2014-02-28 21:57:53 +0530
    message:
      Merge : mysql-trunk-->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.75 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Fri 2014-02-28 21:34:51 +0530
    message:
      PB2 fixes
    ------------------------------------------------------------
    revno: 5980.1.74 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Fri 2014-02-28 18:51:14 +0530
    message:
      Merge : mysql-trunk-->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.73
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Fri 2014-02-28 14:43:04 +0530
    message:
      WL#5768 PERFORMANCE SCHEMA, prepared statements instrumentation
      
      Improved the robustness of prepared_stmts_by_stored_programs.test
    ------------------------------------------------------------
    revno: 5980.1.72
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Thu 2014-02-27 19:06:40 +0530
    message:
      WL#5768 PERFORMANCE SCHEMA, prepared statements instrumentation
      
      Improved the test case robustness as per Marc's comments. 
    ------------------------------------------------------------
    revno: 5980.1.71
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Thu 2014-02-27 16:16:26 +0530
    message:
      WL#5768  PERFORMANCE SCHEMA, prepared statements instrumentation
      
      Added test cases to check reprepare stats.
      
      Fixed error in prepared_stmts_by_stored_programs.test
    ------------------------------------------------------------
    revno: 5980.1.70
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768_new
    timestamp: Thu 2014-02-27 15:18:18 +0530
    message:
      WL#5768  PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Fixed Issue that reprepare Stats were not incremented.
       - Code cleanup.
    ------------------------------------------------------------
    revno: 5980.1.69 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Thu 2014-02-27 14:51:21 +0530
    message:
      MERGE: mysql-trunk-->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.68
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768_new
    timestamp: Thu 2014-02-27 14:27:48 +0530
    message:
      WL#5768  PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details : 
       - During deallocating a prepared stmt, when its entry was removed from P_S buffer, it stat was not reset. Therefore next time when this slot in P_S buffer was used from 
         some other statement, stale stats values were being used.
      
      Fix:
       - Modified code to reset all stats entry before using a slot in P_S buffer.
    ------------------------------------------------------------
    revno: 5980.1.67
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-02-26 21:19:37 +0530
    message:
      WL#5768 
      
      fixed innodb-tablespace test failure. 
    ------------------------------------------------------------
    revno: 5980.1.66
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-02-26 21:09:28 +0530
    message:
      WL#5768 
      
      Removed the extra columns added just for testing purpose. 
      Not necessary to retain in the test. 
    ------------------------------------------------------------
    revno: 5980.1.65
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-02-26 20:59:36 +0530
    message:
      WL#5768 
      
      Fixed mysql_client_test failure.
      Improved the robustness of newly added tests. 
    ------------------------------------------------------------
    revno: 5980.1.64
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768_new
    timestamp: Wed 2014-02-26 15:56:29 +0530
    message:
      WL#5768  PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Events, run when event scheduler is on, don't do a grace full cleanup for prepared statements in that event i.e. there is no call 
         to deallocate stmt is made. Therefore stats for prepared stmts, prepared in the event, are left behind in P_S table.
      
      Fix:
       - While thread cleanup is done for the event thread, make sure to deallocate each and every prepared statement.
    ------------------------------------------------------------
    revno: 5980.1.63
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-02-26 11:13:56 +0530
    message:
      WL#5768 PERFORMANCE SCHEMA, prepared statements instrumentation
      
      Fixed the prepared_statements.test failure seen on gcov PB2 branch. 
    ------------------------------------------------------------
    revno: 5980.1.62
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Tue 2014-02-25 17:03:34 +0530
    message:
      WL#5768 PERFORMANCE SCHEMA, prepared statements instrumentation
            
            Corrected a typo mistake.
    ------------------------------------------------------------
    revno: 5980.1.61 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Tue 2014-02-25 14:11:11 +0530
    message:
      Merge : mysql-trunk-->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.60
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Tue 2014-02-25 12:26:59 +0530
    message:
      WL#5768  PERFORMANCE SCHEMA, prepared statements instrumentation
      
      Extended the C-unit test added for this WL. 
    ------------------------------------------------------------
    revno: 5980.1.59
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Mon 2014-02-24 19:54:33 +0530
    message:
      WL#5768 PERFORMANCE SCHEMA, prepared statements instrumentation
      
      Added few test cases to the existing tests. 
    ------------------------------------------------------------
    revno: 5980.1.58
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768_new
    timestamp: Mon 2014-02-24 14:39:27 +0530
    message:
      C Test case for prepared statement
    ------------------------------------------------------------
    revno: 5980.1.57
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768_new
    timestamp: Thu 2014-02-20 21:33:03 +0530
    message:
      PB2 fixes
    ------------------------------------------------------------
    revno: 5980.1.56
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Thu 2014-02-20 16:08:27 +0530
    message:
      WL#5768 PERFORMANCE SCHEMA, prepared statements instrumentation
      
      updated the result files
    ------------------------------------------------------------
    revno: 5980.1.55
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768_new
    timestamp: Thu 2014-02-20 14:54:28 +0530
    message:
      PB2 mismatch fixes
    ------------------------------------------------------------
    revno: 5980.1.54
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768_new
    timestamp: Thu 2014-02-20 12:58:23 +0530
    message:
      PB2 fixes for WL#5768.
    ------------------------------------------------------------
    revno: 5980.1.53
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768_new
    timestamp: Wed 2014-02-19 17:16:57 +0530
    message:
      Corrected a typo mistake.
    ------------------------------------------------------------
    revno: 5980.1.52
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768_new
    timestamp: Wed 2014-02-19 16:35:47 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
            
            Details:
             - A trivial fix about LOST status update.
             - Made prepared stmt stats removed from P_S table when it is deallcoated implicitly when other stmt of same name is used.
    ------------------------------------------------------------
    revno: 5980.1.51
    committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-02-19 14:08:37 +0530
    message:
      WL#5768 PERFORMANCE SCHEMA, prepared statements instrumentation
      
      Added few tests to check prepared statements instrumentation. 
    ------------------------------------------------------------
    revno: 5980.1.50 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Tue 2014-02-18 12:34:49 +0530
    message:
      MERGE: mysql-trunk-->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.49
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Fri 2014-02-14 16:45:23 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.\n\nDetails:\n - Fix few PB2 failures.
    ------------------------------------------------------------
    revno: 5980.1.48
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-02-12 16:33:32 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details :
       - Addressed changes in Specs.
    ------------------------------------------------------------
    revno: 5980.1.47 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Fri 2014-01-31 17:04:00 +0530
    message:
      MERGE: mysql-trunk-->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.46
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Fri 2014-01-31 16:15:21 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Made max_prepared_stmt_count to be read early as it would
         be used for sizing hint in P_S.
    ------------------------------------------------------------
    revno: 5980.1.45
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Fri 2014-01-31 12:05:24 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - 2nd pass of Marc's review comments.
    ------------------------------------------------------------
    revno: 5980.1.44
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-01-29 14:29:39 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Corrected the table name as per SPEC.
       - Fixed an issue. reset_data() function was not resetting execution stats.
    ------------------------------------------------------------
    revno: 5980.1.43
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Tue 2014-01-28 18:53:11 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation
      
      Details:
       - Addressed Marc's review comments.
    ------------------------------------------------------------
    revno: 5980.1.42 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Mon 2014-01-27 14:58:00 +0530
    message:
      MERGE: mysql-trunk-->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.41
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-01-22 15:51:14 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Fix for PB2 Windows Specific Crash.
    ------------------------------------------------------------
    revno: 5980.1.40
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Thu 2014-01-16 16:33:44 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details
       - Code cleanup.
    ------------------------------------------------------------
    revno: 5980.1.39
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Thu 2014-01-16 16:29:18 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details
       - Code Cleanup.
    ------------------------------------------------------------
    revno: 5980.1.38
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Thu 2014-01-16 16:16:48 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details
       - Code cleanup.
    ------------------------------------------------------------
    revno: 5980.1.37 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Thu 2014-01-16 15:42:36 +0530
    message:
      MERGE: mysql-trunk-->mysql-trunk-wl5678
    ------------------------------------------------------------
    revno: 5980.1.36
    author: mayank prasad
    committer: qauser <qauser@VIGUDIPA-IN>
    branch nick: wl5768
    timestamp: Thu 2014-01-16 12:26:09 +0530
    message:
      result file mismatch fix.
    ------------------------------------------------------------
    revno: 5980.1.35
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-01-15 21:42:48 +0530
    message:
      cleanup
    ------------------------------------------------------------
    revno: 5980.1.34
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-01-15 17:57:18 +0530
    message:
      PB2 Failure Fixes
    ------------------------------------------------------------
    revno: 5980.1.33
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-01-15 14:57:03 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Modified code according to modified specs.
    ------------------------------------------------------------
    revno: 5980.1.32 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Wed 2014-01-15 14:39:01 +0530
    message:
      MERGE: mysql-trunk-->mysql-trunk_wl5768
    ------------------------------------------------------------
    revno: 5980.1.31
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2014-01-08 19:53:43 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Code fix to capture prepared statement timing statistics based on 
         instrumentation value set in setup_instruments table.
    ------------------------------------------------------------
    revno: 5980.1.30 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Wed 2014-01-08 19:36:21 +0530
    message:
      MERGE: mysql-trunk-->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.29 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Mon 2014-01-06 12:44:40 +0530
    message:
      MERGE:mysql-trunk->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.28
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Sat 2014-01-04 18:38:57 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details :
       - Code cleanup and few fixes.
    ------------------------------------------------------------
    revno: 5980.1.27 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Sat 2014-01-04 17:04:11 +0530
    message:
      MERGE:mysql-trunk->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.26
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Fri 2014-01-03 17:51:08 +0530
    message:
      PB2 failure fix
    ------------------------------------------------------------
    revno: 5980.1.25
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Fri 2014-01-03 15:58:08 +0530
    message:
      PB2 failure fixes
    ------------------------------------------------------------
    revno: 5980.1.24 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Fri 2014-01-03 12:39:11 +0530
    message:
      MERGE : mysql-trunk->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.23
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Tue 2013-12-24 16:30:26 +0530
    message:
      PB2 failure fixes
    ------------------------------------------------------------
    revno: 5980.1.22
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Tue 2013-12-24 14:03:31 +0530
    message:
      PB2 failure fixes
    ------------------------------------------------------------
    revno: 5980.1.21
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Mon 2013-12-23 17:02:07 +0530
    message:
      fix for PB2 failures
    ------------------------------------------------------------
    revno: 5980.1.20
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Mon 2013-12-23 16:29:53 +0530
    message:
      Fixing PB2 failures
    ------------------------------------------------------------
    revno: 5980.1.19
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Fri 2013-12-20 14:22:52 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Added code to collect prepared statement executions statistics.
    ------------------------------------------------------------
    revno: 5980.1.18
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Tue 2013-12-17 16:18:33 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Removed LF_HASH for Prepared Statement instrumention completely.
    ------------------------------------------------------------
    revno: 5980.1.17
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Tue 2013-12-17 16:05:42 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details
       - Addressed 1st round of Marc's review comment.
    ------------------------------------------------------------
    revno: 5980.1.16
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2013-12-11 15:59:01 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Fixed multiple test result file accordingly.
       - Fixed crashes seen on PB2.
    ------------------------------------------------------------
    revno: 5980.1.15
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Tue 2013-12-10 17:18:06 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Added code for OBJECT_INSTANCE_BEGIN Column.
       - Added code to reflect usage of memory by new instrumentation.
       - Modified sizing* test cases accordingly.
    ------------------------------------------------------------
    revno: 5980.1.14
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Tue 2013-12-10 12:37:39 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Added code for following columns:
         - OWNER_THREAD_ID
         - OWNER_EVENT_ID
         - OWNER_OBJECT_TYPE
         - OWNER_OBJECT_SCHEMA
         - OWNER_OBJECT_NAME 
    ------------------------------------------------------------
    revno: 5980.1.13 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Tue 2013-12-10 11:08:55 +0530
    message:
      Merge : mysql-trunk-->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.12
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Fri 2013-12-06 16:20:24 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
      - Added instrumentation code for prepared stmt/execute/close issued
       from C APIs (mysql_stmt_prepare, mysql_stmt_execute and mysql_stmt_close)
        i.e. forThe 'binary' protocol, implemented with:
          - COM_STMT_PREPARE
          - COM_STMT_EXECUTE
          - COM_STMT_CLOSE
    ------------------------------------------------------------
    revno: 5980.1.11
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Thu 2013-12-05 16:05:40 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Added code for deleting stats of a preapred statement when 
         DEALLOCATE|DROP PREPARE stmt is called.
    ------------------------------------------------------------
    revno: 5980.1.10
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Thu 2013-12-05 14:19:24 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
      Details:
       - Added code to get pointer to prepared statement stats in prepared_stmt_array
         once and then used that everytime execute statement is called on that
         preapred statement. This will avoid calling find_or_create() 
         function everytime Execute statement is called.
    ------------------------------------------------------------
    revno: 5980.1.9
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Wed 2013-12-04 15:54:56 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
       More WL code into WL branch.
    ------------------------------------------------------------
    revno: 5980.1.8
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: wl5768
    timestamp: Tue 2013-12-03 15:41:27 +0530
    message:
      WL#5768 : PERFORMANCE SCHEMA, prepared statements instrumentation.
      
       First Patch for WL.
    ------------------------------------------------------------
    revno: 5980.1.7 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Thu 2013-11-28 12:05:02 +0530
    message:
      MERGE: mysql-trunk-->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.6 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Tue 2013-11-12 16:31:40 +0530
    message:
      MERGE : mysql-trunk->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.5 [merge]
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Tue 2013-08-13 12:16:55 +0530
    message:
      MERGE : mysql-trunk-->mysql-trunk-wl5768
    ------------------------------------------------------------
    revno: 5980.1.4
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Thu 2013-06-20 13:51:16 +0200
    message:
      test push
    ------------------------------------------------------------
    revno: 5980.1.3
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Thu 2013-06-20 13:49:56 +0200
    message:
      test push
    ------------------------------------------------------------
    revno: 5980.1.2
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Thu 2013-06-20 13:48:55 +0200
    message:
      test
    ------------------------------------------------------------
    revno: 5980.1.1
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl5768
    timestamp: Thu 2013-06-20 13:45:42 +0200
    message:
      New branch
------------------------------------------------------------
revno: 7610
committer: Raghav Kapoor <raghav.kapoor@oracle.com>
branch nick: mysql-trunk-wl7467
timestamp: Fri 2014-02-28 19:27:06 +0530
message:
  BUG#18311187 - SQL_MODE IS CHANGED TO WRONG VALUE AFTER DUMP/DATA UPGRADE FOR TRIGGERS
  
  BACKGROUND:
  With the push of WL#7467, it was observed that SQL_MODE is 
  changed to wrong value in triggers during live/dump upgrade
  which is not desired behaviour.
  
  ANALYSIS:
  SQL_MODE for triggers is stored in .TRG files at trigger 
  creation time.
  If the user upgraded to the version in which WL#7467 was pushed,
  the value of SQL_MODES in .TRG files started mapping to the
  new SQL_MODES currently available which was not desired and
  might lead to wrong behaviour of triggers after upgrade.
  
  FIX:
  As a fix for this issue, the removed SQL_MODES are again
  introduced for backward compatibility during upgrade.
  However, Setting NO_ZERO_DATE, NO_ZERO_IN_DATE and
  ERROR_FOR_DIVISION_BY_ZERO will have no effect and 
  user will get a warning if he tries to explicitly set
  these modes.  
  
  NOTE TO DOCUMENTATION:
  =====================
  For stored routines that were created in 5.6 with 
  NO_ZERO_* modes, after upgrade to 5.7, these modes will
  *not* show up in the output of
  SHOW CREATE PROC/FUNC/EVENTS/TRIGGERS, and SELECT * FROM
  information_schema.triggers.
  Only Select * from mysql.proc and mysql.events
  table will show the NO_ZERO_* modes after upgrade for the 
  procs/events that were created in 5.6.
  In 5.7, since we cannot use NO_ZERO_* modes,
  mysql.proc/mysql.events or even SHOW CREATE will not show
  any of NO_ZERO_* Modes.
------------------------------------------------------------
revno: 7609
committer: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-28 19:07:53 +0530
message:
  WL#4797 Extending protocol's OK packet
  
  Fix for a buffer overflow.
------------------------------------------------------------
revno: 7608
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk-wl6120
timestamp: Fri 2014-02-28 19:05:29 +0530
message:
  WL#6120
  
  -post push fix
  
  Testing relay log numbers with gtids in the test
  situation is non-deterministic. So, this test
  will fail on gtid-mode=on.
  
  Disabled the test with gtid-mode=on.
------------------------------------------------------------
revno: 7607
committer: Ritheesh Vedire <ritheesh.vedire@oracle.com>
branch nick: bug16814264_trunk
timestamp: Fri 2014-02-28 18:29:11 +0530
message:
  Bug#18259193: I_RPL.RPL_RELAY_LOG_5_5_FILTER_PERF_SCHEMA TIMING OUT
  
   The test was added as part of fix for Bug#16814264 to test PFS replication
   from 5.5 -> 5.7(slave). This test fails when an intraschema MTS 
   (slave_parallel_type=logical_clock) is enabled on the 5.7 slave.
   But this is not supported.
  
   1) Fixed by disabling this test for MTS run.
   2) Also, removed this test from experimental list.
------------------------------------------------------------
revno: 7606
committer: Dmitry Lenev <Dmitry.Lenev@oracle.com>
branch nick: mysql-trunk-wl7306-7305
timestamp: Fri 2014-02-28 16:42:26 +0400
message:
  Follow-up for WL#7306 "Improve MDL performance and scalability by
  implementing lock-free lock acquisition for DML".
  
  Fix for mdl_sync-t unit test failures under ASAN/Valgrind and on
  Windows.
  
  Ensure that Mock_error_handler error handler gets removed before
  THD object, for which it was installed, is destroyed.
------------------------------------------------------------
revno: 7605
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk-wl6120
timestamp: Fri 2014-02-28 17:59:11 +0530
message:
  Bug #18324650- BINLOG.BINLOG_SPURIOUS_DDL_ERRORS
                 FAILS WITH GTID ON
  
  After WL#7205 mtr tests are run with gtid-mode in 
  daily and weekly. This test was disabled when the
  WL was pushed and hence this was not caught.
  
  The test relies on CREATE..SELECT which is unsafe
  with gtids. Disabled the test with gtid-mode=on.
------------------------------------------------------------
revno: 7604
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-28 13:17:35 +0200
message:
  Followup to kevin.lewis@oracle.com-20140226054226-vsjgcki616iog1hw :
  
  Fix compilation failure on platforms without atomic builtins - os0proc.cc
  is using server_mutex which is defined in srv0srv.h, thus include that header
  in os0proc.cc.
  
  Approved by:	Marko (via IM)
------------------------------------------------------------
revno: 7603
committer: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
branch nick: mysql-trunk_new
timestamp: Fri 2014-02-28 16:33:38 +0530
message:
  WL#6936 - Implementation of server-side statement timeout.
  
  This is a follow up patch for WL#6936 to fix compilation 
  issue on solaris x86 for unused parameter error.
------------------------------------------------------------
revno: 7602
committer: Bharathy Satish <bharathy.x.satish@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-28 16:18:20 +0530
message:
  WL#6885: Flag to indicate session state
                    
  In order to ensure session migration from one server to another we need a 
  means to know if there is any session context available so that the context 
  can be migrated to the target server. This worklog will implement a means to
  let the connectors/fabric know that there is a change in session state by 
  sending a tracker(flag) to the client in the OK packet.
  A session state is considered to change in following cases:
       - user defined variable assignment
       - successful session specific value for server configuration 
         variables assignment
       - temporary tables created, altered or deleted
       - prepared statements added or removed
       - change of the current database
------------------------------------------------------------
revno: 7601
committer: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-28 16:02:39 +0530
message:
  WL#4797 Extending protocol's OK packet
  
  For several commands (e.g. SET NAMES, SET character_set,
  USE database, SET SQL_MODE) the client receives an ok packet
  without information about server status changes.
  e.g. After SET NAMES big5 the server assumes that the client
  sends big5 encoded data, while the client character set is
  still latin1.
  
  This patch extends the OK packet to allow server to send
  more information.
  
  List of server changes transmitted:
  - Session system variables
  - current database (schema)
  - info is sent as a lenenc string when
    CLIENT_SERVER_STATE_CHANGE is supported. Else the previous
    format is followed.
  
  A resource manager is also introduced to support session
  level char pointer system variables.
------------------------------------------------------------
revno: 7600
committer: Olav Sandstaa <olav.sandstaa@oracle.com>
branch nick: dsmrr-bug
timestamp: Fri 2014-02-28 11:14:52 +0100
message:
  WL#7338 Interface for improved records per key estimates@
  
  Follow-up patch:
  -fix compiler warning on Windows.
------------------------------------------------------------
revno: 7599 [merge]
committer: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-28 15:04:06 +0530
message:
  Null merge to 5.7 from 5.6
    ------------------------------------------------------------
    revno: 3902.291.296
    committer: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-02-28 15:01:41 +0530
    message:
      Bug#18014565: WRONG RESULT COMPUTATION USING ALL() AND GROUP BY
      
      Problem:
      Aggregation does not happen correctly because substitution for
      subquery is created with wrong item.
      
      Analysis:
      Currently while creating a substitution for ALL/ANY subqueries,
      optimizer uses "real_item" instead of the ref_item.
      If this happens to be a reference to an aggregate function
      then it would be creating the substitution with SUM_FUNC_ITEM
      rather than the REF_ITEM.
      
      If an aggregate function is present in having clause, optimizer
      calls split_sum_func2 to add the aggregate functions
      to the list of items in the select list.
      
      Ex: In the following query
      select f1, sum(f2) as sum from t1 group by f1 having sum >
                                                    all (select 1);
      
      "sum" in having clause is a reference to sum(f2). So while
      creating the substitution we create using the real_item of
      "sum" which is sum(f2). In split_sum_func2 we add this
      "sum(f2)" to the item list. As a result the item list now
      becomes "sum(f2), f1, sum(f2)". This results in creation
      of three fields in tmp_table. But both the sum(f2)'s would
      be pointing to the same result_field. So, while aggregating
      same result is added twice.
      Before the fix for Bug#16095534, the type would remain
      REF_ITEM and thereby optimizer would not be adding "sum"
      to the select item list.
      
      Solution:
      The problem addressed in Bug#16095534 exists only for Item_ref
      objects created while resolving not for the ref objects created
      during parsing. So use real_item only for such items.
------------------------------------------------------------
revno: 7598 [merge]
committer: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-28 14:55:31 +0530
message:
  Merge from 5.6 to 5.7
    ------------------------------------------------------------
    revno: 3902.319.1
    committer: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-02-28 14:32:30 +0530
    message:
      Bug#18014565: WRONG RESULT COMPUTATION USING ALL() AND GROUP BY
      
      Problem:
      Aggregation does not happen correctly because substitution for
      subquery is created with wrong item.
      
      Analysis:
      Currently while creating a substitution for ALL/ANY subqueries,
      optimizer uses "real_item" instead of the ref_item.
      If this happens to be a reference to an aggregate function
      then it would be creating the substitution with SUM_FUNC_ITEM
      rather than the REF_ITEM.
      
      If an aggregate function is present in having clause, optimizer
      calls split_sum_func2 to add the aggregate functions
      to the list of items in the select list.
      
      Ex: In the following query
      select f1, sum(f2) as sum from t1 group by f1 having sum >
                                                    all (select 1);
      
      "sum" in having clause is a reference to sum(f2). So while
      creating the substitution we create using the real_item of
      "sum" which is sum(f2). In split_sum_func2 we add this
      "sum(f2)" to the item list. As a result the item list now
      becomes "sum(f2), f1, sum(f2)". This results in creation
      of three fields in tmp_table. But both the sum(f2)'s would
      be pointing to the same result_field. So, while aggregating
      same result is added twice.
      Before the fix for Bug#16095534, the type would remain
      REF_ITEM and thereby optimizer would not be adding "sum"
      to the select item list.
      
      Solution:
      The problem addressed in Bug#16095534 exists only for Item_ref
      objects created while resolving not for the ref objects created
      during parsing. So use real_item only for such items.
------------------------------------------------------------
revno: 7597 [merge]
committer: Georgi Kodinov <georgi.kodinov@oracle.com>
branch nick: x-trunk
timestamp: Fri 2014-02-28 11:02:39 +0200
message:
  merge
    ------------------------------------------------------------
    revno: 7595.1.1 [merge]
    committer: Georgi Kodinov <georgi.kodinov@oracle.com>
    branch nick: x-trunk
    timestamp: Fri 2014-02-28 10:59:26 +0200
    message:
      merge. fixed backporting merge ids.
        ------------------------------------------------------------
        revno: 3902.291.295
        committer: Georgi Kodinov <georgi.kodinov@oracle.com>
        branch nick: x-5.6
        timestamp: Fri 2014-02-28 10:40:25 +0200
        message:
          newline at the end of a new file added.
------------------------------------------------------------
revno: 7596
committer: Olav Sandstaa <olav.sandstaa@oracle.com>
branch nick: wl7182
timestamp: Fri 2014-02-28 09:54:21 +0100
message:
  WL#7182 Optimizer Cost Model API
  
  This worklog implements the initial version of a new Cost model API
  for the optimizer. The existing hard coded cost constants are 
  removed from the optimizer and handler code and moved into
  the new cost model module.
  
  Two new classes are implemented:
        
  * Cost_model_server: This provides cost estimates for operations the
    server does that are not dependent the storage engine or storage
    device type.
        
  * Cost_model_table: This provides cost estimates for basic operations
    on tables that can depend on the storage engine.
------------------------------------------------------------
revno: 7595 [merge]
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug17986385_mysql-trunk
timestamp: Fri 2014-02-28 13:58:24 +0530
message:
  Merge from mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.294
    committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
    branch nick: Bug17986385_mysql-5.6
    timestamp: Fri 2014-02-28 13:51:13 +0530
    message:
      Bug#17986385:LOG-WARNINGS=2 UNUSABLE ON SLAVE WITH FILTERS
      
      Retaining the error log to identify the test behaviour.
------------------------------------------------------------
revno: 7594
committer: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
branch nick: trunk-wl6936-new
timestamp: Fri 2014-02-28 12:58:06 +0530
message:
  WL#6936 - Implementation of server-side statement timeout
  
  Server-side time limit for the execution of SELECT 
  statements. After completing specified amount of time, the 
  statement should be aborted without affecting the session
  (connection). This feature will help in interrupting and
  aborting the SELECT statements when their execution time crosses
  specified amount of time limit instead of just waiting for those
  queries to complete.
  
  This work log addresses the bug
  16271666 - IMPLEMENTATION OF SERVER-SIDE STATEMENT TIMEOUT
             SUPPORT
  
  
  Original patch for this WorkLog is Contributed by "Davi Arnaut"
  and it has been developed further. 
  
  Davi Arnaut Contributed original patch while working in Twitter.
  Now he works for LinkedIn.
------------------------------------------------------------
revno: 7593 [merge]
committer: Satya Bodapati <satya.bodapati@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-28 12:51:05 +0530
message:
  Merge fix for BUG#18124788 from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.293 [merge]
    committer: Satya Bodapati <satya.bodapati@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-02-28 12:47:32 +0530
    message:
      Merge fix for BUG#18124788 from mysql-5.5 to mysql-5.6
        ------------------------------------------------------------
        revno: 2875.592.3
        tags: clone-5.5.37-build
        committer: Satya Bodapati <satya.bodapati@oracle.com>
        branch nick: mysql-5.5
        timestamp: Fri 2014-02-28 12:45:53 +0530
        message:
          Bug#18124788 - COMPRESSED TABLES REGRESSION FROM 5.6.13
          
          After incrementing the number of pending uncompression operations,
          buffer pool zip mutex can be released immediately.
          
          Approved by Vasil. rb#4514
------------------------------------------------------------
revno: 7592
committer: Vinay Fisrekar <vinay.fisrekar@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-28 12:38:56 +0530
message:
  disable test on windows due to timeout. 
  Test is big test , need to be checked if it can be reduced or not
------------------------------------------------------------
revno: 7591
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk-wl6120
timestamp: Fri 2014-02-28 08:39:15 +0530
message:
  WL#6120
  
  -post push fix
  
  After WL#7205 was pushed, mtr tests are also run in
  gtid-mode with auto_position=1. The chaged tests here
  had CHANGE MASTER TO a file/position related field which
  failed saying this can not be done with auto_positio=1.
  
  Fixed by saving the auto_position value in the
  beginning of the test, setting auto_position= 0
  explicitly before using file/position related options
  in the test and restoring auto_position value at the
  end of the test.
------------------------------------------------------------
revno: 7590
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-bug18324285
timestamp: Fri 2014-02-28 01:50:48 +0100
message:
  Bug#18324285 PERFORMANCE OVERHEAD IN CONNECT DISCONNECT WITH PERFORMANCE
  SCHEMA
  
  This fix is a performance improvement.
  
  1)
  
  When a thread connects, reset of all per thread statistics
  are now delayed until a statistic is actually collected.
  
  This lazy initialization benefits workloads with very short lived sessions,
  for which instrumentation is disabled.
  
  2)
  
  When a thread disconnect, the per thread statistics are aggregated
  to a parent only for statistics that actually collected data.
  
  This optimization benefits workloads with very short lived sessions,
  for which instrumentation is disabled.
  
  3)
  
  For the statement instrumentation,
  reset of an individual event_name statistic is also now delayed
  until a statistic is actually collected.
  
  This benefit all workloads, because all workloads only contain a few
  types of statements (SELECT, INSERT, UPDATE, DELETE, ...),
  from the very long list of statements supported in MySQL.
  
  Only statements for event names actually executed are aggregated on
  disconnect.
  
  4)
  
  The memory footprint of internal memory buffers is reduced,
  by removing some attributes reserved for future use,
  that were in fact not used.
  
  In particular, statistics for mutexes, rwlocks and conditions
  now need less memory.
------------------------------------------------------------
revno: 7589
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: main-tr
timestamp: Fri 2014-02-28 00:24:06 +0100
message:
  Bug #18319335 RACE CONDITION ON WINDOWS WHEN BUILDING SQL_YACC.CC
  
    There should be only one target responsible for generating sql_yacc.h
------------------------------------------------------------
revno: 7588
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: main-tr
timestamp: Fri 2014-02-28 00:13:26 +0100
message:
  Forgot to up copyright year
------------------------------------------------------------
revno: 7587
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Thu 2014-02-27 13:47:50 -0600
message:
  Fix line endings, CRLF -> LF, from a recent patch.
------------------------------------------------------------
revno: 7586
committer: Dmitry Lenev <Dmitry.Lenev@oracle.com>
branch nick: mysql-trunk-wl7306-7305
timestamp: Thu 2014-02-27 23:17:23 +0400
message:
  WL#7306 "Improve MDL performance and scalability by implementing lock-free
  lock acquisition for DML" and fix for bug #18077895 "WL7305 PUSH (7249)
  CAUSES SYSBENCH OLTP_RO 1 THREAD TO DROP UP TO -8%".
  
  The idea of this task is to change the acquisition of unobtrusive locks on
  the fast path, which currently involves acquisition of MDL_lock::m_rwlock,
  some checks, increment of the packed counter and release of m_rwlock, to
  a single atomic compare-and-swap operation.
  Similarly the release of the lock on the fast path becomes single atomic
  compare-and-swap (in absence of obtrusive locks and assuming we are not
  releasing the last lock for this MDL_lock object) instead of acquisition
  of MDL_lock::m_rwlock, decrement of the packed counter, some checks and
  m_rwlock release.
  As result these operations become at least twice cheaper than their
  old versions which has a nice effect on performance/scalability.
  
  Acquisition/release of locks on the slow path (i.e. unobtrusive locks in
  presence of obtrusive locks and obtrusive locks) still has to use the old
  approach involving locking/unlocking MDL_lock::m_rwlocks and checks of
  MDL_lock::m_granted/m_waiting bitmaps/lists.
  
  This patch implements the above idea by performing the following
  three transformations:
  
  I)   MDL_lock::m_fast_path_granted_count is replaced with an atomic
       MDL_lock::m_fast_path_state member, which in the ideal case of
       "fast path" acquisition/release is checked and changed using CAS
       without holding any mutexes.
  II)  Since we would like to check in the same atomic CAS operation that
       MDL_lock object was not destroyed, its m_is_destroyed member is
       replaced by a IS_DESTROYED bit flag in the m_fast_path_state
       packed counter.
  III) Similarly, since we also would like to check in the same atomic CAS
       that there are no granted or pending obtrusive locks, we have to
       add a HAS_OBTRUSIVE bit flag in the m_fast_path_state, while
       keeping MDL_lock::m_obtrusive_locks_granted_waiting_count.
       This flag should be set when we are about to try acquiring an obtrusive
       lock and cleared once the last granted or pending obtrusive lock goes
       away.
  
  
  Most of the remaining changes in this patch are necessary in order to fix
  bug #18077895 "WL7305 PUSH (7249) CAUSES SYSBENCH OLTP_RO 1 THREAD TO DROP
  UP TO -8%".
  
  This bug manifested itself as a slowdown for workloads involving 1 connection
  in cases when there were many concurrent connections to the same server in the
  past or there were many dormant connections at the same time as 1 active
  connection.
  
  In such scenarios the release of a metadata lock meant that MDL_lock became
  unused, was removed from lock-free hash with all lock objects and we
  tried to return it back to allocator. The latter operation involved
  scanning pins for all current and past connections, which became fairly
  expensive in this scenario.
  
  This patch solves this problem by avoiding releasing MDL_lock objects
  and removing them from the hash once they are no longer used. Instead we
  keep unused objects in MDL_map and start their eviction only if their
  number passes certain threshold and the ratio of unused/total lock objects
  is big enough. We evict random unused objects so on average objects
  which are used more often will stay in the hash and rarely used objects
  will go away.
  
  The above idea is implemented by:
  
  a) Introducing a new HAS_SLOW_PATH flag in the MDL_lock::m_fast_path_state
     member, which indicates if there any tickets in MDL_lock::m_granted
     and m_waiting lists or we are about try to add one. Thanks to this
     flag, it is possible to distinguish between used and unused MDL_lock
     objects in atomic compare-and-swap operations used to implement fast
     path acquisition and release of locks.
  b) Changing code which releases locks to avoid removing unused MDL_lock
     objects from the hash and deleting them afterwards. Instead we
     atomically increment the newly introduced MDL_map::m_unused_lock_objects
     counter. Similarly, on the first acquisition of lock for MDL_lock which
     was previously unused we atomically decrement this counter.
  c) In cases when the increment of the MDL_map::m_unused_lock_objects counter
     exceeds the threshold value and the unused/total objects ratio is high
     enough, we try to reduce the number of unused objects. We look-up a random
     unused object in MDL_map, mark it as destroyed, remove it from the hash and
     return it back to allocator. As a consequence MDL_map::remove() method
     has became MDL_map::remove_random_unused().
  d) To support the change described in c), a new lf_hash_random_match()
     function was introduced which allows us to efficiently find a random
     object which matches certain condition in LF_HASH.
  e) Also to support the change described in c), a new PRNG was added to
     MDL_context class. This PRNG is used as a source for randomness for
     look-ups of random unused objects.
  
  Unit tests were added covering handling of unused MDL_lock objects and
  for the new lf_hash_random_matches() function.
  
  
  Finally, this patch fixes a violation of the pinning protocol, which was
  introduced by WL7305 and which occured when the MDL subsystem failed
  to look up MDL_lock object in lock free hash. The LF_HASH documentation
  was updated to reflect the need to call lf_hash_search_unpin in this case.
------------------------------------------------------------
revno: 7585
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk-wl6120
timestamp: Thu 2014-02-27 23:18:14 +0530
message:
  WL#6120
  
  - post push fix.
------------------------------------------------------------
revno: 7584
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-deadcode
timestamp: Thu 2014-02-27 14:12:51 +0100
message:
  Bug#17730320: REMOVE UNNEEDE CMAKE CHECKS AND #IFDEFS IN 5.7.4
  
  Patch #3. This patch removes the following:
  
  HAVE_SETENV - always true
  HAVE_DECL_SHM_HUGETLB - use HAVE_LARGE_PAGES instead
  HUGETLB_USE_PROC_MEMINFO - use HAVE_LARGE_PAGES instead
  HAVE_LARGE_PAGE_OPTION - use HAVE_LARGE_PAGES || HAVE_SOLARIS_LARGE_PAGES instead
  HAVE_RWLOCK_T - never used
  HAVE_DECL_MHA_MAPSIZE_CA - use HAVE_SOLARIS_LARGE_PAGES instead
  HAVE_SYS_IPC_H - always true (where used)
  HAVE_SYS_SHM_H - always true (where used)
  
  Removed _MSC_VER checks where they are not relevant as we require Visual Studio 2010
  (which has _MSC_VER = 1600). Also added CMake check which aborts configuration if
  an older version of Visual Studio is used.
  
  Removed HAVE_PREAD checks where they are not relevant. HAVE_PREAD is always true
  for non-Windows supported platforms (POSIX).
------------------------------------------------------------
revno: 7583 [merge]
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk-updated
timestamp: Thu 2014-02-27 18:27:51 +0530
message:
  WL#6120- Change master without stopping slave
  
  Currently, the way we move from a topology M1->S to M2->S is:
  
      a) STOP SLAVE
      b) SHOW SLAVE STATUS to get (Read_Master_Log_Pos, Master_Log_File)
      c) START SLAVE UNTIL <position>
      d) SELECT MASTER_POS_WAIT(<position>)
      e) CHANGE MASTER <new master>
      f) START SLAVE 
  
     The proposal is to reduce these steps to just
  
        CHANGE MASTER <new master>
  
     wherever applicable. See points (a-d) below regarding these rules.
  
     a) If IO thread is running and SQL thread is stopped:
           - CHANGE MASTER TO RELAY_LOG_FILE/RELAY_LOG_POS/MASTER_DELAY will be
             allowed.
           - All other CHANGE MASTER options will be disallowed
  
     b) If SQL thread is running and IO thread is stopped:
           - CHANGE MASTER TO RELAY_LOG_FILE/RELAY_LOG_POS/MASTER_DELAY will be
             disallowed
           - All other CHANGE MASTER options will be allowed.
  
     c) CHANGE MASTER TO MASTER_AUTO_POSITION=1 will be allowed only if both IO
        and SQL threads are stopped.
  
     d) If the receiver/applier is running and the slave has open temporary tables, 
        we print a warning on CHANGE MASTER.
  
  2) In the above mentioned change, there could be an instant of time when
     the IO thread is reading from M2 and the SQL thread is executing events that
     had been received from M1, *both at the same time*. Also there is no overhead
     of killing and spawning new threads.
  
  3) Currently, CHANGE MASTER purges relay log files unless the command uses
     RELAY_LOG_FILE/RELAY_LOG_POS option. This behavior will be kept intact when
     the both thread are stopped. The reason for this is that we can't remove the
     relay log(s) with a running SQL thread.
     When any one thread is running while we do a CHANGE MASTER, we dont delete
     relaylogs. The relaylog deletion can be handled by using the relay-log-purge
     option.
  
  4) With Statement based replication (SBR), we don't recommend using temporary
     tables. One reason is that there is a possibility that the temporary tables
     are left open forever on a failover. To warn users that there could be such
     a situation we introduce warnings in the error log when one does a change
     master or stop slave. More precisely, we follow the following rules:
      
       4.1 change master should never drop temp tables
       4.2 We introduce a new command to drop temp tables. This will be done
           in WL#7441.
       4.3 The options under change master can be grouped under three groups:
           a) To change a connection configuration but remain connected to             
              the same master.                                                         
           b) To change positions in binary or relay log(eg: master_log_pos).          
           c) To change the master you are replicating from.  
           Change master should generate a warning if there are open temp tables
           in cases a and b above.
       4.4 Stop slave should generate a warning if there are open temp tables.
    ------------------------------------------------------------
    revno: 6742.1.41 [merge]
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2014-02-27 18:17:13 +0530
    message:
      WL#6120
      
      Merge with mysql-trunk
    ------------------------------------------------------------
    revno: 6742.1.40 [merge]
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2014-02-27 08:34:16 +0530
    message:
      WL#6120
      
      - Merged with mysql-trunk
      - Resolved conflicts.
    ------------------------------------------------------------
    revno: 6742.1.39 [merge]
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Tue 2014-02-25 18:16:52 +0530
    message:
      WL#6120
      
      -merged with trunk
      -resolved conflicts
    ------------------------------------------------------------
    revno: 6742.1.38 [merge]
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2014-02-20 14:40:32 +0530
    message:
      WL#6120:
      
      merge with mysql-trunk
    ------------------------------------------------------------
    revno: 6742.1.37 [merge]
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2014-02-13 12:19:23 +0530
    message:
      WL#6120
      
      merge with mysql-trunk
    ------------------------------------------------------------
    revno: 6742.1.36
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Wed 2014-02-12 23:42:12 +0530
    message:
      WL#6120
      
      - Updated result files after merge from trunk,
        the error numbers changed after merge.
    ------------------------------------------------------------
    revno: 6742.1.35 [merge]
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Mon 2014-02-10 15:01:32 +0530
    message:
      WL#6120
      
      Merge with mysql-trunk
    ------------------------------------------------------------
    revno: 6742.1.34
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Tue 2014-02-04 14:57:03 +0530
    message:
      Bug#18152490- WL6120: UPDATE ERROR MESSAGE FOR
                   'SET GLOBAL SQL_SLAVE_SKIP_COUNTER' AND MORE
      
      Problem:
      
      WL#6120 introduced ER_SLAVE_IO_THREAD_MUST_STOP and
      WL#7057 introduced ER_SLAVE_SQL_THREAD_MUST_STOP.
      Prior to that, we only had ER_SLAVE_MUST_STOP which
      was used when one of the slave threads needed to be
      stopped. The bug report asks for spotting all usage of
      ER_SLAVE_MUST_STOP and analyzing if stopping only
      one of IO/SQL thread is enough in the given situation.
      If possible replace with the corresponding error.
      
      Fix:
      
      Replaced the usage of ER_SLAVE_MUST_STOP in the
      following situations:
      - set slave parallel type names.
      - set SQL_SLAVE_SKIP_COUNTER.
      
      Updated tests accordingly.
    ------------------------------------------------------------
    revno: 6742.1.33
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2014-01-30 17:13:10 +0530
    message:
      WL#6120
      
      Updated tests
      - Replaced sync_slave_with_master with
        include/sync_slave_sql_with_master.inc
    ------------------------------------------------------------
    revno: 6742.1.32
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2014-01-23 20:56:44 +0530
    message:
      WL#6120- Change master without stopping slave
      
      - Recorded failing tests after the new warning
        added in the previous patch.
    ------------------------------------------------------------
    revno: 6742.1.31
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Wed 2014-01-22 16:24:07 +0530
    message:
      WL#6120- Change master without stopping slave
      
      - Added mysql_mutex_assert_owner(get_log_lock()); in
        MYSQL_BIN_LOG.open_binlog() so that it complains if
        the lock is not taken. If the assert isnt there it
        could lead to races in future. Also added locks in the
        callers to avoid crashes after adding the assert.
      - The variable 'data_cond' is only being used in
        class Relay_log_info and not in the class Master_info.
        Added a note in the code regarding this observation.
      - CHANGE MASTER TO with a MASTER_LOG_FILE clause but no
        MASTER_LOG_POS clause may not be safe. The old position
        value is unlikely to be valid for the new binary log file.
        Added a warning regarding this.
      - Also corrected rpl_change_topology.inc for the same reason
        as in the above point.
      - Added comments in an aim to get a more verbose
        and better organized test/result file
      - Other minor bug fixes and cleanup.
    ------------------------------------------------------------
    revno: 6742.1.30
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Mon 2014-01-20 13:04:47 +0530
    message:
      WL#6120- Change master without stopping slave
      
      - Minor refactoring in code.
    ------------------------------------------------------------
    revno: 6742.1.29
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Sat 2014-01-18 00:00:22 +0530
    message:
      WL#6120- Change master without stopping slave
      
      The test has temporary tables open when stop
      slave is executed. After this WL, there will
      be a warning in SBR regarding this, but in RBR
      there will be no such warning. So the test
      starts to produce different result files in SBR
      and RBR.
      
      In an earlier patch, the test was made different
      for SBR and RBR with an auxiliary test and two
      result files.
      
      In this patch we reverted this and instead disabled
      warnings at stop slaves where the new warning appears.
      This saves us from running the test twice as in the
      previous solution.
    ------------------------------------------------------------
    revno: 6742.1.28
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Fri 2014-01-17 20:52:04 +0530
    message:
      WL#6120- Change master without stopping slave
      
      - Moved code to set 'need_relay_log_purge' variable
        from change_execute_options() to have_execute_option().
      - Removed 'ret' variable from change_master().
      - Removed mysql_cond_broadcast(&mi->data_cond);
        This has no listener.
      - Modified the signature of set_password().
        The second argument was not being used so removed it.
        The callers always make sure NULL is not being passed
        as password, so added an assert for the same. 
      - Improved tests comments.
      - Fixed indentation issues.
    ------------------------------------------------------------
    revno: 6742.1.27
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Mon 2014-01-06 17:27:02 +0530
    message:
      WL#6120- Change master without stopping slave
      
      - Removed sync_slave_with_master from end of tests.
        The same is already done by rpl_end.inc
    ------------------------------------------------------------
    revno: 6742.1.26
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Mon 2014-01-06 13:46:58 +0530
    message:
      WL#6120 Change master without stopping slave
      
      - modified comment. Same comment was written twice.
    ------------------------------------------------------------
    revno: 6742.1.25
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Sun 2014-01-05 13:58:56 +0530
    message:
      WL#6120- Change master without stopping slave
      
      - Recorded failing test
    ------------------------------------------------------------
    revno: 6742.1.24
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Sun 2014-01-05 11:55:47 +0530
    message:
      WL#6120 Change master without stopping slave
      
      - Worked on the failing tests
      - SBR and RBR behave differently with temporary table.
        Hence split rpl_temporary.test into different tests
        for SBR and RBR.
      - Moved warning about open temp table in stop_slave()
        from top to after temination of threads.
    ------------------------------------------------------------
    revno: 6742.1.23
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Sat 2014-01-04 17:00:58 +0530
    message:
      W#6120- Change master without stopping slave
      
      -Minor cleanups in test.
    ------------------------------------------------------------
    revno: 6742.1.22
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Sat 2014-01-04 16:44:34 +0530
    message:
      WL#6120 - Change master without stopping slave
      
      - Worked on review comments from Libing
    ------------------------------------------------------------
    revno: 6742.1.21
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2014-01-02 16:12:09 +0530
    message:
      WL#6120- Change master without stopping slave
      
      - removed data_locks.
    ------------------------------------------------------------
    revno: 6742.1.20
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2014-01-02 15:25:54 +0530
    message:
      WL#6120- Change master without stoping slave
      
      - Broke the change_master() function into
        5 functions for readability.
      - fixed a small bug found (ret=false to ret=true)
    ------------------------------------------------------------
    revno: 6742.1.19
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Fri 2013-12-20 18:49:51 +0530
    message:
      WL#6120 Change master without stopping slave
      
      - Added more cases in test.
    ------------------------------------------------------------
    revno: 6742.1.18
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Fri 2013-12-20 18:21:50 +0530
    message:
      WL#6120 Change master without stopping slave
      
      - minor changes in test.
    ------------------------------------------------------------
    revno: 6742.1.17
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Fri 2013-12-20 17:56:04 +0530
    message:
      WL#6120 Change master without stopping slave
      
      - When one does a change master/stop slave
        and there are open replicated temp tables.
        Changed when we give a warning in this patch.
    ------------------------------------------------------------
    revno: 6742.1.16
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Wed 2013-12-18 12:36:50 +0530
    message:
      WL#6120- change master without stopping slave
      
      - Fixed tests
      - Improved comments
      - More code cleanup
      - pushed run_lock to end of change_master()
    ------------------------------------------------------------
    revno: 6742.1.15
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Mon 2013-12-16 10:57:47 +0530
    message:
      WL#6120- Chage master without stopping slaves
      
      - Fixed test failures.
      - added mutex LOCK_log for open_binlog() call
    ------------------------------------------------------------
    revno: 6742.1.14
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2013-12-12 18:39:28 +0530
    message:
      WL#6120- Change master without stopping slave
      
      - Fixed the errors in auto_position and master_delay options.
    ------------------------------------------------------------
    revno: 6742.1.13
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2013-12-12 15:21:02 +0530
    message:
      WL#6120- Change master without stopping slave
      
      - Fixed indentation issues.
      - Recorded failing mtr tests.
      - Removed an assert added in the last patch in
        open_binlog() method by mistake.
    ------------------------------------------------------------
    revno: 6742.1.12
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Wed 2013-12-11 20:53:48 +0530
    message:
      WL#6120- Change master without stopping slave
      
      - Addressed review coments.
      - Re-organized, cleaned code and added coments
        to change_master() function.
    ------------------------------------------------------------
    revno: 6742.1.11 [merge]
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Tue 2013-12-03 01:12:17 +0530
    message:
      WL#6120
      
      Merge with mysql-trunk
    ------------------------------------------------------------
    revno: 6742.1.10
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Mon 2013-12-02 19:06:15 +0530
    message:
      WL#6120- Change master without stopping slave
      
      Addressed review comments (rb#3991)
    ------------------------------------------------------------
    revno: 6742.1.9
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Fri 2013-11-29 18:15:36 +0530
    message:
      WL#6120- change master without stopping slave
      
      
      In this patch, we changed the behavior related to
      temporary tables. The new behavior is deined by
      the following set of rules.
        
      1) change master should never drop temp tables
      2) We introduce a new command to drop temp tables.
         This will be done in WL#7441.
      3) Change master should generate a warning if
         there are open temp tables.
      4) Stop slave should generate a warning if there
         are open temp tables.
    ------------------------------------------------------------
    revno: 6742.1.8
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Tue 2013-11-05 20:06:13 +0530
    message:
      WL#6120- change master without stopping slave
      
      In this patch:
      
      - Renamed tests to add 'rpl_' in the beginning.
      - Added more tests
      - protected the call to global_init_info with an
        if that makes sure this function is called only
        for threads that are stopped.
    ------------------------------------------------------------
    revno: 6742.1.7
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2013-10-31 13:57:34 +0530
    message:
      WL#6120- change master without stopping slave
      
      Fixed change_master_without_stopping_slave_threads.test
    ------------------------------------------------------------
    revno: 6742.1.6
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Thu 2013-10-31 02:02:44 +0530
    message:
      WL#6120- Change master without stopping slave
      
      - Fixed some minor bugs in code.
      - Cosmetic changes (removed whitespace etc)
      - Added test to verify the basic functionality.
    ------------------------------------------------------------
    revno: 6742.1.5
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Wed 2013-10-30 01:04:51 +0530
    message:
      WL#6120- Change master without stopping slave
      
      Fixed failing tests after code changes in
      previous patches.
    ------------------------------------------------------------
    revno: 6742.1.4
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Tue 2013-10-29 21:02:32 +0530
    message:
      WL#6120- Change master without stopping slave
            
      Currently, a CHANGE MASTER requires a STOP SLAVE
      to kill the IO and SQL threads. Also, In order
      to switch the I/O thread over to read from another
      master it is currently necessary to stop the SQL
      thread as well.
            
      This worklog implement support for
      1) Not having to STOP SLAVE, wherever possible.
      2) Re-directing the I/O thread without having to
         stop the SQL thread.
      3) Allow change Master without stopping IO thread
         wherever possible
      
      This patch completes the coding except for some loose
      ends.
    ------------------------------------------------------------
    revno: 6742.1.3
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Mon 2013-10-28 13:10:29 +0530
    message:
      WL#6120- Change master without stopping slave
           
      Fixed the broken build after introducing
      ER_SLAVE_IO_THREAD_MUST_STOP
    ------------------------------------------------------------
    revno: 6742.1.2
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Sat 2013-10-26 01:32:22 +0530
    message:
      Null merge
    ------------------------------------------------------------
    revno: 6742.1.1
    committer: Shivji Jha <shivji.jha@oracle.com>
    branch nick: mysql-trunk-wl6120
    timestamp: Sat 2013-10-26 00:53:07 +0530
    message:
      WL#6120- Change master without stopping slave
      
      Currently, a CHANGE MASTER requires a STOP SLAVE
      to kill the IO and SQL threads. Also, In order
      to switch the I/O thread over to read from another
      master it is currently necessary to stop the SQL
      thread as well.
      
      This worklog implement support for
      1) Not having to STOP SLAVE, wherever possible.
      2) Re-directing the I/O thread without having to
         stop the SQL thread.
      3) Allow change Master without stopping IO thread
         wherever possible.
      
      In this patch:
      
      1) Relaxed the check that made sure both IO and
         SQL threads were stopped before CHANGE MASTER.
      2) Added new error messages for IO thread and SQL
         thread when required. 
         
------------------------------------------------------------
revno: 7582
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-da-memroot
timestamp: Thu 2014-02-27 13:22:23 +0100
message:
  Fix test failures due to error code renumbering.
------------------------------------------------------------
revno: 7581
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-da-memroot
timestamp: Thu 2014-02-27 13:13:33 +0100
message:
  Bug#18067818: DON'T PREALLOCATE MEMORY FOR THE DIAGNOSTICS AREA MEMROOT
  
  Don't preallocate memory in Diagnostics_area to contain Sql_conditions.
  Instead wait until an Sql_condition is actually raised.
  This makes construction of Diagnostics_area cheaper as we save a
  my_malloc call. This has consequences for processing of new connections,
  calling of stored routines etc.
------------------------------------------------------------
revno: 7580
committer: Shaohua Wang <shaohua.wang@oracle.com>
branch nick: mysql-trunk-bugfix1
timestamp: Thu 2014-02-27 19:27:45 +0800
message:
  BUG#18253210 - ASSERT !SYNC_CHECK_ITERATE(CHECK), FTS_CREATE_DOC_ID() 
  
  Analysis:
  When we pass btrsea_sync_check to sync_check_iterate(row_sel),
  the assert fails because we hold fts cache lock(fts_init_index).
  
  Solution:
  Modify btrsea_sync_check to accept latch type SYNC_FTS_CACHE.
  
  rb://4780 approved by Jimmy.Yang.
------------------------------------------------------------
revno: 7579 [merge]
committer: Georgi Kodinov <georgi.kodinov@oracle.com>
branch nick: x-trunk
timestamp: Thu 2014-02-27 12:38:07 +0200
message:
  merge
    ------------------------------------------------------------
    revno: 7577.1.2 [merge]
    committer: Georgi Kodinov <georgi.kodinov@oracle.com>
    branch nick: x-trunk
    timestamp: Thu 2014-02-27 12:36:16 +0200
    message:
      empty merge
        ------------------------------------------------------------
        revno: 3902.291.292 [merge]
        committer: Georgi Kodinov <georgi.kodinov@oracle.com>
        branch nick: B18295445-5.6
        timestamp: Thu 2014-02-27 12:27:19 +0200
        message:
          merge
    ------------------------------------------------------------
    revno: 7577.1.1 [merge]
    committer: Georgi Kodinov <georgi.kodinov@oracle.com>
    branch nick: B18295445-trunk
    timestamp: Thu 2014-02-27 12:27:51 +0200
    message:
      merge
        ------------------------------------------------------------
        revno: 7575.1.2
        committer: Georgi Kodinov <georgi.kodinov@oracle.com>
        branch nick: B18295445-trunk
        timestamp: Thu 2014-02-27 12:25:48 +0200
        message:
          Bug #18295445 merged to trunk : fixed error codes.
        ------------------------------------------------------------
        revno: 7575.1.1 [merge]
        committer: Georgi Kodinov <georgi.kodinov@oracle.com>
        branch nick: B18295445-trunk
        timestamp: Wed 2014-02-26 18:35:40 +0200
        message:
          (mostly) null-merged backport-bug #18295445 to trunk.
          Kept the new position of the error code added at the end of the 5.6 error codes.
            ------------------------------------------------------------
            revno: 3902.318.1
            committer: Georgi Kodinov <georgi.kodinov@oracle.com>
            branch nick: B18295445-5.6
            timestamp: Tue 2014-02-25 12:40:20 +0200
            message:
              Bug #18295445: BACKPORT aes_encrypt/decrypt  block mode and key length extensions to 5.6
              
              This is a backport of WL#6781 to 5.6.
------------------------------------------------------------
revno: 7578
committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
branch nick: trunk-build
timestamp: Sun 2014-02-23 14:42:33 +0400
message:
  Update .bzrignore.
------------------------------------------------------------
revno: 7577
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: main-tr
timestamp: Thu 2014-02-27 10:48:29 +0100
message:
  Bug #18306484 PACKAGE GCC SOURCE TARBALL IF PRESENT IN THE SOURCE TREE
  
    Conditionally install the file
    Only needed for Solaris ATM but no need to make the cmake code conditional
      on Solaris; PB2 will take care of knowing when to inject it into the src
------------------------------------------------------------
revno: 7576 [merge]
committer: Anitha Gopi <anitha.gopi@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-27 04:12:01 +0100
message:
  Merge up from 5.6
    ------------------------------------------------------------
    revno: 3902.291.291
    committer: Anitha Gopi <anitha.gopi@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-02-27 04:08:57 +0100
    message:
      Removed --debug-server from embedded run commandline since there are no debug builds for embedded server
------------------------------------------------------------
revno: 7575
committer: horst.hunger@oracle.com
branch nick: mysql-trunk
timestamp: Wed 2014-02-26 16:09:33 +0100
message:
  WL#6627: Fixed wrong directory information in README.
------------------------------------------------------------
revno: 7574
committer: horst.hunger@oracle.com
branch nick: mysql-trunk
timestamp: Wed 2014-02-26 16:01:15 +0100
message:
  WL#6627: MATS as list of tests including README how to use it.
------------------------------------------------------------
revno: 7573
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-cmake
timestamp: Wed 2014-02-26 14:58:19 +0100
message:
  Bug#17772560 -DWITH_EXAMPLE_STORAGE_ENGINE=1 IS IGNORED
  
  -DWITH_EXAMPLE_STORAGE_ENGINE=1 was ignored, 
  although, according to the docs, it shouldn't be
  
  If DWITH_EXAMPLE_STORAGE_ENGINE=0 then build it as a plugin.
  Fix error messages in case the plugin wasn't found (old ones referred to mtr-v1 functionality)
------------------------------------------------------------
revno: 7572
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-review
timestamp: Wed 2014-02-26 14:55:00 +0100
message:
  Bug#18057514 SHOW GRANTS EXPOSES PASSWORD HASH FOR PROXIED USER
  
  Record new results for --ps-protocol
------------------------------------------------------------
revno: 7571 [merge]
committer: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
branch nick: mysql-5.6-trunk
timestamp: Wed 2014-02-26 19:21:45 +0530
message:
  Null merge from 5.6 to trunk.
    ------------------------------------------------------------
    revno: 3902.291.290
    committer: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
    branch nick: mysql-5.6-online
    timestamp: Wed 2014-02-26 19:16:46 +0530
    message:
      BUG# 13975225: ONLINE OPTIMIZE TABLE FOR INNODB TABLES 
      
      Post push fix for test case innodb_mysql_sync on 5.6.
------------------------------------------------------------
revno: 7570
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-review
timestamp: Wed 2014-02-26 14:47:29 +0100
message:
  Bug#18222041: DON'T USE __GNUC__ AND __GNUC_MINOR__ TO TEST FOR COMPILER FEATURES
  
  gcc on solaris has __builtin_stpcpy, but still calls stpcpy,
  which is not available on solaris 10, and linking fails.
  
  Solution: disable the check for __builtin_stpcpy for gcc on solaris.
------------------------------------------------------------
revno: 7569
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-test
timestamp: Wed 2014-02-26 13:41:57 +0100
message:
  Bug#18222041: DON'T USE __GNUC__ AND __GNUC_MINOR__ TO TEST FOR COMPILER FEATURES
  
  Post-push fix: Unbreak Cluster builds.
------------------------------------------------------------
revno: 7568
committer: Atanu Ghosh <atanu.ghosh@oracle.com>
branch nick: mysql-trunk-new
timestamp: Wed 2014-02-26 16:26:05 +0530
message:
  WL#7131:Add timestamp in mysql.user on the last time the 
          password was changed and implement password rotation
  
  We need to track when the password was last changed 
  and implement password rotation.
  
  Put a TIMESTAMP column inside mysql.user table and 
  update it when the password is updated.
  
  Put another column in mysql.user, holding the number
  of days after which the password must expire.
  
  Introduce extension of query ALTER USER as:
  
  ALTER USER foo PASSWORD EXPIRE EVERY <day> DAY;
  ALTER USER foo PASSWORD EXPIRE NEVER;
  ALTER USER foo PASSWORD EXPIRE DEFAULT;
------------------------------------------------------------
revno: 7567 [merge]
committer: Mattias Jonsson <mattias.jonsson@oracle.com>
branch nick: topush-trunk
timestamp: Wed 2014-02-26 10:40:30 +0100
message:
  WL#6868: Support transportable tablespaces for single innodb partition.
  
  Merge into mysql-trunk.
    ------------------------------------------------------------
    revno: 7545.1.3
    committer: Mattias Jonsson <mattias.jonsson@oracle.com>
    branch nick: wl6868-3
    timestamp: Wed 2014-02-26 10:24:58 +0100
    message:
      WL#6868: Support transportable tablespaces for single innodb partition.
      
      Minor test update.
    ------------------------------------------------------------
    revno: 7545.1.2 [merge]
    committer: Mattias Jonsson <mattias.jonsson@oracle.com>
    branch nick: wl6868-3
    timestamp: Tue 2014-02-25 11:52:54 +0100
    message:
      Merge of WL#6868 into updated mysql-trunk.
        ------------------------------------------------------------
        revno: 7462.3.6
        committer: Vinay Fisrekar <vinay.fisrekar@oracle.com>
        branch nick: mysql-trunk-wl6868
        timestamp: Tue 2014-02-25 09:56:26 +0530
        message:
          Import/export for table with 8192 partition 
        ------------------------------------------------------------
        revno: 7462.3.5
        committer: Vinay Fisrekar <vinay.fisrekar@oracle.com>
        branch nick: mysql-trunk-wl6868
        timestamp: Wed 2014-02-19 18:07:38 +0530
        message:
          Fixing testcase innodb-import-partition-rpl and added statement for partition maintenance commands in innodb-import-partition. 
        ------------------------------------------------------------
        revno: 7462.3.4
        committer: Vinay Fisrekar <vinay.fisrekar@oracle.com>
        branch nick: mysql-trunk-wl6868
        timestamp: Wed 2014-02-19 17:31:56 +0530
        message:
          Added testcase of importing single partition file with replication setup
        ------------------------------------------------------------
        revno: 7462.3.3
        committer: Vinay Fisrekar <vinay.fisrekar@oracle.com>
        branch nick: mysql-trunk-wl6868
        timestamp: Wed 2014-02-19 17:06:18 +0530
        message:
          Adding testcase to discard all partition table files one after another.
        ------------------------------------------------------------
        revno: 7462.3.2
        committer: Mattias Jonsson <mattias.jonsson@oracle.com>
        branch nick: wl6868
        timestamp: Thu 2014-02-13 11:15:07 +0100
        message:
          WL#6868, Added suppressions for test.
        ------------------------------------------------------------
        revno: 7462.3.1 [merge]
        committer: Mattias Jonsson <mattias.jonsson@oracle.com>
        branch nick: wl6868-2
        timestamp: Wed 2014-02-12 23:27:35 +0100
        message:
          Rebased wl#6868 after changing 6867.
            ------------------------------------------------------------
            revno: 7462.2.1 [merge]
            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
            branch nick: wl6868-2
            timestamp: Wed 2014-02-12 15:12:52 +0100
            message:
              Merge of WL#6868 into a more recent mysql-trunk
              
              Also added subpartition test.
                ------------------------------------------------------------
                revno: 7419.2.1
                committer: Mattias Jonsson <mattias.jonsson@oracle.com>
                branch nick: wl6868
                timestamp: Thu 2014-02-06 14:02:06 +0100
                message:
                  WL#6868: Support transportable tablespaces for single innodb partition.
                  
                  (Based on WL#6867.)
                  
                  Made alter_info.partition_names a List<String> instead of List<char>,
                  so it is the same as table_list.partition_names.
                  
                  Added syntax support for:
                  ALTER TABLE t DISCARD PARTITION <list_of_parts> TABLESPACE
                  ALTER TABLE t IMPORT PARTITION <list_of_parts> TABLESPACE
                  which will only DISCARD/IMPORT the listed partitions.
                  
                  Note that FLUSH FOR EXPORT still works on table level!
------------------------------------------------------------
revno: 7566 [merge]
committer: Mattias Jonsson <mattias.jonsson@oracle.com>
branch nick: topush-trunk
timestamp: Wed 2014-02-26 10:32:57 +0100
message:
  WL#6867: Support transportable tablespaces for partitioned innodb tables.
  
  Merge into mysql-trunk.
    ------------------------------------------------------------
    revno: 7545.1.1 [merge]
    committer: Mattias Jonsson <mattias.jonsson@oracle.com>
    branch nick: wl6867-3
    timestamp: Tue 2014-02-25 10:41:48 +0100
    message:
      Merge of WL#6867 into updated mysql-trunk.
        ------------------------------------------------------------
        revno: 7462.1.3
        committer: Vinay Fisrekar <vinay.fisrekar@oracle.com>
        branch nick: mysql-trunk-wl6867
        timestamp: Tue 2014-02-18 15:49:07 +0530
        message:
          Test for export/import of partitioned table with replication setup
        ------------------------------------------------------------
        revno: 7462.1.2
        committer: Mattias Jonsson <mattias.jonsson@oracle.com>
        branch nick: wl6867-2
        timestamp: Wed 2014-02-12 23:13:14 +0100
        message:
          WL#6867 Support DISCARD/IMPORT TABLESPACE for partitioned tables
          
          Updated test.
        ------------------------------------------------------------
        revno: 7462.1.1 [merge]
        committer: Mattias Jonsson <mattias.jonsson@oracle.com>
        branch nick: wl6867-2
        timestamp: Wed 2014-02-12 13:14:05 +0100
        message:
          Merge of WL#6867 into an updated mysql-trunk
            ------------------------------------------------------------
            revno: 7419.1.3
            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
            branch nick: wl6867
            timestamp: Wed 2014-02-12 12:45:39 +0100
            message:
              WL#6867: Support Transportable Tablespaces for partitioned InnoDB tables
              
              Created common include file to be used for both partitioned and non partitioned
              export/discard/import tests.
            ------------------------------------------------------------
            revno: 7419.1.2
            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
            branch nick: wl6867
            timestamp: Thu 2014-02-06 13:20:11 +0100
            message:
              WL#6867: Support Transportable Tablespaces for partitioned InnoDB tables
              
              Cleaned up the test, removed the use of new database and removed
              unused tests.
            ------------------------------------------------------------
            revno: 7419.1.1
            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
            branch nick: wl6867
            timestamp: Thu 2014-02-06 12:06:53 +0100
            message:
              WL#6867: Support transportable tablespaces for partitioned innodb tables
              
              wl#5522 was limited to only support non-partitioned innodb tables.
              
              This adds support also for partitioned innodb tables.
------------------------------------------------------------
revno: 7565
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-02-26 14:40:53 +0530
message:
  The function mem_init() has been removed.  Compilation failed for a unit test
  because it was using this mem_init() function.  Updated the unit test to not
  use mem_init().
  
  approved by Vasil over IM.
------------------------------------------------------------
revno: 7564
committer: sayantan dutta <sayantan.dutta@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-02-26 14:34:41 +0530
message:
  Bug #18274766 - RESULT FILE LOST FOR FAILING TEST
------------------------------------------------------------
revno: 7563
committer: Anitha Gopi <anitha.gopi@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-02-26 07:10:00 +0100
message:
  rpl.rpl_optimize fails frequently on PB2. Moving to experiumental group
------------------------------------------------------------
revno: 7562
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Tue 2014-02-25 23:42:26 -0600
message:
  WL#7628 - Remove innodb_use_sys_malloc & innodb_additional_mem_pool_size
  system variables in 5.7
  
  This effort involves deleting and changing the following code, code files and
  test files.
  
  * Global setting innodb_use_sys_malloc
  * Test suite/sys_vars/innodb_use_sys_malloc_basic
  * Global setting innodb_additional_mem_pool_size
  * Test suite/sys_vars/innodb_additional_mem_pool_size_basic
  * The common memory pool and all the code that implements memory pools
  in mem0pool.cc, mem0pool.h, mem0pool.ic
  * Rename test innodb_use_sys_malloc to innodb-large-prefix and delete the
  portion of this test that relates to the innodb_use_sys_malloc setting.
  * Change ut_malloc() so that it always attempts the malloc() 60 times
  in 60 seconds. Previously, it would try only one malloc() with
  innodb_use_sys_malloc=ON. If OFF, it used to do the 60 tries in
  60 seconds using the common memory pool.
  * Change ut_realloc so that it always attempts the realloc() 60 times
  in 60 seconds. Previously, it would try only one realloc() with
  innodb_use_sys_malloc=ON. If OFF, it used call ut_malloc() for a new
  buffer and ut_free() for the old buffer.
  * Deleted metadata_pool_size from information_schema.innodb_metrics
  * Deleted all UNIV_MEM_DEBUG code.
  * Greatly simplified mem_heap_validate and mem_heap_check().  All other
  parts of mem0dbg are removed
  * Removed all code under MEM_PERIODIC_CHECK and all calls to
  mem_analyze_corruption().
  * Changed some conditional calls to ib_logf(FATAL,...) to just an assert
  so that the system will stop all threads sooner after a memory corruption.
  
  Approved in rb#4512 by Marko
------------------------------------------------------------
revno: 7561
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Tue 2014-02-25 22:45:29 -0600
message:
  These are some cleanup changes approved by Marko in rb4512.
  The functional changes are in another patch.
------------------------------------------------------------
revno: 7560 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-02-26 09:56:53 +0530
message:
  Null merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.289
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2014-02-26 09:52:40 +0530
    message:
      Bug#18144349 INNODB CANNOT USE THE DOUBLEWRITE BUFFER FOR THE FIRST PAGE OF
      SYSTEM TABLESPACE
      
      Follow up patch to fix pb2 failures.  During recovery, if a data page is filled
      with zeros, and its valid copy is available in the double write buffer, then we
      recover the page from the double write buffer.  When this happens a warning was
      issued.  This warning is causing many crash recovery tests to fail.  Also, the
      usefulness of this warning has not been established.  So warning is removed.
      
      approved by Sunny via IM.
------------------------------------------------------------
revno: 7559
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-02-26 09:27:06 +0530
message:
  Bug #18251254 REMOVE DUPLICATE XID_T DEFINITION
  
  Problem:
  
  The structure xid_t is multiply defined at sql/xa.h and
  storage/innobase/include/trx0xa.h.  Because of this, there are problems in
  including sql/log.h file within the InnoDB source files.  For example, we
  are not able to include sql/log.h to trx0trx.cc or ut0ut.h files.
  
  Solution:
  
  Use the definition in sql/xa.h and remove the definition from
  storage/innobase/include/trx0xa.h.
  
  rb#4757 approved by bin.su and dshulga.
------------------------------------------------------------
revno: 7558
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-02-26 08:51:29 +0530
message:
  Bug#18236612: I_S.INNODB_TEMP_TABLE_INFO AND
                SLAVE_OPEN_TEMP_TABLES SHOWS DIFFERENT RESULTS
        
  Problem:                                                                           
  With gtid-mode=on, STOP SLAVE followed by START SLAVE
  resulted in a mismatch between
  I_S.INNODB_TEMP_TABLE_INFO and SLAVE_OPEN_TEMP_TABLES.
  The innodb table shows that no such table exists but the
  slave_open_temp_table variable is non-zero.
  The mismatch was also seen with gtid-mode=off with
  STOP SLAVE, CHANGE MASTER TO, START SLAVE.    
        
  Analysis:
  Start_log_event_v3::do_apply_event(rli) calls
  close_temporary_tables(thd) which cleans
  thd->temporary_tables but does not set the
  slave_open_temp_tables to 0.
      
  Fix:
  Set slave_open_temp_tables=0 and thd->temporary=NULL
  in close_temporary_tables(thd). 
------------------------------------------------------------
revno: 7557 [merge]
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-merge
timestamp: Wed 2014-02-26 00:20:27 +0100
message:
  Merge WL#7152 to mysql-trunk
    ------------------------------------------------------------
    revno: 6953.1.16 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Wed 2014-02-26 00:14:45 +0100
    message:
      Merge mysql-trunk --> mysql-trunk-wl7152
    ------------------------------------------------------------
    revno: 6953.1.15
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Tue 2014-02-25 11:42:32 +0100
    message:
      WL#7152 PERFORMANCE SCHEMA, EXTRACT DIGEST
      
      Fixed dependencies in the makefile, for parallel builds (make -J)
    ------------------------------------------------------------
    revno: 6953.1.14 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Wed 2014-02-19 12:08:35 +0100
    message:
      Merge mysql-trunk --> mysql-trunk-wl7152
    ------------------------------------------------------------
    revno: 6953.1.13 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Tue 2014-02-11 16:10:54 +0100
    message:
      Merge mysql-trunk --> mysql-trunk-wl7152
    ------------------------------------------------------------
    revno: 6953.1.12 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Mon 2014-02-10 15:52:09 +0100
    message:
      Merge mysql-trunk --> mysql-trunk-wl7152
    ------------------------------------------------------------
    revno: 6953.1.11
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Wed 2014-01-22 13:16:47 +0100
    message:
      Code cleanup
    ------------------------------------------------------------
    revno: 6953.1.10 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Mon 2014-01-20 15:52:14 +0100
    message:
      Merge mysql-trunk --> mysql-trunk-wl7152
    ------------------------------------------------------------
    revno: 6953.1.9 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Mon 2014-01-20 15:17:30 +0100
    message:
      Merge mysql-trunk --> mysql-trunk-wl7152
    ------------------------------------------------------------
    revno: 6953.1.8 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Fri 2014-01-03 17:17:08 +0100
    message:
      Merge mysql-trunk --> mysql-trunk-wl7152
    ------------------------------------------------------------
    revno: 6953.1.7 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Fri 2014-01-03 12:01:32 +0100
    message:
      Merge mysql-trunk --> mysql-trunk-wl7152
    ------------------------------------------------------------
    revno: 6953.1.6
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Wed 2013-12-18 19:23:22 +0100
    message:
      Compute digests for prepared statements
    ------------------------------------------------------------
    revno: 6953.1.5 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Thu 2013-11-21 12:36:46 +0100
    message:
      Merge mysql-trunk --> mysql-trunk-wl7152
    ------------------------------------------------------------
    revno: 6953.1.4
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Wed 2013-11-20 17:42:29 +0100
    message:
      Code cleanup
    ------------------------------------------------------------
    revno: 6953.1.3
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Mon 2013-11-18 23:59:02 +0100
    message:
      WL#7152  PERFORMANCE SCHEMA, EXTRACT DIGEST
      
      Added new files
    ------------------------------------------------------------
    revno: 6953.1.2
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Mon 2013-11-18 23:26:47 +0100
    message:
      WL#7152 PERFORMANCE SCHEMA, EXTRACT DIGEST
      
      Refactoring: moved all the digest related code
      - from the performance schema
      - to sql layer in the server
    ------------------------------------------------------------
    revno: 6953.1.1
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-wl7152
    timestamp: Thu 2013-11-14 00:09:11 +0100
    message:
      New branch
------------------------------------------------------------
revno: 7556 [merge]
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Tue 2014-02-25 18:08:52 +0100
message:
  merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.288 [merge]
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.6-merge
    timestamp: Tue 2014-02-25 18:05:40 +0100
    message:
      merge 5.5 => 5.6
        ------------------------------------------------------------
        revno: 2875.592.2
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.5
        timestamp: Tue 2014-02-25 09:07:44 +0100
        message:
          Bug#18235669 MYSQL_CONFIG TO PROVIDE R FLAG ON SOLARIS
          
          'mysql_config --libs' outputs -L/path/to/library
          on SunOS we also want it to output '-R/path/to/library'
          in order to find libraries at runtime.
------------------------------------------------------------
revno: 7555
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-contrib-bug50507
timestamp: Tue 2014-02-25 17:58:47 +0100
message:
  Bug#11758319 BEHAVIOR OF LOGARITHMIC FUNCTIONS DEPENDS ON ERROR_FOR_DIVISION_BY_ZERO
  Bug#50507 Behavior of logarithmic functions depends on ERROR_FOR_DIVISION_BY_ZERO
  
  The manual says that if the argument of LN(), LOG2(), LOG10() or LOG()
  functions is less than or equal to 0, then NULL is returned.
  
  However, if the ERROR_FOR_DIVISION_BY_ZERO server SQL mode is enabled, those
  functions return the "division by zero" error when in strict mode (or a
  warning otherwise) instead of NULL. This is counter-intuitive and not
  documented.
  
  Fix: introduce signal_invalid_argument_for_log() which reports
  "Invalid argument for logarithm" rather than "Division by 0"
  
  Bug#50507 asked for Returning NULL regardless of the SQL mode.
  This patch returns an error if strict mode is enabled.
  This is in line with WL#7467 which will remove ERROR_FOR_DIVISION_BY_ZERO
  and make it part of strict mode.
------------------------------------------------------------
revno: 7554
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-atomics
timestamp: Tue 2014-02-25 16:40:42 +0100
message:
  WL#7607: Refactor atomics implementation
  
  Follow-up patch: Improve Windows implementation of Fetch-and-Store and
  Store functions. Instead of doing CAS in a loop, use a single
  InterlockedExchange call.
------------------------------------------------------------
revno: 7553
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-compiler
timestamp: Tue 2014-02-25 15:29:44 +0100
message:
  Bug#18222041: DON'T USE __GNUC__ AND __GNUC_MINOR__ TO TEST FOR COMPILER FEATURES
  
  The problem was that we several places use __GNUC__ and __GNUC_MINOR__ to 
  determine if the current compiler supports a given feature. But since these
  symbols are not only set by GCC, but also by e.g. Clang they can lead to 
  wrong decisions being made.
  
  This patch fixes the problem by instead using feature specific tests using CMake.
  The patch also removes some dead code.
------------------------------------------------------------
revno: 7552
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-25 15:21:15 +0200
message:
  Bug#18252772 ASSERT VAL > 0X1FFFFFFF, RECV_PARSE_LOG_REC(), RECOVERY FAILURE
  
  A too strict debug assertion was added in the clean-up patch associated with
  Bug#18192536 COMPILER WARNING ABOUT MACH_ULL_PARSE_COMPRESSED()
  
  We assert that in the variable-length encoding of numbers, we are using
  the smallest possible encoded size. However, the limit was off by one bit.
  
  Relax the assertion, add similar assertions, add comments, and clarify the
  encoding and decoding logic.
  
  rb#4761 approved by Vasil Dimov
------------------------------------------------------------
revno: 7551
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-25 15:20:49 +0200
message:
  Bug#18252937 ASSERT ID != SRV_TMP_SPACE.SPACE_ID() IN PURGE
  
  This is a bug that was caught by debug instrumentation added in
  Bug#18226934 INNODB WRITES REDO LOG FOR TEMPORARY TABLESPACE
  
  trx_undo_truncate_start(): Disable redo logging when truncating
  a temporary undo log. Replace a redundant parameter with rseg->space.
  
  rb#4763 approved by Vasil Dimov
------------------------------------------------------------
revno: 7550 [merge]
committer: sayantan dutta <sayantan.dutta@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-25 18:44:23 +0530
message:
  Bug 17926328 Null merge
    ------------------------------------------------------------
    revno: 3902.291.287 [merge]
    committer: sayantan dutta <sayantan.dutta@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-25 18:43:27 +0530
    message:
      Bug 17926328 Null merge
        ------------------------------------------------------------
        revno: 2875.592.1
        committer: sayantan dutta <sayantan.dutta@oracle.com>
        branch nick: mysql-5.5
        timestamp: Tue 2014-02-25 18:42:14 +0530
        message:
          Bug #17926328 - MTR SHOULD NOT WAIT FOR CHILDREN WHEN ABORTING TEST RUN ON WINDOWS
    ------------------------------------------------------------
    revno: 3902.291.286 [merge]
    committer: sayantan dutta <sayantan.dutta@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-25 18:38:13 +0530
    message:
      Bug 17926328 Null merge
        ------------------------------------------------------------
        revno: 2875.545.139
        committer: sayantan dutta <sayantan.dutta@oracle.com>
        branch nick: mysql-5.5
        timestamp: Tue 2014-02-25 18:36:04 +0530
        message:
          Bug #17926328 - MTR SHOULD NOT WAIT FOR CHILDREN WHEN ABORTING TEST RUN ON WINDOWS
------------------------------------------------------------
revno: 7549
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-uintkorr
timestamp: Tue 2014-02-25 12:56:50 +0100
message:
  Bug#12590101 *KORR/*STORE MACROS IN MY_GLOBAL.H ASSUME THE ARGUMENT TO BE A CHAR POINT
  
  Make the assumption even stronger, by substituting inline functions for the macros.
  Added overloaded functions taking char* rather than uchar* for C++
  
  This should catch non-char/uchar buffer usage at compile-time,
  both for C and C++ code.
------------------------------------------------------------
revno: 7548
committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-25 16:30:45 +0530
message:
  Fix for bug#18302892: Removing the --random-passwords option as its deprecated from 5.7+
------------------------------------------------------------
revno: 7547
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-bug18259260
timestamp: Tue 2014-02-25 10:59:39 +0100
message:
  Bug#18259260 PERFSCHEMA.MDL_FUNC TEST FAILING WITH RESULT MISMATCH
  
  Improved the test case robustness,
  truncate digests to avoid spurious lost counter changes.
------------------------------------------------------------
revno: 7546
committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-25 10:40:57 +0100
message:
  Bug#18057514 SHOW GRANTS EXPOSES PASSWORD HASH FOR PROXIED USER
    
  Restrict when user table hashes can be viewed. Require SUPER privileges.
------------------------------------------------------------
revno: 7545
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-25 09:58:18 +0200
message:
  Fix a bug caught by an assertion added in
  Bug#18236692 REDUCE FLUSHING OF TEMPORARY TABLESPACES
  
  btr_free_externally_stored_field(): Disable redo logging if it was disabled
  in the parent mini-transaction. We do not want to write redo log while
  importing a tablespace.
  
  Approved by Sunny Bains on IM.
------------------------------------------------------------
revno: 7544 [merge]
committer: Libing Song <libing.song@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-25 09:44:42 +0800
message:
  Manual Merge
  
  BUG#17632285 SLAVE CAN'T CONTINUE REPLICATION AFTER MASTER'S
               CRASH RECOVERY
  
  Binary events might be sent to slaves before they are flushed
  to disk on master, even sync_binlog is set to 1. It can cause
  two problems if the master restarts after an OS crash.
  * Replication cannot continue because the slaves are
    requesting to replication the events don't exist on master.
  * Data exists on slaves, but not exists on the master.
  
  The problems are expected on less durable settings(
  sync_binlog != 1), but it should not happen on durable
  setting(sync_binlog = 1).
  
  Since 5.7 LOCK_log is removed from dump thread. Dump threads
  can read the binary events before binlog_end_pos simultaneously,
  even it is not synced to disk.
  
  To fixing the problem on durable setting, binlog_end_pos is updated
  after binlog is flushed to disk.
    ------------------------------------------------------------
    revno: 3902.291.285
    committer: Libing Song <libing.song@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-25 09:39:34 +0800
    message:
      BUG#17632285 SLAVE CAN'T CONTINUE REPLICATION AFTER MASTER'S
                   CRASH RECOVERY
      
      Binary events might be sent to slaves before they are flushed
      to disk on master, even sync_binlog is set to 1. It can cause
      two problems if the master restarts after an OS crash.
      * Replication cannot continue because the slaves are
        requesting to replication the events don't exist on master.
      * Data exists on slaves, but not exists on the master.
      
      The problems are expected on less durable settings(
      sync_binlog != 1), but it should not happen on durable
      setting(sync_binlog = 1).
      
      Since 5.6 binlog group commit implementation, binlog write
      and sync have been protected by separate mutexes. So dump
      threads can read the binary events simultaneously or even
      before it is synced to disk.
      
      To fixing the problem on durable setting, LOCK_log is hold
      in sync stage and it is released after the binary events are
      synced to disk.
------------------------------------------------------------
revno: 7543
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-25 01:45:36 +0530
message:
  Bug#18219471: SEMISYNC IS NOT COMPILED WITH SSL
  
  -post push fix
------------------------------------------------------------
revno: 7542
committer: Narendra Chauhan <narendra.chauhan@oracle.com>
branch nick: test-mysql-trunk
timestamp: Mon 2014-02-24 23:55:50 +0530
message:
  Post push fix for Bug #18259359
------------------------------------------------------------
revno: 7541 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-24 20:35:58 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.284
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-02-24 20:28:04 +0530
    message:
      Bug #18161853 SEGV IN LOCK_REC_OTHER_TRX_HOLDS_EXPL()
      
      Problem:
      
      In the function lock_rec_other_trx_holds_expl(), the transaction list
      trx_sys->rw_trx_list is traversed end to end without taking the
      transaction subsystem mutex (trx_sys->mutex).  Because of this
      segmentation faults are possible.
      
      Solution:
      
      Acquire the transaction subsystem mutex, and then traverse the transaction
      list trx_sys->rw_trx_list.
      
      approved by Sunny over IM.
------------------------------------------------------------
revno: 7540
committer: Olav Sandstaa <olav.sandstaa@oracle.com>
branch nick: merge-wl7338
timestamp: Mon 2014-02-24 14:47:28 +0100
message:
  WL#7338 Interface for improved records per key estimates
        
  This worklog adds an interface that storage engines can use for providing
  records per key estimates using float values. By using float, the 
  records per key estimates used by the optimizer will be more accurate
  and the rounding issues the current integer based rec_per_key values have
  can be avoided. This should result in more accurate records per key estimates
  and improved query plans.
        
  The interface consists of the following:
        
  -the KEY struct is extended with a new array for storing records per key
   values using float. This corresponds to the existing rec_per_key array.
  -new member functions to the KEY struct for setting and getting
   records per key values.
        
  Note that with this worklog, only the interface is introduced. It is not
  yet used by the optimizer.
------------------------------------------------------------
revno: 7539 [merge]
committer: sayantan dutta <sayantan.dutta@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-24 18:47:13 +0530
message:
  Bug 18145121 5.6=> trunk
    ------------------------------------------------------------
    revno: 3902.291.283
    committer: sayantan dutta <sayantan.dutta@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-02-24 18:44:37 +0530
    message:
      Follow-up fix : Bug #18145121 - DEPRECATED PERL SYNTAX IN MTR
------------------------------------------------------------
revno: 7538
committer: Jorgen Loland <jorgen.loland@oracle.com>
branch nick: mysql-trunk-18136628
timestamp: Mon 2014-02-24 13:38:40 +0100
message:
  Bug#18136628: RANGE OPTIMIZER: IMERGE_LIST_OR_TREE() ERROR DUE
                TO SHALLOW COPY
  
  imerge_list_or_tree() performs the following OR operation in 
  the range optimizer: "<list_of_index_merges> OR <sel_tree>",
  e.g
  
  Index merge list:
     (pred1_idx1 OR pred1_idx2)    <- an index merge
     AND
     (pred2_idx1 OR pred2_idx2)    <- another index merge
  OR
  sel_tree:
     pred3_idx1
  
  as follows: 'sel_tree' is first ORed with 
  "(pred1_idx1 OR pred1_idx2)" and then with 
  "(pred2_idx1 OR pred2_idx2)" by calls to tree_or(). However,
  tree_or() is allowed to modify its parameters, and because both
  index merges should be ORed with the same 'sel_tree' predicate,
  imerge_list_or_tree() makes a copy of it for each call to 
  tree_or(). This is done to avoid the following situation:
  
  Index merge list:
     (col1 < 10 OR <something>)
     AND
     (col1 = 5 OR <something>)
  OR
  sel_tree:
     col1 > 9
  
  imerge_list_or_tree() does:
  1) Perform "col1 < 10 OR col1 > 9" => always true, 'sel_tree' 
     is marked accordingly
  2) Perform "col1 = 5 OR true" => always true since 'sel_tree' 
     was marked as true. This is obviously incorrect and was 
     caused by step 1) modifying 'sel_tree'. The remedy is to
     copy 'sel_tree'.
  
  Without copying 'sel_tree', the range would therefore be:
  
     (TRUE OR <something>) AND (TRUE OR <something) 
  => TRUE
   
  While the correct range is:
  
     (TRUE OR <something>) 
     AND ((col1 = 5 OR col1 > 9) OR <something>)
  => ((col1 = 5 OR col1 > 9) OR <something>)
  
  The problem in this bug was that while imerge_list_or_tree() 
  correctly made a copy of 'sel_tree' before each OR, the copy 
  it made was shallow. Results from step 1) therefore still 
  affected the copy of 'sel_tree' used in step 2.
  
  The fix is to change the SEL_TREE ctor to make a deep 
  copy. The ctor is not used anywhere else, so this only 
  affects imerge_list_or_tree()
------------------------------------------------------------
revno: 7537
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-24 13:39:33 +0200
message:
  Bug#18236692 REDUCE FLUSHING OF TEMPORARY TABLESPACES
  
  Currently, InnoDB does not distinguish temporary and persistent tablespaces
  at the tablespace level.
  It uses space->purpose == FIL_TABLESPACE for both.
  As a result, it is generating unnecessary writes and flushing for temporary
  tablespaces.
  
  fil_type_t: An enum of FIL_TYPE_TEMPORARY, FIL_TYPE_TABLESPACE, FIL_TYPE_LOG.
  
  fil_open_single_table_tablespace(): Add the parameter "purpose"
  (FIL_TYPE_TABLESPACE or FIL_TYPE_TEMPORARY).
  Only IMPORT will use FIL_TYPE_TEMPORARY.
  We initially flag to-be-imported tablespaces as temporary, because we will
  not write redo log for them until the import has been completed.
  
  fil_space_set_imported(): New function, to change a tablespace from
  FIL_TYPE_TEMPORARY to FIL_TYPE_TABLESPACE once the space has been imported.
  
  Tablespace::open_or_create(): Add the parameter is_temp.
  
  fil_flush(): Never flush (fsync) FIL_TYPE_TEMPORARY tablespaces.
  
  rb#4657 approved by Kevin Lewis
------------------------------------------------------------
revno: 7536 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-24 17:02:12 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.282
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-02-24 16:55:33 +0530
    message:
      Bug #18161853 SEGV IN LOCK_REC_OTHER_TRX_HOLDS_EXPL()
      Reverting fix for this because it is causing deadlock issues in pb2.
------------------------------------------------------------
revno: 7535
committer: Aditya A <aditya.a@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-24 16:33:00 +0530
message:
  Bug #18114294   CRASH IN ITEM_FUNC_LIKE::BM_MATCHES
  
  Problem
  -------
  
  While building the bad character shift array
  we first typecast the pattern value to unsigned
  char and then to unsigned int to determine the
  index of the array ,but while doing the search
  when bad character shift array is indexed
  according to the text (from which pattern is
  searched) value,we were directly typecasting
  the text value to unsigned int which was
  causing the crash.
  
  Fix
  ---
  Typecasting the text value to unsigned char 
  is necessary ,typecasting to unsigned int 
  is not required.  
------------------------------------------------------------
revno: 7534 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-24 15:23:34 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.281
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-02-24 15:20:56 +0530
    message:
      Bug #18161853 SEGV IN LOCK_REC_OTHER_TRX_HOLDS_EXPL()
      
      Problem:
      
      In the function lock_rec_other_trx_holds_expl(), the transaction list
      trx_sys->rw_trx_list is traversed end to end without taking the
      transaction subsystem mutex (trx_sys->mutex).  Because of this
      segmentation faults are possible.
      
      Solution:
      
      Acquire the transaction subsystem mutex, and then traverse the transaction
      list trx_sys->rw_trx_list.
      
      approved by Sunny over IM.
------------------------------------------------------------
revno: 7533
committer: Olav Sandstaa <olav.sandstaa@oracle.com>
branch nick: mrrimpl
timestamp: Mon 2014-02-24 10:27:00 +0100
message:
  Fix for Bug#18172819 CRASH ON DSMRR_IMPL::CHOOSE_MRR_IMPL IN SQL/HANDLER.CC
  
  This patch fixes two issues when an internally created temporary table
  attempts to use MRR/DS-MRR for reading data from the table:
  
  1. In some cases when the optimizer has created a temporary table for
     a derived table, it calls ha_myisam::multi_range_read_info() to get
     the cost for doing a range scan (this is called from
     get_quick_select_for_ref()). This call will eventually end up in
     DsMrr_impl::choose_mrr_impl() which needs to check whether the
     index is the primary key or not:
  
       keyno == table->s->primary_key
  
     but in this case, the table pointer is NULL which causes the crash.
  
     The reason for this to fail is that for internally created
     temporary tables we do not set the handler::table pointer to point
     to the corresponding TABLE object. To fix this, ensure that when
     creating the TABLE and handler objects for internally created
     tables, the handler object is informed about which TABLE object it
     is representing.
  
  2. When forcing DS-MRR to be used for internally created temporary
     tables (by using the mrr_cost_based optimizer switch), we hit the
     following assert:
  
       DBUG_ASSERT(h2 == NULL);
  
     in the DsMrr_impl() destructor. The reason for hitting this is that
     the h2 dialog has not been closed and deleted. The cause for this
     to not happen is that the code for derived tables does not call
     handler::ha_reset() when it has finished the statement and just
     closes the handler. The fix for this problem is to extend the
     DsMrr_impl() destructor to close and delete the h2 dialog if this
     has not been done.
------------------------------------------------------------
revno: 7532
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-24 14:00:03 +0530
message:
  Bug #17604730 ASSERTION: *CURSOR->INDEX->NAME == TEMP_INDEX_PREFIX
  
  Problem:
  
  When INSERT ... ON DUPLICATE UPDATE or REPLACE statements are used, then
  after encountering a DB_DUPLICATE_KEY error, we continue to process all
  the unique secondary indexes to place the necessary gap locks.  The
  problem is in the following scenario:
  
  1. The table has one primary index, one unique secondary index and
     one non-unique secondary index.
  2. The INSERT ... ON DUPLICATE UPDATE ... is executed on the table.
  3. Insert into the clustered index reported DB_DUPLICATE_KEY.  This
     error information is saved.  We proceed to take gap locks in all
     unique secondary indexes.
  4. Insert into the unique secondary index reported DB_LOCK_WAIT.
  5. Step 4 is repeated from a higher layer row_ins().  When this is
     done, the earlier error information saved in step 3 is lost.
  6. Next instead of taking just gap locks or skipping non-unique
     secondary indexes, because of loss of information regarding the
     error already saved, an actual insert is performed on the non-unique
     secondary index.  This triggers the assert.
  
  Solution:
  
  Save the error information in a non-local location so that it is not lost.
  
  rb#4723 approved by Kevin.
------------------------------------------------------------
revno: 7531
committer: Raghav Kapoor <raghav.kapoor@oracle.com>
branch nick: mysql-trunk-wl7467
timestamp: Mon 2014-02-24 10:41:19 +0530
message:
  Post Fix for Compiler Warnings by Sun Studio Compiler
  after push of WL#7467.
  Renamed the variable flags to date_flags.
------------------------------------------------------------
revno: 7530
committer: Krunal Bauskar krunal.bauskar@oracle.com
branch nick: mysql-trunk
timestamp: Mon 2014-02-24 10:24:28 +0530
message:
  - Bug#18176071 MYSQL 5.7.3 INNODB MULTIPLE ERRORS: 'CHSIZE' RETURNED OS ERROR 71
  
    os_file_truncate() function is added as part of WL#6501 to truncate existing
    tablespace file (of-course if table is per-table-tablespace)). On Windows,
    truncate was done using _chsize which needs C file descriptor. If C file
    descriptor is obtained then file should be closed using _close() API and not
    only CloseHandle else it would keep the C file descriptor allocated causing
    leak. Alternatively, there is better approach to truncate using
    SetEndOfFile(). Also, this approach is being used in InnoDB and MySQL Layer
    so safe too.
  
    Patch fixes the approach to truncate on Windows using SetEndOfFile().
  
    Approved by: Kevin (rb#4741)
------------------------------------------------------------
revno: 7529
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-21 20:18:19 +0200
message:
  Convert the debug-only "speedo" code into a C++ class and rename it to
  "chrono".
------------------------------------------------------------
revno: 7528
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-review
timestamp: Fri 2014-02-21 16:10:19 +0100
message:
  WL#6781: Support multiple AES Encryption modes
  
  Post-push fix: broken gcov buildl, error: no newline at end of file
------------------------------------------------------------
revno: 7527
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-test
timestamp: Fri 2014-02-21 15:32:32 +0100
message:
  Bug#18116661: CHECK_FUNCTION_REPLACEMENT() DOES NOT MAKE
                      SENSE WHEN RESULT IS HARDCODED
  
  Post-push fix: Fix broken NDB build on Windows.
------------------------------------------------------------
revno: 7526
committer: Georgi Kodinov <georgi.kodinov@oracle.com>
branch nick: wl6781-trunk
timestamp: Fri 2014-02-21 16:16:22 +0200
message:
  WL#6781: Support multiple AES Encryption modes
  
  * Implemented 128,192 and 256 ECB and CBC for YaSSL
  * Implemented 128,192 and 256 ECB,CBC,cfb1,cfb8,cfb128 and ofb modes for OpenSSL
  * added an enum session/global/config/command line variable block_encryption_mode that takes <cipher>-<bits>-<block-mode> values
  * added an function to generate random byte strings using the ssl library random generator : RANDOM_BYTES(bytelen).
  * added an optional second parameter for the initialization vector to aes_encrypt() and aes_decrypt().
  * updated config editor to use the proper extended C apis.
  * added tests
  * fixed the type of the opmode session variable holder
  * fixed test case failures and compilation errors on linux
  * fixed IV buffers to account for the terminating 0
  * now IV is checked only if needed by the cipher/block size combo.
  * if IV is not needed by the combo and is supplied a warning is generated
  * handled bug #18259229
  * Added extra tests created during QA
------------------------------------------------------------
revno: 7525
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-review
timestamp: Fri 2014-02-21 13:59:24 +0100
message:
  Bug#18251675 CLEAN UP SOME REDO LOG CODE
  
  Post-push fix, broken build on 32bit architecture (%lu vs %llu)
------------------------------------------------------------
revno: 7524 [merge]
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-21 12:59:08 +0100
message:
  Null merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.280
    committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
    branch nick: mysql-5.6-bug18054042
    timestamp: Fri 2014-02-21 12:57:32 +0100
    message:
      Bug#18054042: MY_ATOMIC_* FUNCTIONS ALWAYS USE RW-LOCKS ON WINDOWS
      
      Due to a typo (#ifdef _MSV_VER rather than #ifdef _MSC_VER),
      we always used our rw-lock backup implementation for my_atomic_*
      functions rather than the native Windows implementation.
      
      This patch fixes the typo so that we again use proper atomics
      on Windows.
------------------------------------------------------------
revno: 7523 [merge]
committer: Andrei Elkin <andrei.elkin@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-21 13:39:48 +0200
message:
  merging post-push Bug18001777 fixes from 5.6.
    ------------------------------------------------------------
    revno: 3902.291.279
    committer: Andrei Elkin <andrei.elkin@oracle.com>
    branch nick: 5.6-fixes4
    timestamp: Fri 2014-02-21 13:37:35 +0200
    message:
      Bug18001777 post-push fixing.
------------------------------------------------------------
revno: 7522
committer: Raghav Kapoor <raghav.kapoor@oracle.com>
branch nick: mysql-trunk-wl7467
timestamp: Fri 2014-02-21 15:07:45 +0530
message:
  Post Push fix for failing test in pb2 after push of WL#7467
------------------------------------------------------------
revno: 7521
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-21 11:16:26 +0100
message:
  Fixed branch name after last merge
------------------------------------------------------------
revno: 7520 [merge]
committer: Raghav Kapoor <raghav.kapoor@oracle.com>
branch nick: mysql-trunk-wl7467
timestamp: Fri 2014-02-21 13:29:15 +0530
message:
  Null Merge to trunk
    ------------------------------------------------------------
    revno: 3902.291.278
    committer: Raghav Kapoor <raghav.kapoor@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-02-21 13:27:46 +0530
    message:
      Post Push fix for failing tests in 5.6 after push of WL#7467
------------------------------------------------------------
revno: 7519
committer: Raghav Kapoor <raghav.kapoor@oracle.com>
branch nick: mysql-trunk-wl7467
timestamp: Fri 2014-02-21 12:59:52 +0530
message:
  Post Push fix for failing tests after push of WL#7467
------------------------------------------------------------
revno: 7518
committer: Sunny Bains <Sunny.Bains@Oracle.Com>
branch nick: trunk
timestamp: Fri 2014-02-21 10:36:48 +1100
message:
  Bug#18069105 - ADD FUSIONIO ATOMIC WRITE SUPPORT FOR LINUX
  
  Follow up fix, flushed was uninitialised in the else branch. Some minor
  formatting changes.
------------------------------------------------------------
revno: 7517
committer: Sunny Bains <Sunny.Bains@Oracle.Com>
branch nick: trunk
timestamp: Fri 2014-02-21 05:56:15 +1100
message:
  Bug#18069105 - ADD FUSIONIO ATOMIC WRITE SUPPORT FOR LINUX
        
  If any of the system tablespace (ibdata1) files, not the log or UNDO
  tablespace files, is on a file system that supports FusionIO atomic writes
  then disable the InnoDB double write buffer. It would be more desirable to
  make this setting per physical file. This patch implements an all or nothing
  approach to keep things simple for now.
  			            
  This change shouldn't make any difference on non-FusionIO HW. It will only
  be enabled on FusionIO HW that supports atomic-writes on Linux.
  					        
  Approved by Yasufumi rb#4323
------------------------------------------------------------
revno: 7516 [merge]
committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
branch nick: mysql-trunk-local
timestamp: Thu 2014-02-20 15:48:23 +0100
message:
  Merge OEL6 deployment tree to trunk.
  WL#6977 Remove all anonymous accounts from all default deployments
  WL#6962 Deployment: random passwords generated for unattended installs
  WL#6976 Server installation and deployment must support an unattended process
    ------------------------------------------------------------
    revno: 7469.1.12
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-trunk-wl5608
    timestamp: Wed 2014-02-19 16:39:35 +0100
    message:
      Bug#18255657 M_S_I CRASHED WHILE STARTING SERVICE WHEN /ETC/MY.CNF DOESN'T EXISTS
      
      Problem: After failing load_defaults() the program attempts to free memory from a null pointer
      Solution: Don't attempt to clean up resources not used.
    ------------------------------------------------------------
    revno: 7469.1.11
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-trunk-wl5608
    timestamp: Wed 2014-02-19 13:32:10 +0100
    message:
      * regexpt contained UTF-8 characters whiched caused issues during password generation.
    ------------------------------------------------------------
    revno: 7469.1.10 [merge]
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-trunk-wl5608
    timestamp: Tue 2014-02-18 17:46:45 +0100
    message:
      Trunk=>deployment tree
        ------------------------------------------------------------
        revno: 7503.1.1 [merge]
        committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
        branch nick: mysql-trunk
        timestamp: Tue 2014-02-18 17:42:35 +0100
        message:
          Deployment WL => trunk
    ------------------------------------------------------------
    revno: 7469.1.9
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-trunk-deploy
    timestamp: Tue 2014-02-18 11:21:24 +0100
    message:
      * generated passwords conform to strong password standard
      * removed redundant info messages and warnings
    ------------------------------------------------------------
    revno: 7469.1.8
    committer: Harin Vadodaria <harin.vadodaria@oracle.com>
    branch nick: mysql-trunk-wl5608
    timestamp: Mon 2014-02-17 16:02:47 +0530
    message:
      WL#6962 :  Deployment: random passwords
                 generated for unattended installs
      
      Description : Fixed test failures for rpm.
    ------------------------------------------------------------
    revno: 7469.1.7
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-trunk-wl5608
    timestamp: Mon 2014-02-17 10:53:12 +0100
    message:
      * Fixed copy-paste related syntax error.
    ------------------------------------------------------------
    revno: 7469.1.6
    committer: Harin Vadodaria <harin.vadodaria@oracle.com>
    branch nick: mysql-trunk-wl5608
    timestamp: Mon 2014-02-17 13:53:25 +0530
    message:
      WL#6962 :  Deployment: random passwords
                 generated for unattended installs
      
      Description : Resolving test failures.
    ------------------------------------------------------------
    revno: 7469.1.5
    committer: Harin Vadodaria <harin.vadodaria@oracle.com>
    branch nick: mysql-trunk-wl5608
    timestamp: Mon 2014-02-17 12:05:40 +0530
    message:
      WL#6962 :  Deployment: random passwords
                 generated for unattended installs
      
      Problem :  mtr depends on deployment script
                 mysql_system_tables_data.sql and
                 changes to default root account
                 setup causes multiple test failures.
      
      Solution : Dependency is broken by introducing
                 a new file, mtr_system_tables_data.sql,
                 which contains the additional root
                 accounts for testing purposes.
    ------------------------------------------------------------
    revno: 7469.1.4
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-trunk-wl5608
    timestamp: Fri 2014-02-14 17:46:51 +0100
    message:
      * HOME environment variable is not defined when a program is executed under "service"
        + fix by assume a standard root account with home in /root.
       * DROP DATABASE produce error message despite success
        + use DROP DATABASE IF EXISTS instead.
       * --defaults-file option must be first argument
    ------------------------------------------------------------
    revno: 7469.1.3
    committer: Harin Vadodaria <harin.vadodaria@oracle.com>
    branch nick: mysql-trunk-wl5608
    timestamp: Thu 2014-02-13 21:51:13 +0530
    message:
      WL#6962 : Deployment: random passwords generated
                for unattended installs
      
      Description : Removed references to --random-password
                    from support-files/mysql.spec.sh
    ------------------------------------------------------------
    revno: 7469.1.2
    committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    branch nick: mysql-trunk-wl5608
    timestamp: Thu 2014-02-13 13:52:30 +0100
    message:
      Commented patch and removed mysqlbug
    ------------------------------------------------------------
    revno: 7469.1.1 [merge]
    committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    branch nick: mysql-trunk-wl5608
    timestamp: Thu 2014-02-13 13:01:16 +0100
    message:
      Applied wl5608 to mysql-trunk
        ------------------------------------------------------------
        revno: 7461.1.5
        committer: Harin Vadodaria <harin.vadodaria@oracle.com>
        branch nick: 5608_20140213
        timestamp: Thu 2014-02-13 15:11:22 +0530
        message:
          WL#6973 : Offer deployment without test db,
                    test scripts or demofiles.
          
          Description : More changes in packaging scripts.
        ------------------------------------------------------------
        revno: 7461.1.4
        committer: Harin Vadodaria <harin.vadodaria@oracle.com>
        branch nick: 5608_20140213
        timestamp: Thu 2014-02-13 14:25:00 +0530
        message:
          WL#6973 : Offer deployment without test db,
                    test scripts or demofiles.
          
          Description : Removed references to mysqlbug
                        from packaging scripts.
        ------------------------------------------------------------
        revno: 7461.1.3
        committer: Terje Rosten <terje.rosten@oracle.com>
        branch nick: mysql-trunk-wl5608
        timestamp: Wed 2014-02-12 14:10:00 +0100
        message:
          WL#5608 Assert that all distributed files follow the principle of most restrictive permission possible
          
          Add logic to run mysql_secure_installation after initial server configuration.
        ------------------------------------------------------------
        revno: 7461.1.2
        committer: Harin Vadodaria <harin.vadodaria@oracle.com>
        branch nick: mysql-trunk-wl5608
        timestamp: Wed 2014-02-12 17:41:54 +0530
        message:
          WL#6962 : Deployment: random passwords generated
                    for unattended installs
          
          Description : Applying missing changes after
                        merge with mysql-trunk.
        ------------------------------------------------------------
        revno: 7461.1.1 [merge]
        committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
        branch nick: mysql-trunk-wl5608
        timestamp: Wed 2014-02-12 10:37:22 +0100
        message:
          merge mysql-trunk->mysql-trunk-wl5608
            ------------------------------------------------------------
            revno: 7345.1.14
            committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
            branch nick: mysql-trunk-wl5608
            timestamp: Wed 2014-02-12 07:45:32 +0100
            message:
              Synced up with mysql-trunk
            ------------------------------------------------------------
            revno: 7345.1.13
            committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
            branch nick: mysql-trunk-wl5608
            timestamp: Tue 2014-02-11 22:04:16 +0100
            message:
              Synced up spec file from mysql-trunk
            ------------------------------------------------------------
            revno: 7345.1.12
            committer: Harin Vadodaria <harin.vadodaria@oracle.com>
            branch nick: trunk
            timestamp: Tue 2014-02-11 18:18:10 +0530
            message:
              WL#6973 : Offer deployment without test db,
                        test scripts or demofiles.
                    
              Description : Source side changes:
                            1. Removed mysqlbug script
                            2. Modified CMakeLists.txt
                            3. Updated .bzrignore
            ------------------------------------------------------------
            revno: 7345.1.11
            committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
            branch nick: mysql-trunk-wl5608
            timestamp: Tue 2014-02-11 12:41:36 +0100
            message:
              Updated mysql-5.6.16-mysql-install.patch in CMakeLists.txt
            ------------------------------------------------------------
            revno: 7345.1.10
            committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
            branch nick: mysql-trunk-wl5608
            timestamp: Tue 2014-02-11 11:54:25 +0100
            message:
              Merge rpm-oel changes from trunk to wl5608
            ------------------------------------------------------------
            revno: 7345.1.9
            committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
            branch nick: mysql-trunk-wl5608
            timestamp: Tue 2014-02-11 11:52:18 +0100
            message:
              Merge rpm-fedora changes from trunk to wl5608
            ------------------------------------------------------------
            revno: 7345.1.8
            committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
            branch nick: mysql-trunk-wl5608
            timestamp: Mon 2014-02-10 19:57:28 +0100
            message:
              Updated mysql-5.6.14-mysql-install.patch removing perl modules missing fix
            ------------------------------------------------------------
            revno: 7345.1.7
            committer: Terje Rosten <terje.rosten@oracle.com>
            branch nick: mysql-trunk-wl5608
            timestamp: Mon 2014-02-10 14:58:23 +0100
            message:
              WL#5608 Assert that all distributed files follow the principle of most restrictive permission possible
              
              Add logic to run mysql_secure_installation after initial server configuration.
            ------------------------------------------------------------
            revno: 7345.1.6
            committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
            branch nick: mysql-trunk-wl5608
            timestamp: Fri 2014-02-07 14:24:51 +0100
            message:
              Added clarification to the text during password validation configuration.
            ------------------------------------------------------------
            revno: 7345.1.5
            committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
            branch nick: mysql-trunk-wl5608
            timestamp: Fri 2014-02-07 11:54:36 +0100
            message:
              Variable 'path' freed and then used.
            ------------------------------------------------------------
            revno: 7345.1.4
            committer: Harin Vadodaria <harin.vadodaria@oracle.com>
            branch nick: trunk
            timestamp: Fri 2014-02-07 15:38:30 +0530
            message:
              WL#6962 : Deployment: random passwords generated
                    	  for unattended installs
                    
              Description : 1. Fixed an issue related to empty
                               password handling.
                            2. Fixed an issue related to extra
                               row in mysql.proxies_priv table.
            ------------------------------------------------------------
            revno: 7345.1.3
            committer: Harin Vadodaria <harin.vadodaria@oracle.com>
            branch nick: trunk
            timestamp: Wed 2014-02-05 21:58:39 +0530
            message:
              WL#6962 : Deployment: random passwords generated
              	  for unattended installs
              
              Description : 1. Merging changes from repo project
                               in mysql_install_db.pl.in
                            2. Corrected password reset related
                               warning.
                            3. Updated copyright information.
            ------------------------------------------------------------
            revno: 7345.1.2 [merge]
            committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
            branch nick: mysql-trunk-wl5608
            timestamp: Mon 2014-02-03 12:42:12 +0100
            message:
              merge
                ------------------------------------------------------------
                revno: 7066.1.1
                committer: Harin Vadodaria <harin.vadodaria@oracle.com>
                branch nick: mysql-trunk-wl5608
                timestamp: Mon 2014-02-03 17:03:59 +0530
                message:
                  WL#5608 : Assert that all distributed files
                            follow the principle of most
                            restrictive permission possible.
                  
                  Description : WL branch update.
            ------------------------------------------------------------
            revno: 7345.1.1
            committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
            branch nick: mysql-trunk-deploy
            timestamp: Mon 2014-02-03 12:18:54 +0100
            message:
              Bug#15896168 MYSQL_SECURE_INSTALLATION INFO NEEDS CHANGE FOR MYSQL INSTALLED WITH RPM/PKG/DMG
                WL#6977 Remove all anonymous accounts from all default deployments
                WL#6962 Deployment: random passwords generated for unattended installs
                WL#6976 Server installation and deployment must support an unattended process
                
                * mysql_secure_installation
                 + cleaned up printed messages to look more consistent
                 + introduced --use-default option for non-interactive execution
                 + ability to automatically detect and use empty- and .mysql_secret temporary passwords
                * mysql_install_db.pl.in
                 + Random password generation by default
                 + --skip-random-passwords skips security adjustments and random password gen.
                * mysql_security_commands.sql
                 + remove test database and all remote accounts (keep localhost).
------------------------------------------------------------
revno: 7515
committer: Raghav Kapoor <raghav.kapoor@oracle.com>
branch nick: mysql-trunk-wl7467
timestamp: Thu 2014-02-20 17:54:19 +0530
message:
  Post Push Fix for Failing Tests after Push of WL#7467
------------------------------------------------------------
revno: 7514 [merge]
committer: mithun <mithun.c.y@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-20 17:02:17 +0530
message:
  Bug #17080703: INCONSISTENT DATETIME CONVERSIONS WITH
                 FRACTIONAL SECONDS
  Merge from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.277
    committer: mithun <mithun.c.y@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-02-20 16:59:59 +0530
    message:
      Bug #17080703: INCONSISTENT DATETIME CONVERSIONS WITH
                     FRACTIONAL SECONDS
      
      ISSUE :
      -------
      A temporal literal string without delimiters and having > 14
      digits was validated as a TIMESTAMP/DATETIME value with two
      digit precision fractional seconds. For example, a 16 digit
      string 'xxxxxxxxxxxxxxxx' is interpreted as
      'XXXX-XX-XX XX:XX:XX.xx'. But fractional seconds should
      always be separated from other parts of time. And, decimal
      point is the only delimiter which separates the fractional
      seconds from rest.
      
      SOLUTION :
      ----------
      Reject all time typed strings where the fractional seconds
      are not separated by a decimal point.
------------------------------------------------------------
revno: 7513 [merge]
committer: Raghav Kapoor <raghav.kapoor@oracle.com>
branch nick: mysql-trunk-wl7467
timestamp: Thu 2014-02-20 15:06:55 +0530
message:
  WL#7467: Deprecate (5.6) and remove (5.7) ERROR_FOR_DIVISION_BY_ZERO,
           NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES and make their
           functionality part of STRICT MODE
  
  This is the 5.7 version of the patch.
        
  This patch removes the functionality of ERROR_FOR_DIVISION_BY_ZERO,
  NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES and makes their 
  functionality part of STRICT MODE.
  
  All the tests are updated according to the new behaviour.
  
  NOTE:Here STRICT MODE refers to STRICT_ALL_TABLES and
  STRICT_TRANS_TABLES.
  
  NOTE:Also a small refactoring is done for TIME_NO_ZERO_* flags
  which makes the code conceptually clear and easy to understand.
  Previously in old code there was an implicit dependency between
  MODE_NO_ZERO* and TIME_NO_ZERO* flags and they could be freely 
  mixed and the code was confusing and conceptually
  wrong.
  With the elimination of MODE_NO_ZERO_* flags handled in this WL,
  TIME_NO_ZERO_* flags which control the datetime behaviour
  are also updated.
  This refactoring is also done to keep the existing behaviour if 
  SQL_MODE is traditional/STRICT.
    ------------------------------------------------------------
    revno: 3902.291.276 [merge]
    committer: Raghav Kapoor <raghav.kapoor@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-02-20 15:01:54 +0530
    message:
      WL#7467: Deprecate (5.6) and remove (5.7) ERROR_FOR_DIVISION_BY_ZERO,
               NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES and make their
               functionality part of STRICT MODE
      
      This is 5.6 version of the patch.
      
      This patch adds Deprecation Warning when ERROR_FOR_DIVISION_BY_ZERO,
      NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES or any combination of 
      them are explicitly set by the user.
        ------------------------------------------------------------
        revno: 3902.317.1
        committer: Raghav Kapoor <raghav.kapoor@oracle.com>
        branch nick: mysql-5.6
        timestamp: Wed 2014-01-15 16:34:28 +0530
        message:
          WL#7467: Deprecate (5.6) and remove (5.7) ERROR_FOR_DIVISION_BY_ZERO,
                   NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES and make their
                   functionality part of STRICT MODE
          
          This is 5.6 version of the patch.
          
          This patch adds Deprecation Warning when ERROR_FOR_DIVISION_BY_ZERO,
          NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES are explicitly set.
------------------------------------------------------------
revno: 7512
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-20 13:57:44 +0530
message:
  Bug#18219471: SEMISYNC IS NOT COMPILED WITH SSL
      
  Problem:
  semi-synchronous replication was not compiled
  with SSL. As a result, the net.vio->ssl_arg
  attribute, used in semisync, was uninitialized.
  An access to it lead to the bug scenario.
      
  Fix:
  Compile semisync with SSL.
------------------------------------------------------------
revno: 7511
committer: Erlend Dahl <erlend.dahl@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-20 08:37:37 +0100
message:
  Avoid running main.reset_connection in embedded mode (it's not supposed to).
  
  Approved by Anitha over IM.
------------------------------------------------------------
revno: 7510 [merge]
committer: Shaohua Wang <shaohua.wang@oracle.com>
branch nick: mysql-trunk-bugfix2
timestamp: Wed 2014-02-19 18:19:41 +0800
message:
  Merge from mysql-5.6 from mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.275
    committer: Shaohua Wang <shaohua.wang@oracle.com>
    branch nick: mysql-5.6-bugfix2
    timestamp: Wed 2014-02-19 18:15:08 +0800
    message:
      BUG#18229433 FTS: INVALID MEMMOVE IN FTS_QUERY_FETCH_DOCUMENT CAUSE CRASH
      
      In fts_query_fetch_document, we do 'prev_len += cur_len + 1',
      but we don't check if 'cur_len != UNIV_SQL_NULL', so cause
      'memcpy(document_text + prev_len, data, cur_len);' to crash.
      
      rb://4702 approved by Jimmy.Yang
------------------------------------------------------------
revno: 7509 [merge]
committer: Shaohua Wang <shaohua.wang@oracle.com>
branch nick: mysql-trunk-bugfix1
timestamp: Wed 2014-02-19 17:08:21 +0800
message:
  Merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.274
    committer: Shaohua Wang <shaohua.wang@oracle.com>
    branch nick: mysql-5.6-bugfix1
    timestamp: Wed 2014-02-19 17:03:14 +0800
    message:
      Follow up fix for BUG#18180057: MANUAL DOES NOT EXPLAIN UPPER
      LIMIT FOR INNODB_FT_RESULT_CACHE_LIMIT VALUE
      
      Build error in some 32-bit platform handler/ha_innodb.cc:15819:1:
      error: this decimal constant is unsigned only in ISO C90 [-Werror]
      
      Approved by Jimmy.Yang in IM.
------------------------------------------------------------
revno: 7508 [merge]
committer: Shaohua Wang <shaohua.wang@oracle.com>
branch nick: mysql-trunk-bugfix2
timestamp: Wed 2014-02-19 16:44:12 +0800
message:
  Merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.273
    committer: Shaohua Wang <shaohua.wang@oracle.com>
    branch nick: mysql-5.6-bugfix2
    timestamp: Wed 2014-02-19 16:41:14 +0800
    message:
      Commit Message:
      BUG#18233051 - FTS: FAILING ASSERTION: NUM_TOKEN < MAX_PROXIMITY_ITEM
      
      Analysis:
      We don't check NUM_TOKEN < MAX_PROXIMITY_ITEM, so the assertion fails.
      
      Solution:
      1. Return error if number of token in a phrase or proximity search;
      2. Fix related problem in fts_proximity_get_positions.
         the possible combination containing all the words in a proximity search
         can be a large number greater than MAX_PROXIMITY_ITEM.
      
      rb://4686 approved by Jimmy.Yang
------------------------------------------------------------
revno: 7507 [merge]
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug17581990_mysql-trunk
timestamp: Wed 2014-02-19 10:24:07 +0530
message:
  Merge from mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.272
    committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
    branch nick: Bug17581990_mysql-5.6
    timestamp: Wed 2014-02-19 10:15:51 +0530
    message:
      Bug#17581990:SLAVE SQL: COULD NOT EXECUTE QUERY EVENT.
      DETAILED ERROR: ;, ERROR_CODE: 0
      
      Problem:
      ========
      Setting slave-skip-errors=all on the slave will make mysql
      slave error log to grow continuously with the following
      warnings.
      
      [Warning] Slave SQL: Could not execute Query event.
      Detailed error: ;, Error_code: 0
      
      Analysis:
      ========
      This warning is generated during execution of Query event
      from the following peace of code.
      
      else if ((expected_error == actual_error &&
                !concurrency_error_code(expected_error)) ||
               ignored_error_code(actual_error))
      {
        DBUG_PRINT("info",("error ignored"));
        if (log_warnings > 1 && ignored_error_code(actual_error))
          rli->report(WARNING_LEVEL, actual_error,...
      
      The warning mainly depends on two parameters named
      "expected_error" and "actual_error". These two variables
      are initialised to zero by default. During the execution
      when there is no change in their values their values will
      remain as zeroes.
      
      Condition1: becomes true
      Condition2: It considers 0 as non concurrency related error
      code causing condition 2 to become true.
      condition3: 0 is considered as ignored error code.
      Hence the whole condition becomes true and warning gets
      generated.
      
      Fix:
      ===
      Having "actual == expected == 0" must not be considered as a
      valid error condition. Hence if non zero value exists for
      this variable only then it should be checked for ignored
      error.
------------------------------------------------------------
revno: 7506 [merge]
committer: Andrei Elkin <andrei.elkin@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-18 19:57:40 +0200
message:
  merging from the 5.6 repo prior to push Bug18001777 fixes.
    ------------------------------------------------------------
    revno: 3902.291.271 [merge]
    committer: Andrei Elkin <andrei.elkin@oracle.com>
    branch nick: 5.6-fixes4
    timestamp: Tue 2014-02-18 19:52:59 +0200
    message:
      merging 5.6 repo with local Bug18001777 fixing branch.
------------------------------------------------------------
revno: 7505 [merge]
committer: Andrei Elkin <andrei.elkin@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-18 19:44:04 +0200
message:
  merging from the trunk repo prior to push Bug18001777 fixes.
    ------------------------------------------------------------
    revno: 7500.1.1 [merge]
    committer: Andrei Elkin <andrei.elkin@oracle.com>
    branch nick: mysql-trunk
    timestamp: Tue 2014-02-18 16:23:18 +0200
    message:
      merging Bug18001777 fixed to trunk.
        ------------------------------------------------------------
        revno: 3902.316.1
        committer: Andrei Elkin <andrei.elkin@oracle.com>
        branch nick: 5.6-fixes4
        timestamp: Tue 2014-02-18 14:34:43 +0200
        message:
          Bug #18001777 MYSQL SLAVE SQL THREAD MEMORY hogging
          
          
          Technically it's not a leak which the reporter admits himself, see
          the bug report.
          
          Source code examination showed that the problem was in usage of an
          incorrect mem-root. The main THD root of Coordinator thread was never
          reset.
          After discussion with reviewer a solution to dismantle the specific
          root is decided. Instead array of pointers to database names of a
          maximum size is allocated in the stack which is correct 'cos database
          names do not get out scope of gets destructed while their pointers are
          processed.
          The fixes are verified on memory consumption to prove correctness of
          the found suspect and the fixing method.
------------------------------------------------------------
revno: 7504
committer: Guilhem Bichot <guilhem.bichot@oracle.com>
branch nick: trunk-2
timestamp: Tue 2014-02-04 10:09:12 +0100
message:
  Fix for Bug#18013520 DEBUG CRASH IN OPTIMIZE_TABLE_ORDER::SEMIJOIN_FIRSTMATCH_LOOSESCAN_ACCESS_PATHS.
  Bug introduced in 5.7 in Dec 2013 by the fix for Bug 11762236
  "optimizer use ref joins where it should use eq_ref"
  
  As pre-condition, semijoin loosescan cost-based logic
  semijoin_loosescan_fill_driving_table_position() needs
  Key_use::bound_keyparts/read_cost/fanout to be filled for each key
  (exactly: for the first Key_use of each key).
  This was, so far, guaranteed by a previous call to best_access_path()
  which calls find_best_ref() which updates members of Key_use-s.
  
  But the guilty bugfix has added, in find_best_ref()
    if some heuristic applies
      then choose this Key_use (of clustered pk) _and_leave_the_function_.
  
  Thus, when we leave find_best_ref(), all Key_use-s located after the
  clustered pk in the JOIN_TAB::key_use array, are not updated. Their
  bound_keyparts, for example, is left to what it was in a previous call
  to find_best_ref(), which was possibly in a completely different
  partial plan.
  
  Thus, semijoin_loosescan_fill_driving_table_position() gets wrong
  input data, and in our bug's case, bound_kepyarts has the stale value
  1, so the function selects semijoin LS, whereas, if
  it had good input data (bound_keyparts==2), it would realize that this
  strategy is impossible.
  
  Later, when more plans are explored, the heuristic does not always
  apply, so bound_keyparts sometimes gets properly reset to 0.
  Finally, the chosen plan is the one with impossible LS.
  fix_semijoin_strategies () is called, wants to setup LS as commanded,
  and crashes because it's impossible (now it sees that it's impossible
  because bound_keyparts is now 0).
  
  It is important to note that the clustered pk chosen by the heuristic
  is not always what LS wants. Look at the crashing query:
  SELECT    table1 . `pk` AS field1
  FROM
  ( C AS table1 INNER JOIN ( ( CC AS table2 STRAIGHT_JOIN D AS
  table3 ON (table3 . `col_varchar_key` = table2 . `col_varchar_nokey`
  ) ) ) ON (table3 . `pk` = table2 . `pk`  ) )
  WHERE (  ( table1 . `col_int_key` , table2 . `col_int_nokey` )  IN
  ( SELECT DISTINCT  SUBQUERY1_t1 . `col_int_key` AS SUBQUERY1_field1 ,
                     SUBQUERY1_t1 . `pk` AS SUBQUERY1_field2
    FROM
    ( CC AS SUBQUERY1_t1 LEFT JOIN CC AS SUBQUERY1_t2 ON
    (SUBQUERY1_t2 . `col_int_key` = SUBQUERY1_t1 . `col_int_nokey`  ) )
    ) ) AND ( table2 . `col_varchar_nokey` = 'd' OR table1
    . `col_int_nokey` IS  NULL )
  GROUP BY field1  ORDER BY table1 . `col_time_key` ASC
  
  In our case, the partial plan was:
   "`CC` `table2`", "`CC` `SUBQUERY1_t1`", "`CC` `SUBQUERY1_t2`",
  "`D` `table3`".
  
  The clustered pk SUBQUERY1_t1.pk, though suitable for ordinary
  (non-sj) ref access, is not suitable for LS because it does not
  handle the equality of col_int_key in IN(). LS needs to examine other
  indexes. For example, if there had been an index on (pk, col_int_key)
  it would have been suitable. To examine all indexes, Key_use data must
  be correct for all of them.
  
  Fix: let LS logic force find_best_ref() to not skip any key.
  
  No testcase; it is not a repeatable crash (varying InnoDB
  statistics?); with RQG it is repeatable after few minutes;
  after applying the fix, I ran RQG for 4 hours without any problem.
------------------------------------------------------------
revno: 7503
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-18 19:37:08 +0530
message:
  Bug#18219471: SEMISYNC IS NOT COMPILED WITH SSL
  
  - reverting the patch from trunk,
    it broke the solaris build on trunk
------------------------------------------------------------
revno: 7502
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-18 18:28:55 +0530
message:
  Bug#18219471: SEMISYNC IS NOT COMPILED WITH SSL
  
  Problem:
  semi-synchronous replication was not compiled
  with SSL. As a result, the net.vio->ssl_arg
  attribute, used in semisync, was uninitialized.
  An access to it lead to the bug scenario.
  
  Fix:
  Compile semisync with SSL.
------------------------------------------------------------
revno: 7501 [merge]
committer: sayantan dutta <sayantan.dutta@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-18 18:06:48 +0530
message:
  bug 18145121 5.6=> 5.7
    ------------------------------------------------------------
    revno: 3902.291.270
    committer: sayantan dutta <sayantan.dutta@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-18 17:57:54 +0530
    message:
      Follow up Fix: Bug #18145121 - DEPRECATED PERL SYNTAX IN MTR
------------------------------------------------------------
revno: 7500
committer: Erlend Dahl <erlend.dahl@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-18 13:15:27 +0100
message:
  Follow-up patch to 
  
  WL#7620: Deprecate and remove mysqlaccess 
  WL#7034: Deprecate and remove mysql_convert_table_format
  WL#7036: Deprecate and remove mysql_fix_extensions
  WL#7621: Deprecate and remove mysql_find_rows.sh
  WL#7033: Deprecate and remove mysql_setpermission
  WL#7035: Deprecate and remove msql2mysql 
  
  See also 
  
  Bug#18179576, Bug#16699317, Bug#16699284, Bug#11746603, Bug#16699279 and Bug#16699248
  
  Remove removal of man pages that no longer exist.
  
  Approved by Terje over IM.
------------------------------------------------------------
revno: 7499 [merge]
committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-18 16:19:51 +0530
message:
  Null merge from 5.6
    ------------------------------------------------------------
    revno: 3902.291.269
    committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-18 16:11:54 +0530
    message:
      Updated/added copyright header: Added Use is subject to license terms.
------------------------------------------------------------
revno: 7498
committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-18 16:16:23 +0530
message:
  Updated/added copyright header: Added Use is subject to license terms.
------------------------------------------------------------
revno: 7497
committer: Narendra Chauhan <narendra.chauhan@oracle.com>
branch nick: test-mysql-trunk
timestamp: Tue 2014-02-18 12:26:08 +0530
message:
  Bug#18233370
------------------------------------------------------------
revno: 7496
committer: Narendra Chauhan <narendra.chauhan@oracle.com>
branch nick: test-mysql-trunk
timestamp: Tue 2014-02-18 00:12:54 +0530
message:
  Bug#18259359 	RPL.RPL_MASTER_POS_WAIT FAILING WITH RESULT MISMATCH
  
  To fix sporadic failure because of improper clean up in another testcases.
------------------------------------------------------------
revno: 7495
committer: Erlend Dahl <erlend.dahl@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-17 16:40:39 +0100
message:
  ctype_gb18030_conversion takes 80-100 mins in normal valgrind runs.
  
  Run it only in valgrind if the --big-test option is used.
------------------------------------------------------------
revno: 7494 [merge]
committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-17 18:29:52 +0530
message:
  Null merge from 5.5
    ------------------------------------------------------------
    revno: 3902.291.268 [merge]
    committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-02-17 18:25:18 +0530
    message:
      Null merging the changes from 5.5
        ------------------------------------------------------------
        revno: 2875.545.138
        committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
        branch nick: mysql-5.5
        timestamp: Mon 2014-02-17 18:19:04 +0530
        message:
          Updated/added copyright header. Added line "use is subject to license terms" 
          to copyright header.
------------------------------------------------------------
revno: 7493 [merge]
committer: Luis Soares <luis.soares@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-17 12:49:46 +0000
message:
  BUG#17587618
  
  Auto-merge into latest mysql-trunk.
    ------------------------------------------------------------
    revno: 7396.1.3
    committer: Luis Soares <luis.soares@oracle.com>
    branch nick: mysql-trunk
    timestamp: Wed 2014-02-12 10:08:03 +0000
    message:
      BUG#17587618
            
      Removing additional unused #define in InnoDB as
      instructed by Marko.
            
      Removing trailing white space as suggested by Marko.
    ------------------------------------------------------------
    revno: 7396.1.2
    committer: Luis Soares <luis.soares@oracle.com>
    branch nick: mysql-trunk
    timestamp: Tue 2014-02-11 12:16:01 +0000
    message:
      BUG#17587618: future_group_master_log_pos not set properly
      
      Removing InnoDB dead code as well.
    ------------------------------------------------------------
    revno: 7396.1.1
    committer: Luis Soares <luis.soares@oracle.com>
    branch nick: mysql-trunk
    timestamp: Wed 2014-02-05 16:36:42 +0000
    message:
      BUG#17587618: future_group_master_log_pos not set properly
      
      There was a missing update to the unused future_group_master_log_pos
      variable. We fix this by removing this variable altogether. In fact,
      this has not been used since MySQL 5.1+.
------------------------------------------------------------
revno: 7492
committer: bin.x.su@oracle.com
branch nick: mysql-trunk
timestamp: Mon 2014-02-17 20:20:23 +0800
message:
  Re-record these test cases, since we added a new charset gb18030(WL#4024)
------------------------------------------------------------
revno: 7491
committer: Narendra Chauhan <narendra.chauhan@oracle.com>
branch nick: test-mysql-trunk
timestamp: Mon 2014-02-17 17:01:56 +0530
message:
  Post push fix for WL#6921.
  Bug #18233370 : RPL_ROW_EVENT_MAX_SIZE TEST FAILING WITH 4K PAGE SIZE RUN ON PB2
  
  The issue is specific to innodb 4K pagesize. Testcase 'rpl_row_event_max_size.test' is failing with 1118 error. i.e.
  ERROR 1118 (42000): Row size too large (> 1982). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. 
  In current row format, BLOB prefix of 768 bytes is stored inline.
  
  In order to resolve this issue we need to take use of Barracuda file format and ROW_FORMAT=DYNAMIC option.
------------------------------------------------------------
revno: 7490 [merge]
committer: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
branch nick: mysql-trunk-13975225
timestamp: Mon 2014-02-17 16:24:47 +0530
message:
  Merge from 5.6 to trunk.
    ------------------------------------------------------------
    revno: 3902.291.267
    committer: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
    branch nick: mysql-5.6-13975225
    timestamp: Mon 2014-02-17 15:12:16 +0530
    message:
      BUG# 13975227: ONLINE OPTIMIZE TABLE FOR INNODB TABLES
      
      Analysis:
      --------
      OPTIMIZE TABLE on INNODB or PARTITIONED INNODB tables
      doesn't allow concurrent changes to the same table, thus
      causing down time in user applications.
      
      OPTIMIZE TABLE for INNODB or PARTITIONED INNODB tables
      uses ALTER TABLE FORCE operation internally to address
      the fragmentation problem. This operations involves a table
      copy and taking a strong lock on SQL-layer which blocks
      all concurrent changes to the table. The downtime is high
      while performing the operation for large tables.
      
      Fix:
      ----
      MySQL supports online rebuilding of tables within the storage
      engine for INNODB or PARTITIONED INNODB tables starting from
      MySQL 5.6.4. With this patch, the operations listed below
      will trigger online rebuild of table.
      a) OPTIMIZE TABLE.
      b) ALTER TABLE FORCE and
      c) ALTER TABLE ENGINE= INNODB(Same engine during creation)
      
      The online rebuild involves taking strong lock only for
      brief interval of time thus reducing the downtime for
      the operations. Concurrent changes to the table are
      allowed and the time taken to complete the operation
      is reduced considerably.
      
      Note that these operations will continue to use table
      copy under any of the below conditions:
      a) 'old_alter_table' system variable is turned ON.
      b) 'skip-new' mysqld option is enabled and OPTIMIZE
          TABLE operation is performed.
      c) Algorithm COPY is explicitly specified for the
         ALTER TABLE operations.
------------------------------------------------------------
revno: 7489
committer: Vinay Fisrekar <vinay.fisrekar@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-17 16:09:15 +0530
message:
  Updating experimental list with corrosponding bug id.
------------------------------------------------------------
revno: 7488
committer: Vinay Fisrekar <vinay.fisrekar@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-17 15:08:23 +0530
message:
  Adding analyze table before explain.
------------------------------------------------------------
revno: 7487
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-17 14:30:46 +0530
message:
  Bug#18144349 INNODB CANNOT USE THE DOUBLEWRITE BUFFER FOR THE FIRST PAGE OF
  SYSTEM TABLESPACE
  
  Follow up patch to fix pb2 failures.  During recovery, if a data page is filled
  with zeros, and its valid copy is available in the double write buffer, then we
  recover the page from the double write buffer.  When this happens a warning was
  issued.  This warning is causing many crash recovery tests to fail.  Also, the
  usefulness of this warning has not been established.  So warning is removed.
  
  approved by Sunny via IM.
------------------------------------------------------------
revno: 7486 [merge]
committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-17 13:54:52 +0530
message:
  Bug #18010711	 UNIQUE PREFIX INDEX ON BINARY COLUMN:
                    FAILING ASSERTION: FLEN == LEN
  
  		Merge from 5.6
    ------------------------------------------------------------
    revno: 3902.291.266 [merge]
    committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-02-17 13:49:45 +0530
    message:
      Bug #18010711	 UNIQUE PREFIX INDEX ON BINARY COLUMN:
                        FAILING ASSERTION: FLEN == LEN
      	Merge from 5.5
        ------------------------------------------------------------
        revno: 2875.545.137
        committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
        branch nick: mysql-5.5
        timestamp: Mon 2014-02-17 13:45:34 +0530
        message:
          Bug #18010711	 UNIQUE PREFIX INDEX ON BINARY COLUMN:
                            FAILING ASSERTION: FLEN == LEN
          
          Problem:
                 Broken invariant triggered when building a unique index on a
          binary column and the input data contains duplicate keys. This was broken
          in debug builds only.
          
          Fix:
                 Fixed length of the binary datatype can be greater than length of
          the shorter prefix on which index is being created.
------------------------------------------------------------
revno: 7485
committer: Anitha Gopi <anitha.gopi@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-17 00:24:35 +0100
message:
  Add engines suite to runs on stage tree
------------------------------------------------------------
revno: 7484
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-14 22:11:21 +0200
message:
  Bug#18251675 CLEAN UP SOME REDO LOG CODE
  
  InnoDB used to have disabled functionality for archiving redo logs
  (UNIV_LOG_ARCHIVE) and for multiple redo log copies (log groups). Most of
  this was removed, but some of it remain.
  
  Also, there are some dead variables and parameters that could be removed.
  
  innodb_gis.innodb_gis_bug17057168: Enable the test on embedded and non-debug.
  
  fil_space_create(): Remove some redundant initialization. The memory
  is already initialized by ut_zalloc().
  
  fil_load_single_table_tablespace(): Fix a syntax error inside #if code
  
  log_group_read_log_seg(): Remove the parameter type=LOG_RECOVER
  
  recv_sys_t::limit_lsn: Remove.
  
  LOG_RECOVER, LOG_ARCHIVE, LOG_ARCHIVE_BUF_SIZE,
  LOG_ARCHIVE_EXTRA_MARGIN, LOG_ARCHIVE_RATIO_ASYNC:
  LOG_ARCHIVE_READ, LOG_ARCHIVE_WRITE: Remove.
  
  log_calc_max_ages(): Do not compute smallest_archive_margin.
  
  recv_log_scan_is_startup_type: Remove (it always evaluates to 1 in the check).
  This should probably have been removed when UNIV_LOG_ARCHIVE was removed.
  
  recv_previous_parsed_rec_type: Change the type to mlog_id_t.
  
  recv_find_max_checkpoint(), recv_report_corrupt_log(),
  recv_parse_log_recs(): Use ULINTPF in format strings.
  
  recv_parse_log_rec(): Make type the first parameter, to be in line
  with some other functions. Add Valgrind instrumentation.
  
  rb#4691 approved by Kevin Lewis
------------------------------------------------------------
revno: 7483
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-14 22:10:25 +0200
message:
  Post-push fix of Bug#18226934 INNODB WRITES REDO LOG FOR TEMPORARY TABLESPACE
  
  trx_undo_assign_undo(): Do not generate redo log for undo log
  in a temporary tablespace.
------------------------------------------------------------
revno: 7482
committer: Erlend Dahl <erlend.dahl@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-14 13:38:53 +0100
message:
  Require --big-test to run main.ctype_gb18030 in Valgrind.
------------------------------------------------------------
revno: 7481
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Fri 2014-02-14 12:42:25 +0100
message:
  Bug #16064833: MYSQLCHECK HANDLES TABLE NAMES WITH DOTS INCORRECTLY
  
  Post-push fix:
  ASAN discovered an out-of-bounds read from the 'prev' buffer.
  We are putting fixed-size strings into a couple of dynamic_arrays.
  We are no longer copying from prev[0] but from prev[length_of_db + 1]
  hence we are reading arbitrary stack contents.
  Solution: extend the 'prev' buffer, so that the 
  insert_dynamic() calls no longer have undefined behaviour.
------------------------------------------------------------
revno: 7480
committer: bin.x.su@oracle.com
branch nick: mysql-trunk
timestamp: Fri 2014-02-14 18:26:41 +0800
message:
  Fixed some more warnings for push WL#4024, since it's broken in pb2.
  
  Approved by Marko via IM.
------------------------------------------------------------
revno: 7479 [merge]
committer: Erlend Dahl <erlend.dahl@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-14 10:53:32 +0100
message:
  This patch implements
  
  WL#7620: Deprecate and remove mysqlaccess 
  WL#7034: Deprecate and remove mysql_convert_table_format
  WL#7036: Deprecate and remove mysql_fix_extensions
  WL#7621: Deprecate and remove mysql_find_rows.sh
  WL#7033: Deprecate and remove mysql_setpermission
  WL#7035: Deprecate and remove msql2mysql 
  
  See also 
  
  Bug#18179576, Bug#16699317, Bug#16699284, Bug#11746603, Bug#16699279 and Bug#16699248
    ------------------------------------------------------------
    revno: 3902.291.265
    committer: Erlend Dahl <erlend.dahl@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-02-14 10:48:42 +0100
    message:
      This patch implements
      
      WL#7620: Deprecate and remove mysqlaccess 
      WL#7034: Deprecate and remove mysql_convert_table_format
      WL#7036: Deprecate and remove mysql_fix_extensions
      WL#7621: Deprecate and remove mysql_find_rows.sh
      WL#7033: Deprecate and remove mysql_setpermission
      WL#7035: Deprecate and remove msql2mysql 
      
      See also 
      
      Bug#18179576, Bug#16699317, Bug#16699284, Bug#11746603, Bug#16699279 and Bug#16699248
------------------------------------------------------------
revno: 7478 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-14 13:43:54 +0530
message:
  Null merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.264
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-02-14 13:42:36 +0530
    message:
      Bug #18144349 INNODB CANNOT USE THE DOUBLEWRITE BUFFER FOR THE FIRST PAGE OF
      SYSTEM TABLESPACE
      
      Problem:
      
      When the first page of any of the data files of the system tablespace is
      corrupt, even if a clean copy of the same is available in the double write
      buffer, the server does not start.
      
      Solution:
      
      When the first page of the data files of the system tablespace is corrupt,
      try to restore from the doublewrite buffer.
      
      rb#4513 approved by Kevin. 
------------------------------------------------------------
revno: 7477
committer: bin.x.su@oracle.com
branch nick: mysql-trunk
timestamp: Fri 2014-02-14 14:46:49 +0800
message:
  Fixed the compile errors on trunk after push for WL#4024
------------------------------------------------------------
revno: 7476 [merge]
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug17986385_mysql-trunk
timestamp: Fri 2014-02-14 11:09:39 +0530
message:
  Null Merge from mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.263
    committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
    branch nick: Bug17986385_mysql-5.6
    timestamp: Fri 2014-02-14 10:57:29 +0530
    message:
      Bug#17986385:LOG-WARNINGS=2 UNUSABLE ON SLAVE WITH FILTERS
      
      Fixing a post push test issue.
------------------------------------------------------------
revno: 7475
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-14 10:12:33 +0530
message:
  Bug#18144349 INNODB CANNOT USE THE DOUBLEWRITE BUFFER FOR THE
  FIRST PAGE OF SYSTEM TABLESPACE
  
  Follow up fix after pb2 failure.  The debug code innodb_make_page_dirty()
  was always dirtying the first page of the tablespace.  Fixed it to dirty
  the specified page.  In the test case innodb-double-write.test, the 2nd
  page of the t1 tablespace is not dirtied.  Dirty it correctly.  Also,
  for each recovery, do not dirty many pages.  It then gets overwritten
  in the double write buffer.  Also trying to minimize the interference from
  the purge thread. 
------------------------------------------------------------
revno: 7474
committer: bin.x.su@oracle.com
branch nick: mysql-trunk
timestamp: Fri 2014-02-14 10:54:53 +0800
message:
  WL#4024 gb18030 Chinese character set
------------------------------------------------------------
revno: 7473
committer: Mattias Jonsson <mattias.jonsson@oracle.com>
branch nick: test-trunk
timestamp: Thu 2014-02-13 16:47:31 +0100
message:
  Bug#17957894: ADDRESS SANITIZER REPORTS FAILURE IN MAIN.PARTITION_ORDER ON MYSQL-TRUNK
  
  Bad length in memcmp in Field_bit::cmp_max().
------------------------------------------------------------
revno: 7472
committer: Vinay Fisrekar <vinay.fisrekar@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-13 20:48:41 +0530
message:
  Make failing test experimental.
------------------------------------------------------------
revno: 7471
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-13 14:47:16 +0200
message:
  Bug#18242594 CLEAN UP DOUBLEWRITE BUFFER MESSAGES
  
  The error messages for the doublewrite buffer are not referring to page
  numbers in a consistent way.
  
  For example,
  
  "A page in the doublewrite buffer is not within space bounds; space id X
  page number Y, page Z in doublewrite buf."
  
  would be easier to read as
  
  "Page Z in the doublewrite buffer is not within space bounds: page X:Y"
  
  This patch also adds some const qualifiers and comments.
  
  buf_dblwr_process(): Invoke recv_dblwr.pages.clear() when finished.
  
  rb#4664 approved by Annamalai Gurusami, Vasil Dimov
------------------------------------------------------------
revno: 7470 [merge]
committer: sayantan dutta <sayantan.dutta@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-13 17:36:56 +0530
message:
  Bug 18145121 5.6 => 5.7
    ------------------------------------------------------------
    revno: 3902.291.262
    committer: sayantan dutta <sayantan.dutta@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-02-13 17:25:34 +0530
    message:
      Bug #18145121 - DEPRECATED PERL SYNTAX IN MTR
------------------------------------------------------------
revno: 7469 [merge]
committer: Manish Kumar<manish.4.kumar@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-13 15:28:56 +0530
message:
  WL#7205 - Making MTR rpl suite GTID_MODE agnostic
  
  upmerge from mysql-5.6 -> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.261
    committer: Manish Kumar<manish.4.kumar@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-02-13 15:25:14 +0530
    message:
      WL#7205 - Making MTR rpl suite GTID_MODE agnostic
      
      Post push fix to address failing test cases on pb2 daily runs.
------------------------------------------------------------
revno: 7468
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Thu 2014-02-13 09:33:22 +0100
message:
  Bug#18236993 ADDRESSSANITIZER BUG IN MYSQL_RM_TMP_TABLES
  
  memcmp(file->name, "#sql", 4) is undefined for short filenames.
------------------------------------------------------------
revno: 7467
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-13 09:51:48 +0200
message:
  Bug#18236000 TRUNCATE TABLE IS WRITING TO SYSTEM TABLESPACE WITHOUT
  REDO LOGGING
  
  The methods truncate_t::drop_indexes() and
  truncate_t::create_indexes() were disabling redo logging when
  modifying the system tablespace (ibdata1).
  
  There are 2 possible problems caused by not updating the inode page
  (pointed to by BTR_SEG_LEAF or BTR_SEG_TOP) in sync with the
  allocation bitmap pages (usually page 0:0):
  
  (1) If the inode page is written out but the bitmap page is not, in
  the event of a crash we will leak (never free) the pages.
  
  (2) If the bitmap page was written out but the inode page was not, we
  could double-free a page, hitting an assertion failure on crash
  recovery.
  
  Redo logging makes these updates atomic (either both pages are updated
  or none of them are).
  
  rb#4654 approved by Vasil Dimov and Sunny Bains
------------------------------------------------------------
revno: 7466
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-cmake
timestamp: Thu 2014-02-13 08:50:18 +0100
message:
  Bug#17947926 COMPILING WITH -DWITHOUT_PARTITION_STORAGE_ENGINE=1 FAILS
  
  Storage engines which are built by default according to feature_set.cmake
  can now be disabled with
    -DWITH_${eng}_STORAGE_ENGINE=0
  or
    -DWITHOUT_${eng}_STORAGE_ENGINE=1
------------------------------------------------------------
revno: 7465 [merge]
committer: Shaohua Wang <shaohua.wang@oracle.com>
branch nick: mysql-trunk-bugfix1
timestamp: Thu 2014-02-13 11:42:42 +0800
message:
  Merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.260
    committer: Shaohua Wang <shaohua.wang@oracle.com>
    branch nick: mysql-5.6-bugfix1
    timestamp: Thu 2014-02-13 11:33:41 +0800
    message:
      BUG#18180057: MANUAL DOES NOT EXPLAIN UPPER LIMIT FOR 
      INNODB_FT_RESULT_CACHE_LIMIT VALUE
      
      Analysis:
      We set max value of fts_result_cache_limit to ~0UL(max value of ulong),
      but ulong is 4 bytes on windows, the max value is 4294967295(2**32 -1),
      which is not consistent with linux(2**64 -1).
      
      Solution:
      We explicitly set the max value to 4294967295.
      
      rb://4651 approved by Jimmy.Yang 
------------------------------------------------------------
revno: 7464
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-02-12 15:11:40 +0200
message:
  Post-fix cleanup.
  Bug#18226934 INNODB WRITES REDO LOG FOR TEMPORARY TABLESPACE
  
  fsp_space_modify_check(): A predicate, called whenever we are going to
  modify an allocation bitmap page.
  
  The only functional change is that we additionally assert that the
  space_id must exist in the system when writing redo log.
  
  Approved by Vasil Dimov on IM.
------------------------------------------------------------
revno: 7463 [merge]
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug18165937_mysql-trunk
timestamp: Wed 2014-02-12 17:52:19 +0530
message:
  Merge mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.259
    committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
    branch nick: Bug18165937_mysql-5.6
    timestamp: Wed 2014-02-12 17:49:51 +0530
    message:
      Bug#18165937: HITTING CRASH WHEN SETTING SSL OPTIONS THROUGH 
      CHANGE MASTER COMMAND
            
      Fixing a post push test failure.
------------------------------------------------------------
revno: 7462 [merge]
committer: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-02-12 16:43:19 +0530
message:
  Bug #18186103	 BUFFER OVERFLOW IN CLIENT
  
  Bazaar merge from mysql-5.6.
    ------------------------------------------------------------
    revno: 3902.291.258 [merge]
    committer: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2014-02-12 16:41:09 +0530
    message:
      Bug #18186103	 BUFFER OVERFLOW IN CLIENT
      
      Bazaar merge from mysql-5.5.
        ------------------------------------------------------------
        revno: 2875.545.136
        committer: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
        branch nick: mysql-5.5
        timestamp: Wed 2014-02-12 15:17:37 +0530
        message:
          Bug #18186103  BUFFER OVERFLOW IN CLIENT
          
          Problem: While printing the Server version, mysql client
                   doesn't check for the buffer overflow in a
                   String variable.
          
          Solution: Used a different print function which checks the
                    allocated length before writing into the string.
------------------------------------------------------------
revno: 7461 [merge]
committer: Neeraj Bisht <neeraj.x.bisht@oracle.com>
branch nick: trunk_push
timestamp: Wed 2014-02-12 14:37:18 +0530
message:
  Bug#17075846 - UNQUOTED FILE NAMES FOR VARIABLE VALUES ARE
  	       ACCEPTED BUT PARSED INCORRECTLY
  		merge from 5.6 to trunk
    ------------------------------------------------------------
    revno: 3902.291.257 [merge]
    committer: Neeraj Bisht <neeraj.x.bisht@oracle.com>
    branch nick: 5.6
    timestamp: Wed 2014-02-12 14:35:26 +0530
    message:
      Bug#17075846 - UNQUOTED FILE NAMES FOR VARIABLE VALUES ARE
      	       ACCEPTED BUT PARSED INCORRECTLY
      		merge from 5.5 to 5.6
        ------------------------------------------------------------
        revno: 2875.545.135
        committer: Neeraj Bisht <neeraj.x.bisht@oracle.com>
        branch nick: 5.5
        timestamp: Wed 2014-02-12 14:33:56 +0530
        message:
          Bug#17075846 - UNQUOTED FILE NAMES FOR VARIABLE VALUES ARE
          	       ACCEPTED BUT PARSED INCORRECTLY
          
          When we are setting the value in a system variable, 
          We can set it like 
          
          set sys_var="Iden1.Iden2";		//1
          set sys_var='Iden1.Iden2';		//2
          set sys_var=Iden1.Iden2;		//3
          set sys_var=.ident1.ident2; 		//4
          set sys_var=`Iden1.Iden2`;		//5
          
          
          While parsing, for case 1(when ANSI_QUOTES is enable) and 2,
          we will take as string literal(we will make item of type Item_string).
          for case 3 & 4, taken as Item_field, where Iden1 is a table name and
          iden2 is a field name.
          for case 5, again Item_field type, where iden1.iden2 is taken as
          field name.
          
          
          Now in case 1, when we are assigning some value to system variable
          (which can take string or enumerate type data), we are setting only 
          field part.
          This means only iden2 value will be set for system variable. This 
          result in wrong result.
          
          Solution:
          
          (for string type) We need to Document that we are not allowed to set 
          system variable which takes string as identifier, otherwise result 
          in unexpected behaviour.
          
          (for enumerate type)
          if we pass iden1.iden2, we will give an error ER_WRONG_TYPE_FOR_VAR
          (Incorrect argument type to variable).
------------------------------------------------------------
revno: 7460
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-cmake
timestamp: Wed 2014-02-12 09:39:51 +0100
message:
  Bug#17632854 -DWITH_DEBUG=1 HAS MORE EFFECTS THAN -DCMAKE_BUILD_TYPE=DEBUG
  
  -DWITH_DEBUG=1 should have the same effect as -DCMAKE_BUILD_TYPE=Debug
------------------------------------------------------------
revno: 7459
committer: HaixLi < haixiang.li@oracle.com >
branch nick: mysql-trunk-bug-11747632
timestamp: Wed 2014-02-12 02:25:31 -0500
message:
  BUG #11747632: PRINT_PLAN DOES NOT PRINT APPROPRIATE VALUES.
  
  Description:
  ------------
  Fix this bug by adding a comment for a parameter of print_plan() function.
------------------------------------------------------------
revno: 7458
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 14:23:42 -0600
message:
  Win64 compiler warning fix
------------------------------------------------------------
revno: 7457
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 15:25:08 +0200
message:
  Bug#18185930 UPD_NODE_INSERT_BLOB CAUSES BTR_EXTERN_OWNER_FLAG ASSERTION
  
  This is a regression from
  Bug#14668683 ASSERT REC_GET_DELETED_FLAG(REC, PAGE_IS_COMP(PAGE))
  which just missed the 5.5.36 and 5.6.16 release window.
  
  In row_upd_clust_rec_by_insert(), we used to call
  btr_cur_disown_inherited_fields() after committing the mini-transaction for
  delete-marking the clustered index record. The bug fix made this atomic, but
  forgot to remove the status value UPD_NODE_INSERT_BLOB.
  
  UPD_NODE_INSERT_BLOB: Replace with UPD_NODE_INSERT_CLUSTERED.
  
  row_upd_clust_rec_by_insert_inherit_func(): When this is called after
  resuming from a lock wait, the BLOBs would already be marked disowned.
  Put back the assertion that was removed in the minimal fix, in a relaxed form.
  
  rb#4560 approved by Vasil Dimov
------------------------------------------------------------
revno: 7456
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 15:24:19 +0200
message:
  Bug#18226934 INNODB WRITES REDO LOG FOR TEMPORARY TABLESPACE
  
  Temporary tablespaces in InnoDB are supposed to be discarded and recreated on
  startup. Therefore, it does not make sense to write redo log for operations on
  temporary tablespaces.
  
  InnoDB was writing some redo log for some operations on temporary undo
  logs and B-trees, and associated page allocation and freeing.
  
  dict_create_index_tree_in_mem(): Assert that the table is temporary,
  and remove some bogus code and comments that was copied from
  dict_create_index_tree_step().
  
  dict_truncate_index_tree_in_mem(): Assert that the table is temporary.
  
  fsp_init_file_page(), fsp_header_inc_size(),
  fsp_try_extend_data_file_with_pages(), fsp_try_extend_data_file(),
  fsp_fill_free_list(), fsp_alloc_free_page(), fsp_free_page(),
  fsp_free_seg_inode(), fseg_create_general(), fseg_fill_free_list(),
  fseg_alloc_free_extent(), fseg_alloc_free_page_low(), fseg_free_page_low(),
  fseg_free_extent(): Assert that redo logging is disabled when a
  temporary tablespace is being modified.
  
  fsp_header_init(): Remove some duplicated code.
  
  mtr_t::commit_lsn(): Remove the assertion that m_commit_lsn must be
  nonzero.  After these fixes, it can be zero if the transaction only
  modified temporary tables.
  
  mtr_t::set_log_mode(): Add debug assertions for enforcing rules on the
  state changes. Most notably, MTR_LOG_NO_REDO is sticky and can only be
  set before writing any redo log.
  
  page_parse_create(): Remove the parameter mtr.
  
  page_copy_rec_list_end_to_created_page(): Do not set log mode to
  MTR_LOG_SHORT_INSERTS when compressing the tree during IMPORT TABLESPACE.
  IMPORT TABLESPACE should not be writing any redo log until the tablespace
  has been fully imported.
  
  trx_undo_insert_cleanup(), trx_purge_free_segment(),
  trx_undo_seg_free(): Add the parameter noredo, for disabling redo
  logging when removing temporary undo logs.
  
  trx_purge_truncate_rseg_history(), trx_rseg_create(),
  trx_undo_truncate_end_func(), trx_undo_assign_undo(): Do not write
  redo log for modifying temporary undo logs.
  
  trx_write_serialisation_history(): Use a separate mini-transaction
  for modifying the temporary undo logs.
  
  trx_commit_in_memory(): Treat mtr->commit_lsn()==0 specially.  Adjust
  to other code changes.
  
  trx_prepare_low(): Assert that mtr->commit_lsn() if and only if we
  are preparing a transaction in the temporary undo logs.
  
  srv_open_tmp_tablespace(), innobase_start_or_create_for_mysql():
  Remove some duplicated code.
  
  rb#4611 approved by Vasil Dimov
------------------------------------------------------------
revno: 7455
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 15:22:15 +0200
message:
  InnoDB comment spelling fix: synchronous, not synchronouse.
------------------------------------------------------------
revno: 7454
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 17:51:54 +0530
message:
  Bug#18185490: IF MASTER_HEARTBEAT_PERIOD OPTION IS NOT PROVIDED
                IT IS AUTO SETTING TO DEFAULT
  
  Problem:
  Change master was resetting heartbeat_period to default
  and received_heartbeat to 0 on every change master command.
  Its unintuitive behavior to change heartbeat_period unless
  this option is explicitly given. Similarly, setting
  received_heartbeat to 0 on change master is an unexpected
  behavior.
  
  Fix:
  - dont set heartbeat_period to default on change master.
  - dont reset received_heartbeat to 0 on change master.
  - Updated tests.
------------------------------------------------------------
revno: 7453 [merge]
committer: sayantan dutta <sayantan.dutta@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 17:18:14 +0530
message:
  Bug 18027288 5.6 => 5.7
    ------------------------------------------------------------
    revno: 3902.291.256 [merge]
    committer: sayantan dutta <sayantan.dutta@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-11 17:16:59 +0530
    message:
      Bug 18027288 5.5 => 5.6
        ------------------------------------------------------------
        revno: 2875.545.134
        committer: sayantan dutta <sayantan.dutta@oracle.com>
        branch nick: mysql-5.5
        timestamp: Tue 2014-02-11 17:15:50 +0530
        message:
          Bug #18027288 - MTR SUITE ABORTS WHEN A CLIENT TRIES TO CONNECT SERVER WITH A WRONG PORT NUMBER
------------------------------------------------------------
revno: 7452 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 16:53:22 +0530
message:
  Null merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.255 [merge]
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-11 16:52:13 +0530
    message:
      Merge from mysql-5.5 to mysql-5.6
------------------------------------------------------------
revno: 7451 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 16:50:32 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.315.1 [merge]
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-11 16:46:38 +0530
    message:
      Merge from mysql-5.5 to mysql-5.6
        ------------------------------------------------------------
        revno: 2875.545.133
        committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
        branch nick: mysql-5.5
        timestamp: Tue 2014-02-11 16:44:37 +0530
        message:
          Bug#18185930 UPD_NODE_INSERT_BLOB CAUSES BTR_EXTERN_OWNER_FLAG ASSERTION
          
          Problem:
          
          In the clustered index, when an update operation is done the overall
          scenario (after rb#4479) is as follows:
          
          1.  Delete mark the old record that is to be updated.
          2.  The old record disowns the blobs.
          3.  Insert the new record into clustered index.
          4.  For non-updated blobs, new record must own it. Verified by assert.
          5.  For non-updated blobs, in new record marked as inherited.
          
          Scenario involving DB_LOCK_WAIT:
          
          If step 3 times out, then we will skip 1 and 2 and will continue from
          step 3.  This skipping is achieved by the UPD_NODE_INSERT_BLOB state.
          In this case, step 4 is not correct.  Because of step 1, the new
          record need not own the blobs.  Hence the assert failure.
          
          Solution:
          
          The assert in step 4 is removed.  Instead code is added to ensure that
          the record owns the blob.  
          
          Note:
          
          This is a regression caused by rb#4479.
          
          rb#4571 approved by Marko
------------------------------------------------------------
revno: 7450 [merge]
committer: Arun Kuruvila <arun.kuruvila@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 16:42:11 +0530
message:
  Merging from mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.254
    committer: Arun Kuruvila <arun.kuruvila@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-11 16:39:02 +0530
    message:
      Bug #16204175 COLLATION NAME MISSING FROM LOG MESSAGES 
                    ABOUT LDML DEFINITION PROBLEMS
      
      Description: Follow up patch for the testcase failure in
      pb2.
------------------------------------------------------------
revno: 7449
committer: Roy Lyseng <roy.lyseng@oracle.com>
branch nick: mysql-trunk-review
timestamp: Tue 2014-02-11 11:28:43 +0100
message:
  Bug#18174663: Enhance Item::walk() with prefix walk function
  
  Followup valgrind warning:
  The problem was removal of test on arg_count in Item_func::walk(),
  which is basically unnecessary. But it needed initialization of args
  field also for zero-argument functions. 
------------------------------------------------------------
revno: 7448
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-cmake
timestamp: Tue 2014-02-11 11:15:46 +0100
message:
  Bug#18158812 ENV CFLAGS OVERRIDES DEFAULT COMPILER FLAGS
  
  The default compiler flags for debug/optimized builds were changed by the patch for
  Bug#13595996 CREATE A CONSISTENT DEVELOPMENT CMAKE OPTION SET AND MAKE IT A DEFAULT
  We pick CFLAGS and CXXFLAGS values using cmake build-type 
  Debug or RelWithDebInfo respectively.
  
  However: this was all silently overridden if CFLAGS was set in the environment.
  
  Fix: Remove the special handling of ENV{CFLAGS}.
  If you don't want the builtin defaults: use -DWITH_DEFAULT_COMPILER_OPTIONS=0
  (or set CMAKE_BUILD_TYPE to something other than Debug/RelWithDebInfo)
  
  Also: output relevant C/CXX flags at the end of the cmake run.
------------------------------------------------------------
revno: 7447 [merge]
committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 08:55:50 +0100
message:
  Merge from 5.6
    ------------------------------------------------------------
    revno: 3902.291.253 [merge]
    committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-11 08:44:10 +0100
    message:
      Merge from 5.5 branch
        ------------------------------------------------------------
        revno: 2875.545.132
        committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
        branch nick: mysql-5.5
        timestamp: Tue 2014-02-11 08:27:00 +0100
        message:
          - Add support for el7 (with systemd enabled)
          - Enable shared libmysqld by cmake option
------------------------------------------------------------
revno: 7446
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Tue 2014-02-11 08:30:45 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #16
  s/HAVE_purify/HAVE_VALGRIND/ in C/C++ code.
  Remove HAVE_purify from scripts.
------------------------------------------------------------
revno: 7445 [merge]
committer: Arun Kuruvila <arun.kuruvila@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 12:33:38 +0530
message:
  Merging from mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.252
    committer: Arun Kuruvila <arun.kuruvila@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-11 12:19:05 +0530
    message:
      Bug #16204175 COLLATION NAME MISSING FROM LOG MESSAGES 
                    ABOUT LDML DEFINITION PROBLEMS
      
      Description: When trying to use an invalid user defined 
      collation error information that can be found in SHOW
      WARNINGS also gets logged to the error log, e.g.
      2013-01-22 16:03:02 9130 [ERROR] Shift expected at ''
      The error message is missing information about the actual
      invalid collation
      
      Analysis: When a collation is defined with invalid grammar
      rules, " expected at '' " error is logged to error log. But
      collation name is missing in this error message. So for a
      DBA looking at the error log it is impossible to tell where
      the error actually is . So it is better to add collation
      name along with the error message which is logged to the
      error log.
      
      Fix: As a fix i added the collation name also to the error
      message which is logged to the error log.
------------------------------------------------------------
revno: 7444
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 10:37:17 +0530
message:
  Fixing a pb2 failure.  The os_file_flush() call must not be made when the file
  is opened in read-only mode.  
------------------------------------------------------------
revno: 7443
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-11 09:13:15 +0530
message:
  The memory used to collect the double write buffer page pointers is not freed.
  Reported by valgrind failure in pb2.  Fixing it. 
------------------------------------------------------------
revno: 7442
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-10 19:28:21 +0200
message:
  Followup to vasil.dimov@oracle.com-20140210140207-ppsenqmh6ka3z8ta
  
  Adjust result test file after a change in printout.
------------------------------------------------------------
revno: 7441
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-10 16:02:07 +0200
message:
  Remove ullint, partial fix for Bug#16923874 REPLACE CUSTOM INNODB INTEGER
  TYPES WITH STANDARD ONES DEFINED IN C99
  
  * Replace ullint with uintmax_t
  * Use the standard PRIuMAX when printing via printf(3) family of functions
  * Replace ULLINT_UNDEFINED with UINTMAX_MAX
  * Remove unnecessary typecasts to ullint and use the proper format specifier
    for variables of type ib_id_t, index_id_t and table_id_t: IB_ID_FMT.
  
  Approved by:	Kevin (rb:4549)
------------------------------------------------------------
revno: 7440
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-07 19:02:21 +0200
message:
  Non-functional change: whitespace fixup
------------------------------------------------------------
revno: 7439
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-07 11:16:17 +0200
message:
  Non-functional change: remove outdated comments.
------------------------------------------------------------
revno: 7438
committer: Roy Lyseng <roy.lyseng@oracle.com>
branch nick: mysql-trunk-review
timestamp: Mon 2014-02-10 13:41:04 +0100
message:
  Bug#18174663: Enhance Item::walk() with prefix walk function
  
  The walk_subquery argument of Item::walk() is extended to a bit field
  with three recognized bits:
  
  WALK_PREFIX: Call processor function before visiting children
  WALK_POSTFIX:  Call processor function after visiting children
  WALK_SUBQUERY: Descend into subquery
  
  With this functionality, it is possible to create functions that
  traverse an Item tree prefix and postfix, as well as invoking the
  processor function both before and after visiting the children.
  The latter can be used to provide more advanced control over how
  children are invoked.
------------------------------------------------------------
revno: 7437
committer: Amit Bhattacharya<amit.bhattacharya@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-10 16:32:47 +0530
message:
  Added cost model plan change test cases.
------------------------------------------------------------
revno: 7436
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-10 13:58:50 +0530
message:
  Bug #18144349 INNODB CANNOT USE THE DOUBLEWRITE BUFFER FOR THE FIRST PAGE OF
  SYSTEM TABLESPACE
  
  Problem:
  
  When the first page of any of the data files of the system tablespace is
  corrupt, even if a clean copy of the same is available in the double write
  buffer, the server does not start.
  
  Solution:
  
  When the first page of the data files of the system tablespace is corrupt,
  try to restore from the doublewrite buffer.
  
  rb#4583 approved by Kevin.
------------------------------------------------------------
revno: 7435
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-10 15:53:22 +0900
message:
  Bug#18202904 : DOUBLE MUTEX ENTER IN LOG_BUFFER_EXTEND()
  
  log_mutex_exit() should be called before call log_buffer_extend(), if own_mutex==true.
  
  This path is exceptional path and rare.
  So temporal release of log_sys->mutex should be no problem in actual.
  
  Approved by Marko in rb#4597
------------------------------------------------------------
revno: 7434 [merge]
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug17596226_mysql-trunk
timestamp: Mon 2014-02-10 12:07:08 +0530
message:
  Merge from mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.251
    committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
    branch nick: Bug17596226_mysql-5.6
    timestamp: Mon 2014-02-10 11:07:38 +0530
    message:
      Bug#17596226:CRASH INJECTION SITE CRASH_COMMIT_BEFORE_UNLOG
      EITHER MISPLACED, EITHER MISNAMED.
      
      Problem:
      ========
      MYSQL_BIN_LOG::ordered_commit() has a crash injection site
      crash_commit_before_unlog near its end:
       ...
       finish_commit(...);
      It looks as if this site ended up here by accident after the
      5.6 group commit refactoring. The site is after
      finish_commit() call, so the commit is already completed at
      this point. Hence either Rename, move, or remove it.
      
      Fix:
      ===
      Since there is no test code which tests this crash injection
      point the debug point is removed.
------------------------------------------------------------
revno: 7433 [merge]
committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-10 10:18:12 +0530
message:
  Bug #14049391   INNODB MISCALCULATES AUTO-INCREMENT AFTER DECREASING
                          AUTO_INCREMENT_INCREMENT
  	Merge from 5.6
    ------------------------------------------------------------
    revno: 3902.291.250 [merge]
    committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-02-10 10:15:27 +0530
    message:
      Bug #14049391   INNODB MISCALCULATES AUTO-INCREMENT AFTER DECREASING
                              AUTO_INCREMENT_INCREMENT
      	Merge from 5.5
        ------------------------------------------------------------
        revno: 2875.545.131
        committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
        branch nick: mysql-5.5
        timestamp: Mon 2014-02-10 10:13:35 +0530
        message:
          Bug #14049391   INNODB MISCALCULATES AUTO-INCREMENT AFTER DECREASING
                                  AUTO_INCREMENT_INCREMENT
          Problem:
          =======
          When auto_increment_increment system variable decreases,
          immediate next value of auto increment column is not affected.
          
          Solution:
          ========
          	Get the previous inserted value of auto increment column by
          subtracting the previous auto_increment_increment from next
          auto increment value. After that calculate the current autoinc value
          using newly changed auto_increment_increment variable.
          
          	Approved by Sunny [rb#4394]
------------------------------------------------------------
revno: 7432
committer: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
branch nick: mysql-trunk-17458750
timestamp: Sat 2014-02-08 22:02:26 +0530
message:
  BUG#17458750: ASSERTION FAILED: THD->LOCK == 0 / MYSQL IS FREEING A
                THD THOUGH TRX->N_MYSQL_TA
  
  Analysis:
  --------
  A query of the following format:
  SET PASSWORD:=old_password(''), @a:= (select * from t1 where 1);
  causes the server to assert on debug build. On a release build,
  the error message below is printed during shutdown:
  [ERROR] InnoDB: MySQL is freeing a thd though
  trx->n_mysql_tables_in_use is 1 and trx->mysql_n_tables_locked
  is 1.
  
  In the query mentioned above, the SELECT statement is executed
  first followed by SET PASSWORD. The SET PASSWORD statement
  updates the system table 'USER'. The SELECT query locks the
  user table 't1 during its execution. However during the execution
  of SET PASSWORD, before the system table 'USER' is opened and
  locked an assert condition checks whether there are already
  existing locks on tables specified in the query. In case the
  query has already acquired lock, the server crashes since the
  condition of acquiring the locks for all the tables specified
  in query at the start of the execution is not met.
  
  Fix:
  ---
  
  SET PASSWORD:= old_password(''), @a=1 is an incorrect usage.
  
  SET PASSWORD is now a separate statement which cannot be
  combined with the regular SET syntax and a syntax error is
  reported, if combined.
  
  This patch has made changes to the SQL grammar to disallow
  such a syntax.
------------------------------------------------------------
revno: 7431
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-atomics
timestamp: Fri 2014-02-07 15:29:18 +0100
message:
  WL#7607: Refactor atomics implementation
  
  - Remove macros, have self-contained static inline functions.
    gcc_builtins.h, generic-msvc.h, rwlock.h and solaris.h now
    contain the full details about each of our native atomics implementations.
  - Remove nolock.h, move contents into my_atomics.h
  - Remove MY_ATOMIC_MODE_DUMMY and MY_ATOMIC_MODE
  - make_transparent_unions() not needed anymore
  - 32 bit MSVC workaround not needed anymore
  - workaround for VS earlier than 2010 not needed anymore
------------------------------------------------------------
revno: 7430 [merge]
committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-07 10:52:42 +0100
message:
  Merge from 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.249
    committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-02-07 10:43:59 +0100
    message:
      - BUG 18187451 - PROBLEM WITH SCRIPTS/MYSQL_INSTALL_DB --USER=MYSQL 
      - Removed mysql-embedded-check.c packaging/rpm-fedora/CMakeLists.txt
      - Removed the patch steps from mysql-5.6.16-mysql-install.patch
------------------------------------------------------------
revno: 7429
committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-07 09:53:25 +0100
message:
  - Enable shared libmysqld by cmake option
  - Move mysqltest and test plugins to test subpackage
------------------------------------------------------------
revno: 7428 [merge]
committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-02-07 08:50:00 +0100
message:
  Null merge from 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.248
    committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-02-07 07:55:56 +0100
    message:
      Enabled shared libmysqld by cmake option
------------------------------------------------------------
revno: 7427
committer: Krunal Bauskar krunal.bauskar@oracle.com
branch nick: mysql-trunk
timestamp: Fri 2014-02-07 09:55:27 +0530
message:
  - bug#18141070: MOST VALUES OF INNODB-TEMP-DATA-FILE-PATH SIZE ARE PROCESSED
    IMPROPERLY
  
    Recent tablespace revamped create multiple version of open_or_create.
    Temporary tablespace being system tablespace it should use open_or_create
    meant for opening system tablespace but it wrongly tried to use generic
    open_or_create tablespace that failed at setting size so the issue.
  
    Approved by: Sunny (over IM)
    
------------------------------------------------------------
revno: 7426
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Thu 2014-02-06 20:20:35 -0600
message:
  Bug#18192536 COMPILER WARNING ABOUT MACH_ULL_PARSE_COMPRESSED()
  Minor follow-up fix for Windows 64 bit compiler warning.
------------------------------------------------------------
revno: 7425 [merge]
committer: Mattias Jonsson <mattias.jonsson@oracle.com>
branch nick: topush-trunk
timestamp: Thu 2014-02-06 17:04:14 +0100
message:
  null-merge (due to backport).
    ------------------------------------------------------------
    revno: 3902.291.247
    committer: Mattias Jonsson <mattias.jonsson@oracle.com>
    branch nick: topush-5.6
    timestamp: Thu 2014-02-06 16:59:45 +0100
    message:
      Bug#16943907: FLUSH TABLES FOR EXPORT:
      ASSERTION IN HA_PARTITION::EXTRA
      
      Too strict assert due to missing handling of
      HA_EXTRA_EXPORT.
      
      Added handling of ha_partition::extra(HA_EXTRA_EXPORT).
      
      This also enables FLUSH TABLES t FOR EXPORT for
      partitioned InnoDB tables. But it will still NOT support
      ALTER TABLE t DISCARD TABLESPACE
      or
      ALTER TABLE t IMPORT TABLESPACE
      
      Approved by Kevin and Aditya (rb#3921).
------------------------------------------------------------
revno: 7424
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-06 17:35:43 +0200
message:
  Bug#18192536 COMPILER WARNING ABOUT MACH_ULL_PARSE_COMPRESSED()
  
  InnoDB contains a number of parsing functions that take the start and
  end pointer to the a buffer, and return the pointer to the next byte
  in the buffer (or NULL in case the buffer was incomplete). The parsed
  output is returned in an output parameter.
  
  Compilers may issue bogus warnings about the output being
  uninitialized.  It would be more natural programming style to return
  the parsed output, and update the pointer to the start of the buffer
  (make it an in,out parameter).
  
  mach_read_compressed(): Replace with mach_read_next_compressed().
  
  mach_ull_read_compressed(), mach_ull_get_compressed_size():
  Replace with mach_u64_read_next_compressed().
  
  mach_ull_get_much_compressed_size(): Replace with
  mach_read_next_much_compressed().
  
  mach_u64_read_much_compressed(): Renamed from
  mach_ull_read_much_compressed(). One caller remains.
  
  mach_get_compressed_size(): Replace with
  mach_read_next_compressed().
  
  mach_parse_compressed(), mach_u64_parse_compressed(): Return the
  parsed output. Make the first parameter in,out.
  
  Various functions: Add const qualifiers to the ptr, end_ptr.
  On return, cast away the constness for now. We should introduce const
  qualifiers to everywhere where we are parsing read-only buffers, such
  as undo log and redo log.
  
  rb#4569 approved by Vasil Dimov
------------------------------------------------------------
revno: 7423
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: main-tr
timestamp: Thu 2014-02-06 16:31:10 +0100
message:
  Dummy placeholder for broken commit
------------------------------------------------------------
revno: 7422
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-bug18192896
timestamp: Thu 2014-02-06 15:06:32 +0100
message:
  Bug#18192896: USE NOMINMAX WHEN BUILDING ON WINDOWS
  
  Set NOMINMAX by using ADD_DEFINTIONS() in CMake rather than
  in config.h.cmake as this makes sure NOMINMAX is set even without
  including my_config.h
  
  The patch also removes workarounds that are no longer needed.
  The workarounds fixed Windows compilation errors, but they in 
  several places caused windows.h macros to be used instead of 
  std::min / std::max.
------------------------------------------------------------
revno: 7421 [merge]
committer: Sven Sandberg <sven.sandberg@oracle.com>
branch nick: trunk
timestamp: Thu 2014-02-06 14:54:49 +0100
message:
  Merged Bug#18165937 HITTING CRASH WHEN SETTING SSL OPTIONS THROUGH CHANGE MASTER COMMAND
  from 5.6 to trunk.
    ------------------------------------------------------------
    revno: 3902.291.246
    committer: Sven Sandberg <sven.sandberg@oracle.com>
    branch nick: 5.6
    timestamp: Thu 2014-02-06 13:15:55 +0100
    message:
      Bug#18165937 HITTING CRASH WHEN SETTING SSL OPTIONS THROUGH CHANGE MASTER COMMAND
      Problem:
      The SSL_CRL options are not available with YASSL. Therefore,
      there is an assertion in the SSL code to check that ssl_crl and
      ssl_crlpath are not set by mistake when YASSL is enabled. This
      assertion was hit from replication code because replication code
      did not have a special case to set these to NULL when YASSL is
      enabled.
      Fix:
      Replication code would set ssl_crl/ssl_crlpath in two places:
       1. In connect_to_master, we fix the bug by setting these
          variables to NULL when YASSL is enabled.
       2. The options are also set in rpl_connect_master. However, it
          turns out this function is not used anywhere. So here we fix
          the bug by removing the dead code.
------------------------------------------------------------
revno: 7420
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Thu 2014-02-06 13:33:35 +0100
message:
  BUG#11753184 - USED_MEM::LEFT NOT SET IN ALLOC_ROOT FOR DEBUG BUILDS 
  Bug#44582 USED_MEM::left not set in alloc_root for debug builds
  
  Remove HAVE_purify, use HAVE_VALGRIND instead.
  
  Keep existing behaviour: do not pre-allocate memory in alloc_root()
  when code is instrumented with valgrind.
  Doing the same thing for ASAN instrumentation revealed a bug in find_uniq_filename()
------------------------------------------------------------
revno: 7419
committer: Mattias Jonsson <mattias.jonsson@oracle.com>
branch nick: topush-trunk
timestamp: Thu 2014-02-06 11:09:00 +0100
message:
  Bug#16943907: FLUSH TABLES FOR EXPORT:
  ASSERTION IN HA_PARTITION::EXTRA
  
  Too strict assert due to missing handling of
  HA_EXTRA_EXPORT.
  
  Added handling of ha_partition::extra(HA_EXTRA_EXPORT).
  
  This also enables FLUSH TABLES t FOR EXPORT for
  partitioned InnoDB tables. But it will still NOT support
  ALTER TABLE t DISCARD TABLESPACE
  or
  ALTER TABLE t IMPORT TABLESPACE
  
  Approved by Kevin and Aditya (rb#3921).
------------------------------------------------------------
revno: 7418 [merge]
committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-06 14:32:17 +0530
message:
  Merging the changes for bug 18184414: WRONG COPYRIGHT TO FILE INCLUDE/MYSQL_VERSION.H.IN
    ------------------------------------------------------------
    revno: 3902.291.245 [merge]
    committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-02-06 14:22:28 +0530
    message:
      Merging the changes for bug 18184414: WRONG COPYRIGHT TO FILE INCLUDE/MYSQL_VERSION.H.IN
        ------------------------------------------------------------
        revno: 2875.545.130
        committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
        branch nick: mysql-5.5
        timestamp: Thu 2014-02-06 14:11:38 +0530
        message:
          Fixing the bug 18184414: WRONG COPYRIGHT TO FILE INCLUDE/MYSQL_VERSION.H.IN
------------------------------------------------------------
revno: 7417
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-06 10:56:50 +0200
message:
  Non-functional change: whitespace fixup of indentation in univ.i
  
  Spotted by:	Kevin (rb:4549)
------------------------------------------------------------
revno: 7416
committer: Atanu Ghosh <atanu.ghosh@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-06 14:11:10 +0530
message:
  Bug #16064833: MYSQLCHECK HANDLES TABLE NAMES WITH DOTS INCORRECTLY
  
  Problem: mysqlcheck was not handling tables with a dot in its name 
           correctly and was throwing an error.
  
  Analysis: All the dots (in function fix_table_name) were escaped 
            using backticks. So the case where a table name had a 
            dot would be treated as db_name.table_name. To solve the 
            issue it was necessary to make sure that only table 
            names get passed to function fix_table_name. 
  
            In cases where the table had to be repaired, the dynamic
            array tables4rebuild was getting populated with 
            db_name.table_name. Due to this the function fix_table_name
            was receiving db_name.table_name as an argument instead of 
            only the table_name.
  
  Fix: While inserting into the dynamic array (tables4rebuild) only
       the table name was inserted by removing the database name
       from it. This ensures that the function fix_table_name is always
       called with table name only.Also, no more dots were backticked
       as they would be the part of the table name only.
------------------------------------------------------------
revno: 7415 [merge]
committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-02-06 11:26:04 +0530
message:
  Bug#14211271 ISSUES WITH SSL ON DEBIAN WHEEZY I386 AND KFREEBSD-I386
  
  Problem:
  It was reported that on Debian and KFreeBSD platforms, i386 architecture 
  machines certain SSL tests are failing. main.ssl_connect  rpl.rpl_heartbeat_ssl
  rpl.rpl_ssl1 rpl.rpl_ssl main.ssl_cipher, main.func_encrypt were the tests that
   were reportedly failing (crashing). The reason for the crashes are said to be
  due to the assembly code of yaSSL.
  
  Solution:
  There was initially a workaround suggested i.e., to enable 
  -DTAOCRYPT_DISABLE_X86ASM flag which would prevent the crash, but at an expense
  of 4X reduction of speed. Since this was unacceptable, the fix was the 
  functions using assembly, now input variables from the function call using 
  extended inline assembly on GCC instead of relying on direct assembly code.
    ------------------------------------------------------------
    revno: 3902.291.244 [merge]
    committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-02-06 11:22:06 +0530
    message:
      Bug#14211271 ISSUES WITH SSL ON DEBIAN WHEEZY I386 AND KFREEBSD-I386
      
      Problem:
      It was reported that on Debian and KFreeBSD platforms, i386 architecture 
      machines certain SSL tests are failing. main.ssl_connect  rpl.rpl_heartbeat_ssl
      rpl.rpl_ssl1 rpl.rpl_ssl main.ssl_cipher, main.func_encrypt were the tests that
      were reportedly failing (crashing). The reason for the crashes are said to be
      due to the assembly code of yaSSL.
      
      Solution:
      There was initially a workaround suggested i.e., to enable 
      -DTAOCRYPT_DISABLE_X86ASM flag which would prevent the crash, but at an expense
      of 4X reduction of speed. Since this was unacceptable, the fix was the 
      functions using assembly, now input variables from the function call using 
      extended inline assembly on GCC instead of relying on direct assembly code.
        ------------------------------------------------------------
        revno: 2875.545.129
        committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
        branch nick: mysql-5.5
        timestamp: Thu 2014-02-06 11:16:55 +0530
        message:
          Bug#14211271 ISSUES WITH SSL ON DEBIAN WHEEZY I386 AND KFREEBSD-I386
          
          Problem:
          It was reported that on Debian and KFreeBSD platforms, i386 architecture 
          machines certain SSL tests are failing. main.ssl_connect  rpl.rpl_heartbeat_ssl
          rpl.rpl_ssl1 rpl.rpl_ssl main.ssl_cipher, main.func_encrypt were the tests that
           were reportedly failing (crashing). The reason for the crashes are said to be
          due to the assembly code of yaSSL.
          
          Solution:
          There was initially a workaround suggested i.e., to enable 
          -DTAOCRYPT_DISABLE_X86ASM flag which would prevent the crash, but at an expense
           of 4X reduction of speed. Since this was unacceptable, the fix was the 
          functions using assembly, now input variables from the function call using 
          extended inline assembly on GCC instead of relying on direct assembly code.
------------------------------------------------------------
revno: 7414
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: bug18122171
timestamp: Thu 2014-02-06 09:47:30 +0530
message:
  Bug#18122171 DO NOT ASSUME X86 HAS PAUSE INSTRUCTION: MAY BREAK SERVER ON SOLARIS 10
  
  Problem:
  The loader in some Solaris versions has a bug due to which it refuses to
  start a binary that has been compiled by GCC and uses __asm__("pause")
  with the error:
  $ ./mysqld
  ld.so.1: mysqld: fatal: hardware capability unsupported: 0x2000  [PAUSE]
  Killed
  $
  even though the CPU does have support for the instruction. Binaries that
  have been compiled by GCC and use __asm__("pause") on a non-buggy
  Solaris get flagged with a "uses pause" flag and thus they are unusable
  if copied on buggy Solaris version.
  
  Solution:
  To circumvent this we explicitly disable __asm__("pause") when compiling on Solaris.
  
  Approved by: Vasil(rb#4475)
------------------------------------------------------------
revno: 7413
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-02-05 23:18:33 +0200
message:
  Minor cleanup loosely related to fixing
  Bug#18180875 INNODB REDO LOG SCAN STORES FILE-LEVEL OPERATIONS IN HASH TABLE
  
  Replace ulint with mlog_id_t.
  
  fil_op_log_parse_or_replay(): Remove the constant parameter recv_lsn=0.
  
  Approved in rb#4546 by Kevin Lewis
------------------------------------------------------------
revno: 7412
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-02-05 23:10:29 +0200
message:
  Bug#18180875 INNODB REDO LOG SCAN STORES FILE-LEVEL OPERATIONS IN HASH TABLE
  
  The logic for parsing and storing InnoDB redo log records is rather
  convoluted.
  
  When a mini-transaction consists of multiple records that are terminated by a
  MLOG_MULTI_REC_END record, InnoDB will store all records into a hash table
  sorted by (space_id,page_no).
  
  For file-level redo log records whose type code starts with MLOG_FILE_, the
  scope is the whole space_id, no page_no. Instead of storing these records and
  ignoring them (Bug#17463290) when processing the stored redo log, we should
  simply process them immediately.
  
  This is wasting memory and making the code flow harder to follow.
  
  recv_parse_or_apply_log_rec_body(): Do all processing of MLOG_FILE_
  records here.
  
  recv_add_to_hash_table(): Assert that no MLOG_FILE_ record is being added.
  
  recv_parse_log_recs(): Skip the MLOG_FILE_ records, because they were already
  handled by recv_parse_or_apply_log_rec_body().
  
  rb#4546 approved by Kevin Lewis
------------------------------------------------------------
revno: 7411
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-02-05 16:50:45 +0200
message:
  Fix Bug#16969876 VALGRIND REPORTS UNINITIALISED VALUE(S) WHILE
  RUNNING ROLLBACK-DEBUG.TEST
  
  Do not read space_id and page_no from the page if we have previously set
  those as uninitialized.
  
  Approved by:	Marko (over IM)
------------------------------------------------------------
revno: 7410
committer: Manish Kumar<manish.4.kumar@oracle.com>
branch nick: bug18164998
timestamp: Wed 2014-02-05 17:09:15 +0530
message:
  BUG#18164998 - MEMORY LEAK ON EXECUTION OF MYSQLBINLOG WITH REWRITE-DB='DB1->DB2'
  
  Problem - The memory allocated in the while reading the event is changed with a new
            memory location which has the new database details, withouth freeing the 
            old memory location. This causes the memory leak since the previous 
            memory is still occupied.
  
  Solution - The problem is fixed by freeing the memory before reassigning it to a new
             location.
------------------------------------------------------------
revno: 7409 [merge]
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Tue 2014-02-04 12:17:24 -0600
message:
  Null merge from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.243
    committer: kevin.lewis@oracle.com
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-04 12:07:04 -0600
    message:
      Bug#18175966 CANNOT BUILD MYSQL-5.6 AND MYSQL-TRUNK ON WINDOWS USING VS2008
      
      <stdint.h> is not needed in lexyy.cc in the mysql-5.6 branch.
------------------------------------------------------------
revno: 7408 [merge]
committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-04 16:38:48 +0100
message:
  merge
    ------------------------------------------------------------
    revno: 3902.291.242 [merge]
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-04 16:35:59 +0100
    message:
      Bug#17495562 WRONG DESCRIPTION OF LENGTH OF AUTH-PLUGIN-DATA IN PROTOCOL::HANDSHAKEV10
       
      Unclear requirements on how auth-plugin-data is sent to the client in the initial
      server-packet leads to situations where the client can't authenticate to a server.
      This patch introduces an incompatible change to fix this.
        
      A concrete example when this happens is when Connector/J 5.1.18 and 
      server option  --default-authentication-plugin=sha256_password  is used.
      
      Background:
      The sha256_password plugin wants to send a 20-bytes salt to the client
      which is split into 8 + 12 bytes according to
      http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeV10
      
      The 2nd part (12 bytes) + the auth-plugin-name looks like
          ...KHe8SY[]bP9rsha256_password\0
      If default-authentication-plugin would be left at its default value
      "mysql_native_password" the same data would look like:
          ...KHe8SY[]bP9r\0mysql_native_password\0
       (note the extra \0 before mysql_native_password)
       If a client connects that doesn't understand the CLIENT_PLUGIN_AUTH
      capability (like C/J 5.1.18) they will read up to the terminating \0
      and will use the scramble to authenticate.
      Other older connectors like libmysql-5.1 always only read 12 bytes and
      ignore everything after that. Therefore they are not affected by the
      missing \0 character.
      One could argue that reading always 12 bytes is the correct way, but
      that doesn't match what the 5.1 (and earlier) server send:
        ...KHe8SY[]bP9r\0
      If it would be fixed size, there would be no need for the \0.
      Whatever the original intent was there are two ways to parse this data:
      1) read up to the \0 byte
      2) read 12 bytes, ignore the rest
      
      All connectors that take the route of 1) break in the mysql-server
      configuration described above.
      
      Bug has the PIG-stamp-of-approval.
        ------------------------------------------------------------
        revno: 3902.314.1
        committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
        branch nick: mysql-5.6
        timestamp: Tue 2014-02-04 14:32:06 +0100
        message:
          Bug#17495562 WRONG DESCRIPTION OF LENGTH OF AUTH-PLUGIN-DATA IN PROTOCOL::HANDSHAKEV10
           
          Unclear requirements on how auth-plugin-data is sent to the client in the initial
          server-packet leads to situations where the client can't authenticate to a server.
          This patch introduces an incompatible change to fix this.
            
          A concrete example when this happens is when Connector/J 5.1.18 and 
          server option  --default-authentication-plugin=sha256_password  is used.
          
          Background:
          The sha256_password plugin wants to send a 20-bytes salt to the client
          which is split into 8 + 12 bytes according to
          http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeV10
          
          The 2nd part (12 bytes) + the auth-plugin-name looks like
              ...KHe8SY[]bP9rsha256_password\0
          If default-authentication-plugin would be left at its default value
          "mysql_native_password" the same data would look like:
              ...KHe8SY[]bP9r\0mysql_native_password\0
           (note the extra \0 before mysql_native_password)
           If a client connects that doesn't understand the CLIENT_PLUGIN_AUTH
          capability (like C/J 5.1.18) they will read up to the terminating \0
          and will use the scramble to authenticate.
          Other older connectors like libmysql-5.1 always only read 12 bytes and
          ignore everything after that. Therefore they are not affected by the
          missing \0 character.
          One could argue that reading always 12 bytes is the correct way, but
          that doesn't match what the 5.1 (and earlier) server send:
            ...KHe8SY[]bP9r\0
          If it would be fixed size, there would be no need for the \0.
          Whatever the original intent was there are two ways to parse this data:
          1) read up to the \0 byte
          2) read 12 bytes, ignore the rest
          
          All connectors that take the route of 1) break in the mysql-server
          configuration described above.
          
          Bug has the PIG-stamp-of-approval.
------------------------------------------------------------
revno: 7407
committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
branch nick: mysql-5.6
timestamp: Tue 2014-02-04 14:32:06 +0100
message:
  Bug#17495562 WRONG DESCRIPTION OF LENGTH OF AUTH-PLUGIN-DATA IN PROTOCOL::HANDSHAKEV10
   
  Unclear requirements on how auth-plugin-data is sent to the client in the initial
  server-packet leads to situations where the client can't authenticate to a server.
  This patch introduces an incompatible change to fix this.
    
  A concrete example when this happens is when Connector/J 5.1.18 and 
  server option  --default-authentication-plugin=sha256_password  is used.
  
  Background:
  The sha256_password plugin wants to send a 20-bytes salt to the client
  which is split into 8 + 12 bytes according to
  http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeV10
  
  The 2nd part (12 bytes) + the auth-plugin-name looks like
      ...KHe8SY[]bP9rsha256_password\0
  If default-authentication-plugin would be left at its default value
  "mysql_native_password" the same data would look like:
      ...KHe8SY[]bP9r\0mysql_native_password\0
   (note the extra \0 before mysql_native_password)
   If a client connects that doesn't understand the CLIENT_PLUGIN_AUTH
  capability (like C/J 5.1.18) they will read up to the terminating \0
  and will use the scramble to authenticate.
  Other older connectors like libmysql-5.1 always only read 12 bytes and
  ignore everything after that. Therefore they are not affected by the
  missing \0 character.
  One could argue that reading always 12 bytes is the correct way, but
  that doesn't match what the 5.1 (and earlier) server send:
    ...KHe8SY[]bP9r\0
  If it would be fixed size, there would be no need for the \0.
  Whatever the original intent was there are two ways to parse this data:
  1) read up to the \0 byte
  2) read 12 bytes, ignore the rest
  
  All connectors that take the route of 1) break in the mysql-server
  configuration described above.
  
  Bug has the PIG-stamp-of-approval.
------------------------------------------------------------
revno: 7406 [merge]
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Tue 2014-02-04 15:43:05 +0100
message:
  merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.241 [merge]
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.6-merge
    timestamp: Tue 2014-02-04 15:37:20 +0100
    message:
      merge 5.6 => trunk
        ------------------------------------------------------------
        revno: 2875.545.128
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.5
        timestamp: Tue 2014-02-04 15:34:36 +0100
        message:
          Bug#18123048 ENABLE BUILD OF SHARED LIBMYSQLD ON LINUX
          
          Added a new option: WITH_EMBEDDED_SHARED_LIBRARY
------------------------------------------------------------
revno: 7405 [merge]
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Tue 2014-02-04 12:24:48 +0100
message:
  merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.240 [merge]
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.6-merge
    timestamp: Tue 2014-02-04 11:11:54 +0100
    message:
      merge 5.5 => 5.6
        ------------------------------------------------------------
        revno: 2875.545.127
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.5-review
        timestamp: Tue 2014-02-04 09:01:06 +0100
        message:
          Bug#18173037 BUILD FAILURE WHEN USING -WERROR WITH ARGUEMNTS
          
          Don't strip away -Werror=xxx flags from CMAKE_C_FLAGS
------------------------------------------------------------
revno: 7404
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-cleanup
timestamp: Tue 2014-02-04 10:56:59 +0100
message:
  Test cleanup
------------------------------------------------------------
revno: 7403 [merge]
committer: Ole John Aske <ole.john.aske@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-04 09:21:59 +0100
message:
  Merge mysql-5.6 -> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.239
    committer: Ole John Aske <ole.john.aske@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-02-04 09:20:23 +0100
    message:
      Fix for bug#18164798 
      
      INFORMATION_SCHEMA-BIG FAILS WHEN COMPILED WITH NDB
      
      Ensure that 'ndb' specific rows are filtered out from the schema
      result in addition to the 'innodb' filtering already being part of
      this test.
------------------------------------------------------------
revno: 7402
committer: Shivji Jha <shivji.jha@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-04 11:07:51 +0530
message:
  Bug #18174719: P_S.REPLICATION_CONNECTION_CONFIGURATION'S COL
                 SSL_CRL_PATH THROWS WARNING 1366
  
  Problem:
  
  The ssl_crl_path option was not set properly for
  replication PS table. We have a temporary variable
  where we have copied values and intended to
  copy the temporary variable back to the crl_path.
  Instead of memcpy(destination, source, len), the
  code contained memcpy(detination, destination, len)
  and hence the garbage value+warning.
  
  Fix:
  
  - Correct the memcpy() call.
  - Made changes in the test accordingly.
  - Minor cleanups in test.
------------------------------------------------------------
revno: 7401 [merge]
committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
branch nick: trunk
timestamp: Tue 2014-02-04 10:42:17 +0530
message:
  Bug #17849978 BACKPORT 14492429 TO 5.6
  Null merging to trunk, since it is a backport bug.
    ------------------------------------------------------------
    revno: 3902.291.238
    committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
    branch nick: 5.6
    timestamp: Tue 2014-02-04 10:40:01 +0530
    message:
      Bug #17849978 BACKPORT 14492429 TO 5.6
      Problem:
      In mysql's C API functions (mysql_stmt_xxxxx) there is a connection loss 
      happening when we are getting a result consisting of multiple result sets
      from the the stored procedure that also has output parameters. Interestingly
      the statement where the connection loss is happening completes it execution
      but after that the connection is lost.
      
      Solution:
      Problem was caused by missing SERVER_MORE_RESULTS_EXISTS flag in the last 
      EOF_Packet of OUT parameters result set. It is fixed here by preserving the
      SERVER_MORE_RESULTS_EXISTS and SERVER_PS_OUT_PARAMS flags in server_status
      when reading the last EOF_packet of OUT parameters result set.
------------------------------------------------------------
revno: 7400
committer: Prabeen Pradhan <prabeen.pradhan@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-02-04 08:19:00 +0530
message:
  WL#7404   : Migrate ctype tests in main suite
  Issue     : Some tests failed after push to trunk
  Solution  : Fixed issues occured on trunk after push
------------------------------------------------------------
revno: 7399 [merge]
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-push
timestamp: Tue 2014-02-04 00:51:50 +0100
message:
  Merge mysql-5.6 --> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.237 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-5.6-push
    timestamp: Tue 2014-02-04 00:34:19 +0100
    message:
      Merge to mysql-5.6
        ------------------------------------------------------------
        revno: 3902.313.1
        committer: Marc Alff <marc.alff@oracle.com>
        branch nick: mysql-5.6-bug17935314
        timestamp: Mon 2014-02-03 16:50:31 +0100
        message:
          Bug#17935314 INCREMENT PERFORMANCE_SCHEMA_DIGEST_LOST WHEN AGGREGATING NULL
          DIGESTS 
          
          Before this fix, when the table
          performance_schema.events_statements_summary_by_digest
          was already full,
          the following happened when a new statement with a new digest was found:
          - the NULL row in events_statements_summary_by_digest was updated
          (as expected)
          so that statement statistics were only partially collected,
          - the Performance_schema_digest_lost status counter was not incremented
          (questionable, given that statistics were not fully collected)
          
          With this fix, for the same scenario,
          the counter Performance_schema_digest_lost is incremented,
          to indicate that the table events_statements_summary_by_digest
          is undersized for the application workload.
------------------------------------------------------------
revno: 7398
committer: Rafal Somla <rafal.somla@oracle.com>
branch nick: mysql-trunk-wl6890-protocol-testing
timestamp: Mon 2014-02-03 18:32:55 +0100
message:
  WL#6890 - MySQL client-server protocol testing
  
  - Make it visible in the build logs whether test trace plugin was enabled during build.
  - Add definitions of tests to be run as part of protocol test.
  - Fix protocol stage set after new command COM_RESET_CONNECTION.
  - Fix test trace plugin to skip detailed checks if error was reported for a command.
------------------------------------------------------------
revno: 7397 [merge]
committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
branch nick: mysql-trunk-final
timestamp: Mon 2014-02-03 18:02:22 +0100
message:
  merge
    ------------------------------------------------------------
    revno: 7395.1.3 [merge]
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-trunk
    timestamp: Mon 2014-02-03 17:05:50 +0100
    message:
      merge 5.6=>trunk
        ------------------------------------------------------------
        revno: 3902.312.2 [merge]
        committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
        branch nick: mysql-5.6
        timestamp: Mon 2014-02-03 17:04:08 +0100
        message:
          merge
    ------------------------------------------------------------
    revno: 7395.1.2 [merge]
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-trunk
    timestamp: Mon 2014-02-03 17:01:01 +0100
    message:
      merge
    ------------------------------------------------------------
    revno: 7395.1.1 [merge]
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-trunk
    timestamp: Mon 2014-02-03 16:15:34 +0100
    message:
      Bug#17495562 WRONG DESCRIPTION OF LENGTH OF AUTH-PLUGIN-DATA IN PROTOCOL::HANDSHAKEV10
      
      Unclear requirements on how auth-plugin-data is sent to the client in the initial
      server-packet leads to situations where the client can't authenticate to a server.
      This patch introduces an incompatible change to fix this.
      
      A concrete example when this happens is when Connector/J 5.1.18 and 
      server option --default-authentication-plugin=sha256_password is used.
      
      Background:
      The sha256_password plugin wants to send a 20-bytes salt to the client
      which is split into 8 + 12 bytes according to
      http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeV10
      
      The 2nd part (12 bytes) + the auth-plugin-name looks like
        ...KHe8SY[]bP9rsha256_password\0
      If default-authentication-plugin would be left at its default value
      "mysql_native_password" the same data would look like:
        ...KHe8SY[]bP9r\0mysql_native_password\0
        (note the extra \0 before mysql_native_password)
      If a client connects that doesn't understand the CLIENT_PLUGIN_AUTH
      capability (like C/J 5.1.18) they will read up to the terminating \0
      and will use the scramble to authenticate.
      Other older connectors like libmysql-5.1 always only read 12 bytes and
      ignore everything after that. Therefore they are not affected by the
      missing \0 character.
      One could argue that reading always 12 bytes is the correct way, but
      that doesn't match what the 5.1 (and earlier) server send:
        ...KHe8SY[]bP9r\0
      If it would be fixed size, there would be no need for the \0.
      Whatever the original intent was there are two ways to parse this data:
      1) read up to the \0 byte
      2) read 12 bytes, ignore the rest
      
      All connectors that take the route of 1) break in the mysql-server
      configuration described above.
      
      Bug has the PIG-stamp-of-approval.
        ------------------------------------------------------------
        revno: 3902.312.1 [merge]
        committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
        branch nick: mysql-5.6
        timestamp: Mon 2014-02-03 16:01:40 +0100
        message:
          merge
            ------------------------------------------------------------
            revno: 3902.311.1
            committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
            branch nick: mysql-5.6
            timestamp: Mon 2014-01-27 17:42:34 +0100
            message:
              Bug#17495562 WRONG DESCRIPTION OF LENGTH OF AUTH-PLUGIN-DATA IN PROTOCOL::HANDSHAKEV10
              
              Unclear requirements on how auth-plugin-data is sent to the client in the initial
              server-packet leads to situations where the client can't authenticate to a server.
              This patch introduces an incompatible change to fix this.
              
              A concrete example when this happens is when Connector/J 5.1.18 and 
              server option  --default-authentication-plugin=sha256_password  is used.
              
              Background:
              The sha256_password plugin wants to send a 20-bytes salt to the client
              which is split into 8 + 12 bytes according to
              http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeV10
              
              The 2nd part (12 bytes) + the auth-plugin-name looks like
                ...KHe8SY[]bP9rsha256_password\0
              If default-authentication-plugin would be left at its default value
              "mysql_native_password" the same data would look like:
                ...KHe8SY[]bP9r\0mysql_native_password\0
                (note the extra \0 before mysql_native_password)
              If a client connects that doesn't understand the CLIENT_PLUGIN_AUTH
              capability (like C/J 5.1.18) they will read up to the terminating \0
              and will use the scramble to authenticate.
              Other older connectors like libmysql-5.1 always only read 12 bytes and
              ignore everything after that. Therefore they are not affected by the
              missing \0 character.
              One could argue that reading always 12 bytes is the correct way, but
              that doesn't match what the 5.1 (and earlier) server send:
                ...KHe8SY[]bP9r\0
              If it would be fixed size, there would be no need for the \0.
              Whatever the original intent was there are two ways to parse this data:
              1) read up to the \0 byte
              2) read 12 bytes, ignore the rest
              
              All connectors that take the route of 1) break in the mysql-server
              configuration described above.
              
              Bug has the PIG-stamp-of-approval.
------------------------------------------------------------
revno: 7396 [merge]
committer: Kent Boortz <kent.boortz@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-03 16:33:40 +0100
message:
  Bug#11751526 / Bug#42421 - MYSQL_INSTALL_DB.PL NOT RELOCATABLE ON WINDOWS
    Merge from 5.6->5.7
    ------------------------------------------------------------
    revno: 3902.291.236 [merge]
    committer: Kent Boortz <kent.boortz@oracle.com>
    branch nick: mysql-5.6-new
    timestamp: Mon 2014-02-03 16:22:18 +0100
    message:
      Bug#11751526 / Bug#42421 - MYSQL_INSTALL_DB.PL NOT RELOCATABLE ON WINDOWS
        Merge from 5.5->5.6
      
        In addition, changes are
          - Use the ".ini" file extension for config files on Windows
          - Set the default system config file path
          - In addition, search the top directory for config files on Windows
        ------------------------------------------------------------
        revno: 2875.545.126
        committer: Kent Boortz <kent.boortz@oracle.com>
        branch nick: mysql-5.5
        timestamp: Mon 2014-02-03 16:04:44 +0100
        message:
          Bug#11751526 / Bug#42421 - MYSQL_INSTALL_DB.PL NOT RELOCATABLE ON WINDOWS
            Corrected how to find "resolveip"
------------------------------------------------------------
revno: 7395
committer: Manish Kumar<manish.4.kumar@oracle.com>
branch nick: bug18027692
timestamp: Mon 2014-02-03 17:56:36 +0530
message:
  BUG#18027692 - MYSQLBINLOG MEMORY LEAK WHEN --REWRITE-DB OPTION IS USED
  
  Problem - The memory allocated for the global variable namely "rewrite_to_db" 
            was not freed at the end of the use of the variable which ended up 
            causing memory leak.
  
  Solution - The memory is released at the end of the rewrite_buffer to prevent
             the memory leak.
------------------------------------------------------------
revno: 7394
committer: magnus.blaudd@oracle.com
branch nick: trunk
timestamp: Mon 2014-02-03 12:52:20 +0100
message:
  It's a follow-up patch for the WL#7193 (Decouple THD and st_transactions).
  
   - remove the usage of WITH_NDBCLUSTER_STORAGE_ENGINE define from "new" code
------------------------------------------------------------
revno: 7393 [merge]
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-02-03 11:26:45 +0200
message:
  Fix Bug#18073495 REPLACE SPACE,OFFSET WITH PAGE_ID_T AND ZIP_SIZE
  WITH PAGE_SIZE_T
  
  A page in InnoDB is identified by a tablespace number (called space or
  space_id in the code) and a page number within that tablespace (called
  page_no, offset or page in the code). Often we also use zip_size along
  with space,page_no to designate the page size and whether the page is
  compressed or not within that tablespace although it can be retrieved,
  knowing the space id. Another parameter that is also used often with
  space,page_no,zip_size is the fold value, derived from space,page_no
  used in some hashing functions.
  
  In this patch we introduce two new classes: page_id that represents a
  page identifier - it contains space,page_no and page_size that holds info
  about the page size and whether it is compressed or not. The main purpose
  of this patch is to simplify the code - e.g. instead of passing 3 or 4
  parameters to functions space,page_no,zip_size,fold pass just one or two
  and to optimize the fold/zip_size value recalculations by caching the result.
  
  This patch is also a step in the direction of adding support for
  per-tablespace page size.
  
  Approved by:	Kevin (rb:3493)
    ------------------------------------------------------------
    revno: 6674.2.92
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-02-03 10:37:02 +0200
    message:
      Non-functional change: Remove non-bitfield implementation of page_size_t
      
      Performance testing between both did not show any difference.
    ------------------------------------------------------------
    revno: 6674.2.91
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-02-03 10:36:05 +0200
    message:
      Non-functional change: clarify comments.
    ------------------------------------------------------------
    revno: 6674.2.90 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-02-03 10:13:35 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.89 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-29 13:37:58 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.88 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-29 13:36:45 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      vasil.dimov@oracle.com-20140128131128-w3utlwzbj5jqmr81
    ------------------------------------------------------------
    revno: 6674.2.87 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-29 13:34:02 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.86 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-29 13:32:45 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.85 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-29 12:15:39 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.84 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-27 15:46:58 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.83 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-27 15:38:09 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      marko.makela@oracle.com-20140124075548-5pim8kuzrr6taa5k
    ------------------------------------------------------------
    revno: 6674.2.82 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-27 15:18:21 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.81 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-27 15:16:50 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.80 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-27 15:14:37 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      kevin.lewis@oracle.com-20140122225037-084bvcuz0h43ipib
    ------------------------------------------------------------
    revno: 6674.2.79 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-27 15:06:55 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.78 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-27 15:06:16 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.77 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-27 15:03:08 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      anil.toshniwal@oracle.com-20140121120018-5jh5thfy12x46hax
    ------------------------------------------------------------
    revno: 6674.2.76 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-27 15:01:16 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.75 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-27 14:58:48 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      marko.makela@oracle.com-20140121111209-jngfqhov9isjtpg9
    ------------------------------------------------------------
    revno: 6674.2.74 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-27 14:51:07 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.73 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-20 17:02:47 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.72 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-20 17:02:20 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.71 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-20 16:26:11 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      kevin.lewis@oracle.com-20140117200648-qxgzrone227gz3le
    ------------------------------------------------------------
    revno: 6674.2.70 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-20 11:34:44 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.69 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-20 11:32:58 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      marko.makela@oracle.com-20140116111028-dw8yxbu6qjw29kj7
    ------------------------------------------------------------
    revno: 6674.2.68 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2014-01-20 11:18:52 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.67
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-15 17:54:49 +0200
    message:
      Fix some compilation warnings with 32-bit VS2010.
      
      Spotted by:	Kevin (rb:3493)
    ------------------------------------------------------------
    revno: 6674.2.66 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-15 17:30:21 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.65 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-15 17:28:35 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.64 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-15 17:26:39 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      annamalai.gurusami@oracle.com-20140107101033-ja8wrisv3vou15tu
    ------------------------------------------------------------
    revno: 6674.2.63 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-15 17:22:10 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.62 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-15 17:21:15 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.61 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2014-01-15 17:20:42 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.60
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 16:18:04 +0200
    message:
      Whitespace fixup
    ------------------------------------------------------------
    revno: 6674.2.59 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 16:03:56 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.58 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 16:02:17 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to:
      yasufumi.kinoshita@oracle.com-20131231033048-awoptq24sz4c6bed
    ------------------------------------------------------------
    revno: 6674.2.57 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 15:54:58 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.56 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 15:45:53 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.55 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 15:43:40 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to:
      annamalai.gurusami@oracle.com-20131223104056-56adb9uaqfpa0pjk
    ------------------------------------------------------------
    revno: 6674.2.54 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 15:41:13 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.53 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 15:38:30 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to:
      kevin.lewis@oracle.com-20131220170712-arhn9m938a9dz9zr
    ------------------------------------------------------------
    revno: 6674.2.52 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 15:27:18 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.51 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 14:57:18 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to:
      annamalai.gurusami@oracle.com-20131220063754-pystiji6z7legzp8
    ------------------------------------------------------------
    revno: 6674.2.50 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 14:49:08 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.49
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 14:47:12 +0200
    message:
      Update copyright year.
    ------------------------------------------------------------
    revno: 6674.2.48
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 14:07:28 +0200
    message:
      Fix some styling
    ------------------------------------------------------------
    revno: 6674.2.47 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 13:50:19 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to:
      annamalai.gurusami@oracle.com-20131219063647-pkj30v0qhkqryet2
    ------------------------------------------------------------
    revno: 6674.2.46 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2014-01-03 12:19:06 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.45
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Thu 2014-01-02 20:37:49 +0200
    message:
      Fix compilation warnings on Windows like:
      
      ...\btr0cur.cc(1300): warning C4244: 'argument' : conversion from
      'const ulint' to 'ib_uint32_t', possible loss of data
      
      Spotted by:	Kevin (rb:3493)
    ------------------------------------------------------------
    revno: 6674.2.44 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2013-12-20 15:44:01 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.43
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2013-12-20 15:42:12 +0200
    message:
      Non-functional change - polish the style of the functions whose
      arguments were modified by the page_id patch - ie space,page replaced
      with page_id and/or zip_size replaced with page_size.
    ------------------------------------------------------------
    revno: 6674.2.42 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Sat 2013-12-14 14:24:15 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.41 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Sat 2013-12-14 14:23:07 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to:
      vasil.dimov@oracle.com-20131212162803-0wgq3869ksqssm0x
    ------------------------------------------------------------
    revno: 6674.2.40 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Sat 2013-12-14 13:42:02 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.39 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Sat 2013-12-14 13:06:51 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to:
      anil.toshniwal@oracle.com-20131211181739-1252zhonncqczx4e
    ------------------------------------------------------------
    revno: 6674.2.38 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Sat 2013-12-14 13:01:09 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.37 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Sat 2013-12-14 12:59:11 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to:
      anil.toshniwal@oracle.com-20131211070311-r8bojsc6f3rmpulj
    ------------------------------------------------------------
    revno: 6674.2.36 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Sat 2013-12-14 12:55:50 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.35 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Sat 2013-12-14 12:48:38 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.34 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Sat 2013-12-14 12:45:33 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to:
      sunny.bains@oracle.com-20131210092144-0xfzdmj5vgqlqpq2
    ------------------------------------------------------------
    revno: 6674.2.33 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2013-12-13 18:41:36 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.32
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Wed 2013-12-11 19:18:23 +0200
    message:
      Address some of Kevin's suggestions on rb:3493
    ------------------------------------------------------------
    revno: 6674.2.31
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Tue 2013-12-10 15:05:24 +0200
    message:
      During buffer pool load, if the tablespace is not found, then
      fil_space_get_page_size() would return a dummy page_size_t object
      which should not be passed to page_size_t::copy_from(). So, use the
      returned object only if found==true after the call to
      fil_space_get_page_size().
    ------------------------------------------------------------
    revno: 6674.2.30 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-12-09 18:33:28 +0200
    message:
      Merge mysql-trunk -> mysql-trunk->pageid
    ------------------------------------------------------------
    revno: 6674.2.29 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-12-09 18:32:28 +0200
    message:
      Merge mysql-trunk -> mysql-trunk->pageid
      
      Resolved conflicts due to:
      anil.toshniwal@oracle.com-20131206124135-50wqv6e8045qp8vn
    ------------------------------------------------------------
    revno: 6674.2.28
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-12-09 14:50:45 +0200
    message:
      Remove the overloaded page_id assignment operator and replace it with 3
      methods: copy_from(), reset() and set_page_no().
    ------------------------------------------------------------
    revno: 6674.2.27
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2013-12-06 17:43:15 +0200
    message:
      Address some of Kevin's suggestions from rb:3493
    ------------------------------------------------------------
    revno: 6674.2.26 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2013-12-06 14:53:28 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.25 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2013-12-06 14:45:03 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to:
      vasil.dimov@oracle.com-20131205202515-lfkk679hjlc18t4w
    ------------------------------------------------------------
    revno: 6674.2.24 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Fri 2013-12-06 14:33:28 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.23 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-12-02 15:12:01 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.22 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-12-02 15:10:24 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to:
      marko.makela@oracle.com-20131129130612-hpkyxx98z0tn7v47
    ------------------------------------------------------------
    revno: 6674.2.21 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-12-02 14:52:52 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.20 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Thu 2013-11-14 15:44:32 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.19 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Thu 2013-11-14 15:41:57 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      yasufumi.kinoshita@oracle.com-20131108024116-svn35q22ug6sijae
    ------------------------------------------------------------
    revno: 6674.2.18 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Thu 2013-11-14 15:30:16 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      yasufumi.kinoshita@oracle.com-20131108024013-9cfbf4haluaxjz88
    ------------------------------------------------------------
    revno: 6674.2.17 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Thu 2013-11-14 14:36:47 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.16 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Thu 2013-11-14 14:35:21 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.15 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Thu 2013-11-14 14:34:25 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.14
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Thu 2013-11-14 14:12:30 +0200
    message:
      Add physical and logical page sizes to page_size_t, as suggested by Kevin.
    ------------------------------------------------------------
    revno: 6674.2.13
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Thu 2013-11-07 11:27:08 +0200
    message:
      Cleanup unused/commented code
    ------------------------------------------------------------
    revno: 6674.2.12 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-11-04 17:40:28 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.11 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-11-04 17:37:22 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      sunny.bains@oracle.com-20131029005337-uzclrqcd2nogm7qm
    ------------------------------------------------------------
    revno: 6674.2.10 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-11-04 17:26:59 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.9 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-11-04 17:25:09 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.8 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-11-04 17:24:20 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.7 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-11-04 17:18:28 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.6 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-11-04 17:16:57 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
      
      Resolved conflicts due to
      kevin.lewis@oracle.com-20131016203010-vd7ckzhnzvvg1mom
    ------------------------------------------------------------
    revno: 6674.2.5 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-11-04 17:13:19 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.4 [merge]
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-11-04 17:04:36 +0200
    message:
      Merge mysql-trunk -> mysql-trunk-pageid
    ------------------------------------------------------------
    revno: 6674.2.3
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Mon 2013-11-04 16:38:22 +0200
    message:
      Chop off zip_size from page_id, it does not belong there and also using
      0 for zip_size to denote "non-compressed" is a hack.
      
      So, replace zip_size with a page_size_t class.
      
      Before we used "ulint zip_size" (8 bytes) with the following meaning:
      * if zip_size == 0 then this is non-compressed page/tablespace and the
        actual size is the global UNIV_PAGE_SIZE
      * if zip_size != 0 then this is compressed page/tablespace and the actual
        (compressed) page size is zip_size
      
      The page_size_t class has two data members: "unsigned is_compressed:1"
      and "unsigned bytes:15", (2 bytes overall, can hold up to 32KB page
      sizes). It operates in this way (kind of obvious):
      * if !is_compressed then this is non-compressed page/tablespace and the
        actual page size is "bytes" [*]
      * if is_compressed then this is compressed page/tablespace and the
        actual (compressed) page size is "bytes"
      
      Notice [*] above - we now hold the page size within the local variable
      and do not lookup the global UNIV_PAGE_SIZE. This opens the door to
      implementing a tablespaces with different page size each.
      
      So, overall what this patch does is to replace occurences of
      zip_size with page_size_t object. Constructs like:
      
        if (zip_size) {
          expression involving zip_size;
        } else {
          expression involving UNIV_PAGE_SIZE;
        }
      
      become:
      
        expression involving page_size.bytes()
    ------------------------------------------------------------
    revno: 6674.2.2
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Tue 2013-10-15 09:50:49 +0300
    message:
      Remove
      buf_block_get_space(),
      buf_block_get_page_no() and
      buf_block_get_zip_size() and use
      block->page.id.space(),
      block->page.id.page_no() and
      block->page.id.zip_size() directly.
      
      Remove unused functions btr_get_prev_user_rec() and btr_get_next_user_rec().
      
      Remove unreachable code branch in btr_free_externally_stored_field().
    ------------------------------------------------------------
    revno: 6674.2.1
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-trunk-pageid
    timestamp: Tue 2013-10-15 09:48:05 +0300
    message:
      A page in InnoDB is identified by a tablespace number (called space or
      space_id in the code) and a page number within that tablespace (called
      page_no, offset or page in the code). Often we also use zip_size along
      with space,page_no to designate the compressed page size within that
      tablespace although it can be retrieved, knowing the space id. Another
      parameter that is also used often with space,page_no,zip_size is the
      fold value, derived from space,page_no used in some hashing functions.
      
      In this patch we introduce a new class that represents a page
      identifier - it contains space,page_no and also the derived values
      zip_size and fold to avoid multiple recalculation or retrieval of the
      latter. The main purpose of this patch is to simplify the code - e.g.
      instead of passing 3 parameters to functions space,page_no,zip_size
      pass just one and to optimize the fold value recalculation.
------------------------------------------------------------
revno: 7392 [merge]
committer: Astha Pareek <astha.pareek@oracle.com>
branch nick: mysql-trunk-b17920923
timestamp: Mon 2014-02-03 12:10:24 +0530
message:
  BUG#17920923
  null merge
    ------------------------------------------------------------
    revno: 3902.291.235
    committer: Astha Pareek <astha.pareek@oracle.com>
    branch nick: mysql-5.6-b17920923
    timestamp: Mon 2014-02-03 12:07:06 +0530
    message:
      BUG#17920923 - BACKPORT PATCH FOR BUG#14511533 INTO 5.6
            
      Problem:
      Server crash was observed when code first checked if 
      semisync was enabled without lock, if so it takes the
      lock and checks again. If semisync gets disabled
      in-between the first and second check, an assert
      incorrectly referenced a null pointer for active
      transaction which leads to the crash. 
          
      Solution: 
      The assert is relocated onto a position where
      active_tranxs buffer is valid.
------------------------------------------------------------
revno: 7391
committer: prabakaran thirumalai <prabakaran.thirumalai@oracle.com>
branch nick: mysql-trunk-review
timestamp: Mon 2014-02-03 10:54:14 +0530
message:
  Bug#17959898 CRASH DURING SHUTDOWN WHEN RUNNING
  I_RPL.RPL_INNODB_DISABLED.TEST
  
  Analysis:
  During shutdown, close_connections() function closes the
  file descriptor such that service threads(threads which
  service each client connection) is ended by calling
  Global_THD_manager::remove_thd() function. During
  execution of this function, if context switches after
  broadcasting on condition variable COND_thd_count,
  mysqld main thread would go ahead and destroy
  LOCK_thd_remove mutex which is still in locked state.
  
  Fix:
  Release LOCK_thd_remove mutex before condition broadcast.
------------------------------------------------------------
revno: 7390 [merge]
committer: Manish Kumar<manish.4.kumar@oracle.com>
branch nick: mysql-trunk
timestamp: Sun 2014-02-02 16:17:28 +0530
message:
  WL#7205 - Making MTR rpl suite GTID_MODE agnostic
  
  Upmerge from mysql-5.6 -> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.234
    committer: Manish Kumar<manish.4.kumar@oracle.com>
    branch nick: mysql-5.6
    timestamp: Sun 2014-02-02 16:15:34 +0530
    message:
      WL#7205 - Making MTR rpl suite GTID_MODE agnostic
            
      Post push fix for the failing test on pb2.
------------------------------------------------------------
revno: 7389 [merge]
committer: Laasya Moduludu <laasya.moduludu@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-31 14:58:23 +0100
message:
  upmerged into mysql-5.5.36 build 
    ------------------------------------------------------------
    revno: 3902.291.233 [merge]
    committer: Laasya Moduludu <laasya.moduludu@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-01-31 14:41:15 +0100
    message:
      Upmerge of the mysql-5.5.36 build
        ------------------------------------------------------------
        revno: 2875.545.125 [merge]
        author: 
        committer: Laasya Moduludu <laasya.moduludu@oracle.com>
        branch nick: mysql-5.5
        timestamp: Fri 2014-01-31 13:32:25 +0100
        message:
          Merge from mysql-5.5.36-release
            ------------------------------------------------------------
            revno: 2875.591.1
            tags: mysql-5.5.36
            committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
            branch nick: mysql-5.5.36-release
            timestamp: Wed 2014-01-08 11:09:04 +0100
            message:
              Updating the current copyright year in the welcome message for MySQL.
------------------------------------------------------------
revno: 7388 [merge]
committer: Vishal Chaudhary <vishal.chaudhary@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-31 14:22:59 +0100
message:
  Null merging the changes from 5.6 branch.
    ------------------------------------------------------------
    revno: 3902.291.232 [merge]
    author: 
    committer: Vishal Chaudhary <vishal.chaudhary@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-01-31 13:51:48 +0100
    message:
      Merge from mysql-5.6.16-release
        ------------------------------------------------------------
        revno: 3902.305.5
        tags: mysql-5.6.16
        committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
        branch nick: mysql-5.6.16-release
        timestamp: Thu 2014-01-09 20:13:58 +0530
        message:
          Bug#18047812: RESULT FILE MISMATCH DUE TO COPYRIGHT YEAR IN OUTPUT
          Problem:
          Copyright mismatch is causing test failure.
          
          Solution:
          Replacing the present year (2014) as the copyright year.
        ------------------------------------------------------------
        revno: 3902.305.4
        committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
        branch nick: mysql-5.6.16-release
        timestamp: Thu 2014-01-09 13:40:11 +0100
        message:
          Updated release version
        ------------------------------------------------------------
        revno: 3902.305.3
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.6.16-release
        timestamp: Wed 2014-01-08 14:55:14 +0100
        message:
          Bug#18046811 COMPILATION ERRORS WHILE BUILDING MYSQL-5.6.16 ON SOLARIS 10
          
          Include my_config.h before any system headers, to avoid
          Warning (Anachronism): Attempt to redefine _FILE_OFFSET_BITS without using #undef.
            
          Include <stdio.h> before <vector> to avoid
          "/usr/include/floatingpoint.h", line 164: Error: FILE is not defined."
          "/usr/include/stdio.h", line 82: Error: Multiple declaration for std::FILE."
          (this must be a bug in the solaris header files)
        ------------------------------------------------------------
        revno: 3902.305.2
        committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
        branch nick: mysql-5.6.16-release
        timestamp: Wed 2014-01-08 11:16:17 +0100
        message:
          Correcting the version, and updating the current copyright year which reflects in the MySQL welcome message.
------------------------------------------------------------
revno: 7387
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: msc-tr
timestamp: Fri 2014-01-31 10:36:06 +0100
message:
  Bug #18146422 WHEN BUILDING WITH GCC ON SOLARIS, MAKE EXTRA COPY OF MYSQL_CONFIG
  
    Set a variable in mysql_release.cmake so this only applies to
    release builds, devel builds should not need this.
    If variable set, then just copy the generated mysql_config.
  
    Also, mysql_config matches its own name to find basedir,
    make that more generic so mysql_server_config also finds itself.
------------------------------------------------------------
revno: 7386
committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
branch nick: trunk
timestamp: Fri 2014-01-31 13:37:28 +0530
message:
  Bug#16723046 MYSQLDUMP: UNKNOWN OPTION '--SECURE-AUTH'
  Adding the test case
------------------------------------------------------------
revno: 7385
committer: Erlend Dahl <erlend.dahl@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-31 07:58:32 +0100
message:
  Move the following tests to "no valgrind without big":
  
  rpl_parallel_multi_db 
  ctype_cp932_binlog_stm 
  ctype_euckr 
  ctype_sjis
  
  Post-push fix for WL#7404. See also Bug#17022890.
  
  Approved by Anitha over IM.
------------------------------------------------------------
revno: 7384 [merge]
committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
branch nick: trunk
timestamp: Fri 2014-01-31 12:21:28 +0530
message:
  Bug#16723046 MYSQLDUMP: UNKNOWN OPTION '--SECURE-AUTH'
  Problem:
  Since after 5.6.xx the secure-auth option was by default set to
  true from false in mysql clients. But the support for this option
  was added only in mysql client. Other client tools were missing this
  option and hence were resulting in the error, 
  Unknown option '--secure-auth'
  Solution:
  The secure-auth parameter was added to the mysql client utilities which
  connect to the server i.e., Mysqldump, Mysqladmin, Mysqlcheck, Mysqlbinlog, 
  MysqlImport, Mysqlslap, Mysqlshow, which avoids the error now.
    ------------------------------------------------------------
    revno: 3902.291.231
    committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
    branch nick: 5.6
    timestamp: Fri 2014-01-31 12:11:29 +0530
    message:
      Bug#16723046 MYSQLDUMP: UNKNOWN OPTION '--SECURE-AUTH'
      Problem:
      Since after 5.6.7 the secure-auth option was by default set to
      true from false in mysql clients. But the support for this option
      was added only in mysql client. Other client tools were missing this
      option and hence were resulting in the error, 
      Unknown option '--secure-auth', when trying to connect to the server
      Solution:
      The secure-auth parameter was added to the mysql client utilities which
      connect to the server i.e., Mysqldump, Mysqladmin, Mysqlcheck, Mysqlbinlog, 
      MysqlImport, Mysqlslap, Mysqlshow, and also mysql_client_fw which now prevents 
      the error.
------------------------------------------------------------
revno: 7383
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug17986385_mysql-trunk
timestamp: Fri 2014-01-31 10:10:52 +0530
message:
  Bug#17986385:LOG-WARNINGS=2 UNUSABLE ON SLAVE WITH FILTERS
  
  Fixing a post push test failure.
------------------------------------------------------------
revno: 7382 [merge]
committer: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
branch nick: mysql_trunk
timestamp: Fri 2014-01-31 09:23:13 +0530
message:
  Bug#14117012 - CHILD PROCESS MYSQL UTILITIES PICKING UP LOCAL
                 CONFIG FILES CAUSES TEST
  
  Merging from 5.6 to trunk.
    ------------------------------------------------------------
    revno: 3902.291.230 [merge]
    committer: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
    branch nick: mysql_5_6
    timestamp: Fri 2014-01-31 09:20:09 +0530
    message:
      Bug#14117012 - CHILD PROCESS MYSQL UTILITIES PICKING UP LOCAL
                     CONFIG FILES CAUSES TEST
      
      Merging from 5.5 to 5.6.
        ------------------------------------------------------------
        revno: 2875.545.124
        committer: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
        branch nick: mysql_5_5
        timestamp: Fri 2014-01-31 09:19:12 +0530
        message:
          Bug#14117012 - CHILD PROCESS MYSQL UTILITIES PICKING UP LOCAL
                         CONFIG FILES CAUSES TEST
          
          Utility as "mysql_upgrade" forks "mysql"/"mysqlcheck". Attaching
          "mysql_upgrade" shows following calls after forking "mysql" or
          "mysql_check" when configuration file information is passed as
          first argument to "mysql_upgrade".
          
          strace -f ./mysql_upgrade --defaults-file=../pdb/my.cnf --socket=../pdb/mysql.sock -f
          
          [pid  6254] stat("/etc/my.cnf", 0x7fff8e772680) = -1 ENOENT (No such file or directory)
          [pid  6254] stat("/etc/mysql/my.cnf", 0x7fff8e772680) = -1 ENOENT (No such file or directory)
          [pid  6254] stat("/usr/local/mysql/etc/my.cnf", 0x7fff8e772680) = -1 ENOENT (No such file or directory)
          [pid  6254] stat("/home/user_name/.my.cnf", {st_mode=S_IFREG|0664, st_size=19, ...}) = 0
          [pid  6254] open("/home/user_name/.my.cnf", O_RDONLY) = 3
          
          
          But when tool forks "mysqlcheck"/"mysql", "--no-defaults" is passed
          as first argument. Before forking, in function "find_tool" of
          "mysql_upgrade", check is made to verify whether tool can be
          executable or not by calling "mysqlcheck --help" and "mysql --help".
          But argument "--no-defaults", "--defaults-file" or
          "defaults-extra-file" is not passed to "mysql" and "mysqlcheck".
          So my.cnf is searched in default paths.
          
          Fix:
          ------
          Modified code to pass "--no-defaults" as first argument to "mysql"
          and "mysqlcheck" while checking tool can be executed or not.
------------------------------------------------------------
revno: 7381 [merge]
committer: Ritheesh Vedire <ritheesh.vedire@oracle.com>
branch nick: bug16814264_trunk
timestamp: Fri 2014-01-31 05:06:02 +0530
message:
   Bug#16814264:FILTER OUT THE PERFORMANCE_SCHEMA RELAY LOG EVENTS IN 5.5 AND 5.6
  
     UpMerge from 5.6->trunk
    ------------------------------------------------------------
    revno: 3902.291.229 [merge]
    committer: Ritheesh Vedire <ritheesh.vedire@oracle.com>
    branch nick: bug16814264_5.6
    timestamp: Fri 2014-01-31 04:54:03 +0530
    message:
      Bug#16814264 - FILTER OUT THE PERFORMANCE_SCHEMA RELAY LOG EVENTS
                     IN 5.5 AND 5.6
            
        Merge from 5.5->5.6
            
        In addition to the code merge, this patch contains the cross
        version testing from 5.5 to 5.6 of the following:
            
        1) Binlog containing pfs events generated on a 5.5 server
           executed on 5.6 server 
        2) Replication of pfs events from Master 5.5 to slave 5.6 for
           all formats.
        ------------------------------------------------------------
        revno: 2875.545.123
        committer: Ritheesh Vedire <ritheesh.vedire@oracle.com>
        branch nick: bug16814264_5.5
        timestamp: Fri 2014-01-31 04:25:39 +0530
        message:
          Bug#16814264: FILTER OUT THE PERFORMANCE_SCHEMA RELAY LOG EVENTS FROM RELAY LOG
          
            Performance schema tables are local to a server and they should not
            be allowed to be executed by the slave from the relay log.
            From 5.6.10, P_S events are not written into the binary log.
            But prior to that, from mysql 5.5 onwards, P_S events are written 
            to the binary log by master.
            The following are problematic scenarios:
                
            1. Master 5.5 -> Slave 5.5
               ========================
              A) RBR: Slave crashes
              B) SBR: P_S statements are replicated.
                
            2.Master 5.5 -> Slave 5.6
              ========================
              A) RBR: SQL thd generates error
              B) SBR : P_S statements are replicated
                
            3. 5.5 binlog executed on a server 5.5 using mysqlbinlog|mysql
               =================================================================
               A) RBR: Server crash  (because of BINLOG'... statement)
               B) SBR: P_S statements are executed
                
            4. 5.5 binlog executed on server 5.6 using mysqlbinlog|mysql
               ================================================================
               A) RBR: SQL error (because of BINLOG'... statement)
               B) SBR: P_S statements are executed.
                
                
              The generalized behaviour should be:
              a) Slave SQL thread should certainly ignore P_S events read from
                 the relay log.
              b) mysqlbinlog|mysql should replay the binlog succesfully.
                
------------------------------------------------------------
revno: 7380
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Thu 2014-01-30 17:32:21 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #15
  Remove all #ifndef HAVE_purify around DBUG_PRINT and DBUG_DUMP.
  In order for these to actually generate a warning,
  one would have to run with valgrind and debug at the same time,
  *and* enable the specific debug keywords.
------------------------------------------------------------
revno: 7379
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-test
timestamp: Thu 2014-01-30 15:04:46 +0100
message:
  WL#7404   : Migrate ctype tests in main suite
  
  Post-push fix: Update some .result files.
------------------------------------------------------------
revno: 7378 [merge]
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug17986385_mysql-trunk
timestamp: Thu 2014-01-30 17:51:59 +0530
message:
  Merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.228
    committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
    branch nick: Bug17986385_mysql-5.6
    timestamp: Thu 2014-01-30 17:39:03 +0530
    message:
      Bug#17986385:LOG-WARNINGS=2 UNUSABLE ON SLAVE WITH FILTERS
      
      Problem:
      ========
      If a slave is configured with replication filters, and
      log-warnings=2, every statement which is filtered writes an
      entry to the error log:
      
      [Warning] Slave SQL: Could not execute Query event. Detailed
      error: Slave SQL thread ignored the query because of
      replicate-*-table rules.
      
      For busy servers which generate a lot of statements that get
      filtered, the result is an error log which can quickly grow
      into the GB range.
      
      Analysis:
      ========
      This warning appears when log_warnings > 1 along with error
      ER_SLAVE_IGNORE_TABLE. This causes the error log to grow
      very quickly.
      
      Fix:
      ===
      "Error_log_throttle" is used to fix the issue.
      "Error_log_throttle" is a time based way to control the
      error messages. Throttle is used for errors which are
      generated very frequently. For such errors first a
      log_throttle is defined and a time window_size is specified.
      For example when window is set to 1 min, for every 1 min
      an error message will be printed which says that this
      particular error has occurred n number of times.
------------------------------------------------------------
revno: 7377
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Thu 2014-01-30 12:29:10 +0100
message:
  Bug#16754540 UNINITIALIZED VALUE ON CRASH RECOVERY AFTER CREATE TABLE
  
  Post-push cleanup: rename TMP_TABLE_PARAM to Temp_table_param
------------------------------------------------------------
revno: 7376 [merge]
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-push
timestamp: Thu 2014-01-30 12:03:05 +0100
message:
  Push to mysql-trunk
    ------------------------------------------------------------
    revno: 7347.1.2
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-bug18024455
    timestamp: Thu 2014-01-30 10:37:26 +0100
    message:
      Implement code review comments
    ------------------------------------------------------------
    revno: 7347.1.1
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-bug18024455
    timestamp: Tue 2014-01-28 22:42:55 +0100
    message:
      Bug#18024455 NUMBER OF ROWS IN PERFORMANCE SCHEMA TABLES
      
      Before this fix, the estimated number of rows for a performance schema
      table was a hard coded value 1000 for most tables.
      
      This value was intended only as a way to convey to the optimizer
      the information that a table has "many" rows,
      as opposed to none (0) or just one (1),
      which can be optimizer differently.
      
      This innacurate row count has no negative effects,
      but is still visible in:
      - the output of EXPLAIN
      - the information_schema
      
      In particular, it causes confusion, as the number of rows claimed
      in EXPLAIN is inconsistent with the number or rows really used.
      
      This fix implements a ::get_row_count() method for every performance_schema
      table, which computes a more accurate number of rows,
      based on sizing parameters used when allocating memory for each table.
------------------------------------------------------------
revno: 7375
committer: Prabeen Pradhan <prabeen.pradhan@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-30 14:26:10 +0530
message:
  WL#7404   : Migrate ctype tests in main suite
  Issue     : Change the default engine from MyISAM to innodb
  Solution  : modified tests as per guideline mentioned in WL
------------------------------------------------------------
revno: 7374 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-30 12:44:29 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.227 [merge]
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-30 12:40:57 +0530
    message:
      Merge from mysql-5.5 to mysql-5.6
        ------------------------------------------------------------
        revno: 2875.545.122
        committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
        branch nick: mysql-5.5
        timestamp: Thu 2014-01-30 12:38:13 +0530
        message:
          Bug #14668683 ASSERT REC_GET_DELETED_FLAG(REC, PAGE_IS_COMP(PAGE))
          
          Problem:
          
          The function row_upd_changes_ord_field_binary() is used to decide whether to
          use row_upd_clust_rec_by_insert() or row_upd_clust_rec().  The function
          row_upd_changes_ord_field_binary() does not make use of charset information.
          Based on binary comparison it decides that r1 and r2 differ in their ordering
          fields.
          
          In the function row_upd_clust_rec_by_insert(), an update is done by delete +
          insert.  These operations internally make use of cmp_dtuple_rec_with_match()
          to compare records r1 and r2.  This comparison takes place with the use of
          charset information.
          
          This means that it is possible for the deleted record to be reused in the
          subsequent insert.  In the given scenario, the characters 'a' and 'A' are
          considered equal in the my_charset_latin1.  When this happens, the ownership
          information of externally stored blobs are not correctly handled.
          
          Solution:
          
          When an update is done by delete followed by insert, disown the relevant
          externally stored fields during the delete marking itself (within the same
          mtr).  If the insert succeeds, then nothing with respect to blob ownership
          needs to be done.  If the insert fails, then the disown done earlier will be
          removed when the operation is rolled back.
          
          rb#4479 approved by Marko.
------------------------------------------------------------
revno: 7373
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Wed 2014-01-29 15:45:20 -0600
message:
  A recent patch fixed some compiler warnings on Windows.  But this solution
  did not work on VS2008.  The problem was that three LEX generated files
  defined names like INT8_MIN, wich are also defined in stdint.h.  Later in
  those files, <stdint.h> was being included via <memory> when other files
  were included.  So the warning said that INT8_MIN and other names were
  already defined. The problem is that VS2008 does not contain <stdint.h>
   
  A better solution is in this patch.  cmake/os/CMakeCache.cmake is modified
  such that HAVE_STDINT_H is defined on versions of VS that contains it.
  Then univ.i is modified to add <stdint.h> if HAVE_STDINT_H is defined.
  
  Aprroved by Vasil on RB#4486
------------------------------------------------------------
revno: 7372
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-bug18116661
timestamp: Wed 2014-01-29 16:45:16 +0100
message:
  Bug#18116661: CHECK_FUNCTION_REPLACEMENT() DOES NOT MAKE
                      SENSE WHEN RESULT IS HARDCODED
  
  Remove the CHECK_FUNCTION_REPLACEMENT() macro from Windows.cmake 
  and set replacement functions explicitly instead, as the result of the checks
  were hard coded in WindowsCache.cmake anyway.
  
  Also remove some dead code from Windows.cmake and use replacement
  functions for deprecated Windows functions.
------------------------------------------------------------
revno: 7371
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-bug18147458
timestamp: Wed 2014-01-29 16:09:13 +0100
message:
  Bug#18147458: CONFIGURE.CMAKE IMPROPERLY CHECKS FOR C++ HEADER CXXABI.H
  
  The problem was that CHECK_INCLUDE_FILES() was used to check
  for the presence of the cxxabi.h header file during configure.
  But as this is a C++ header file, CHECK_INCLUDE_FILE_CXX() should
  have been used instead.
------------------------------------------------------------
revno: 7370
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Wed 2014-01-29 14:03:05 +0100
message:
  Bug#16754540 UNINITIALIZED VALUE ON CRASH RECOVERY AFTER CREATE TABLE
  
  Initialize variables, to avoid valgrind warnings.
  Remove TMP_TABLE_PARAM::init() and do all init in CTOR init list instead.
------------------------------------------------------------
revno: 7369
committer: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-29 17:20:44 +0530
message:
  Fixing post push test failure
------------------------------------------------------------
revno: 7368
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Wed 2014-01-29 10:36:09 +0100
message:
  Bug#14580121 VALGRIND FAILURE IN CHK_DEL() IN MYISAM CODE
  Bug#61985 Valgrind errors on myisam-blob and almost_full 5.5 rev 3477
  
  Initialize variables, to avoid valgrind warnings.
------------------------------------------------------------
revno: 7367 [merge]
committer: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-29 14:24:41 +0530
message:
  Merge from 5.6 to 5.7
  
  
  Bug#17814492 - INVALID RESULTS FROM SUBQUERY WITH IN CLAUSE
  
  Problem:
  Optimizer decided to push down a condition, when the index
  does not have the keypart present in the condition.
  
  Analysis:
  While checking for possible keys to be considered for a query,
  optimizer comes up with a list of possible keys on derived table.
  In the query given, optimizer thinks it can generate two keys,
  one having a,b and one having just a.
  Once the possible keys are updated, optimizer also updates the
  corresponding flags for the field on which index could be used.
  
  While creating the index on derived table, optimizer sees that
  the length of the key for key a,b will be more than the length
  of MI_MAX_KEY_LENGTH, so it doesn't create the key. But it
  doesn't update the flags in field.
  
  Later this lets optimizer to think that there is an index which
  has both a and b keyparts and thereby pushing the condition
  a1.b == 'xxx' while reading from the materialized table.
  This eventually results in evaluation against a field in
  record0 that has not been read yet, resulting in lost results.
  
  Solution:
  When optimizer doesn't create the key on derived table, flags that
  were enabled while adding the derived key to the derived key list
  should be disabled.
  
  This is currently done partially in TABLE::use_index. Do it correctly
  now.
    ------------------------------------------------------------
    revno: 3902.291.226
    committer: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2014-01-29 14:06:51 +0530
    message:
      Bug#17814492 - INVALID RESULTS FROM SUBQUERY WITH IN CLAUSE
            
      Problem:
      Optimizer decided to push down a condition, when the index
      does not have the keypart present in the condition.
            
      Analysis:
      While checking for possible keys to be considered for a query,
      optimizer comes up with a list of possible keys on derived table.
      In the query given, optimizer thinks it can generate two keys,
      one having a,b and one having just a.
      Once the possible keys are updated, optimizer also updates the
      corresponding flags for the field on which index could be used.
            
      While creating the index on derived table, optimizer sees that
      the length of the key for key a,b will be more than the length
      of MI_MAX_KEY_LENGTH, so it doesn't create the key. But it
      doesn't update the flags in field.
            
      Later this lets optimizer to think that there is an index which
      has both a and b keyparts and thereby pushing the condition
      a1.b == 'xxx' while reading from the materialized table.
      This eventually results in evaluation against a field in
      record0 that has not been read yet, resulting in lost results.
            
      Solution:
      When optimizer doesn't create the key on derived table, flags that
      were enabled while adding the derived key to the derived key list
      should be disabled.
            
      This is currently done partially in TABLE::use_index. Do it correctly
      now.
------------------------------------------------------------
revno: 7366
committer: Sneha Modi <sneha.modi@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-29 13:23:05 +0530
message:
  Fixing explain diff for olap.test in the main suite
------------------------------------------------------------
revno: 7365
committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-29 14:31:51 +0700
message:
  It's a follow-up patch for the WL#7193 (Decouple THD and st_transactions).
  
  This patch fixes the compiler error for NDB after the data member 
  Transacton_ctx::mem_root was renamed to Transaction_ctx::m_mem_root.
------------------------------------------------------------
revno: 7364
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-28 15:11:28 +0200
message:
  Fix Bug#16596057 MINOR OPTIMIZATION IN BUF_BUDDY_RELOCATE CODE
  
  Check if space,offset is bogus before looking up the hash table which
  requires a exclusive lock on the cell latch.
  
  Reviewed by:	Marko (rb:4483)
------------------------------------------------------------
revno: 7363
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-cmake
timestamp: Tue 2014-01-28 15:49:11 +0100
message:
  Bug#12590037 LIB/LIBMYSQLCLIENT.18.DYLIB IS BROKEN ON MAC OS X
  Bug#61243 lib/libmysqlclient.18.dylib is broken on Mac OS X
  Bug#13890998 OSX MYSQL BUILDS LINK LIBMYSQLCLIENT TO ITSELF
  Bug#61699 OSX mysql builds link libmysqlclient to itself
  
  Set INSTALL_NAME_DIR property for libmysqlclient.dylib
------------------------------------------------------------
revno: 7362 [merge]
committer: mayank prasad <mayank.prasad@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-28 19:12:04 +0530
message:
  MERGE: 5.6-->trunk for Bug#17938255
    ------------------------------------------------------------
    revno: 3902.291.225
    committer: mayank prasad <mayank.prasad@oracle.com>
    branch nick: 5.6
    timestamp: Tue 2014-01-28 19:07:47 +0530
    message:
      Bug#17938255 : SUM_SORT_MERGE_PASSES IN STATEMENT DIGESTS IS NOT CORRECT
      
      Details:
       - There was wrong assignment in source code which was causing this issue.
       - Fixed it.
------------------------------------------------------------
revno: 7361
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-dynarray
timestamp: Tue 2014-01-28 14:33:07 +0100
message:
  Bug#18003651 VALGRIND: MEMORY LEAK AT THE TIME OF SERVER START UP
  
  Post-push fix of failing unit tests.
------------------------------------------------------------
revno: 7360
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-dynarray
timestamp: Tue 2014-01-28 13:24:38 +0100
message:
  Bug#18003651 VALGRIND: MEMORY LEAK AT THE TIME OF SERVER START UP
  
  The race conditions during server shutdown are gone,
  so cleanup of of pfs_instr_config_array is simply a matter of
  deleting all allocated objects.
  
  Swich from DYNAMIC_ARRAY to Prealloced_array: it is faster, and it is type safe.
  
  Remove valgrind suppressions related pfs_instr_config_array.
------------------------------------------------------------
revno: 7359
committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-28 18:12:30 +0700
message:
  It's a follow-up patch for the WL#7193 (Decouple THD and st_transactions).
  
  This patch adds the m_ prefix to the data members flags, changed_tables, 
  mem_root of the class Transation_ctx. Such renaming was done to remove
  compiler warnings in the methods set_unsafe_rollback_flags() and
  add_unsafe_rollback_flags() about the fact that an argument name hides 
  the data member and also to make the naming of attributes to be uniform.
  Also missed DBUG_VOID_RETURN was added into the method
  THD::add_changed_table. Absence of DBUG_VOID_RETURN led to a crash
  of the server built in debug mode.
------------------------------------------------------------
revno: 7358 [merge]
committer: Manish Kumar<manish.4.kumar@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-28 15:50:48 +0530
message:
  WL#7205 - Making MTR rpl suite GTID_MODE agnostic
  
  NULL merge from mysql-5.6 -> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.224
    committer: Manish Kumar<manish.4.kumar@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-01-28 15:49:04 +0530
    message:
      WL#7205 - Making MTR rpl suite GTID_MODE agnostic
      
      Post push fix for failing test on mysql-5.6.
      
      The failure was because the result file were not updated.
------------------------------------------------------------
revno: 7357 [merge]
committer: Manish Kumar<manish.4.kumar@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-28 15:46:28 +0530
message:
  WL#7205- Making MTR rpl suite GTID_MODE agnostic
  
  Upmerge from mysql-5.6 -> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.310.1
    committer: Manish Kumar<manish.4.kumar@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-01-28 15:44:26 +0530
    message:
      WL#7205 - Making MTR rpl suite GTID_MODE agnostic
      
      Post push fix for failing test on mysql-5.6.
      
      The failure was because the result file were not updated.
------------------------------------------------------------
revno: 7356 [merge]
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-28 12:08:16 +0200
message:
  Merge mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.223
    committer: Marko M?kel? <marko.makela@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-01-28 12:02:37 +0200
    message:
      Bug#17335427 INNODB CAN NOT USE THE DOUBLEWRITE BUFFER PROPERLY
      
      Clean up the test a little.
------------------------------------------------------------
revno: 7355
committer: Libing Song <libing.song@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-28 16:42:44 +0800
message:
  WL#6630 Semisync separate acks collector
  
  Postfix, fixed a compiler failure on 32bit OS.
------------------------------------------------------------
revno: 7354
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Tue 2014-01-28 07:52:26 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #14
  Remove the IF_PURIFY macro: the single use of it we have, is not needed.
  Also remove the obsolete HAVE_BROKEN_REALPATH macro.
------------------------------------------------------------
revno: 7353
committer: Sneha Modi <sneha.modi@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-28 13:27:29 +0530
message:
  Fixing sporadic explain diff.
------------------------------------------------------------
revno: 7352
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-28 09:22:51 +0530
message:
  Bug #18138194 REMOVE UNWANTED DOUBLEWRITE LOG MESSAGES
  
  Problem:
  
  When the MySQL server is started, while processing the doublewrite buffer,
  we see unwanted log messages like:
  
  2014-01-27T09:15:43.068111Z 0 [Note] InnoDB: Checking space:0 page:5
  2014-01-27T09:15:43.068815Z 0 [Note] InnoDB: Checking space:0 page:7
  2014-01-27T09:15:43.092170Z 0 [Note] InnoDB: Checking space:575 page:346
  2014-01-27T09:15:43.093191Z 0 [Note] InnoDB: Checking space:575 page:347
  
  Solution:
  
  These log messages are removed.
  
  approved by Yasufumi through IM.
------------------------------------------------------------
revno: 7351 [merge]
committer: Libing Song <libing.song@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-28 08:35:50 +0800
message:
  Manual Merge
    ------------------------------------------------------------
    revno: 7195.1.1
    committer: Libing Song <libing.song@oracle.com>
    branch nick: mysql-trunk-wl6630
    timestamp: Sun 2014-01-05 21:14:21 +0800
    message:
      WL#6630 Semisync separate acks collector
      
      FEATURE
      =======
      Before this feature, acknowledgments were received in dump threads. After
      sending an acknowledgment request, dump threads needed to receive the
      acknowledgment immediately. So the following events were delayed and
      delaying time was depended on the network situation.
      
      All slave connections are based on TCP which is duplex. It means we
      can send binary events and receive acknowledgments simultaneously.
      In this way, binary events can be sent without delay.
      
      This worklog implement above feature.
      
      DESIGN
      ======
      * Start/Stop ack receive thread
        The thread is controlled automatically by semisync master.
      
        - It is started automatically when enabling semisync master through
          SET rpl_semi_sync_master_enabled = ON
      
        - It is stopped automatically when disabling semisync master through
          SET rpl_semi_sync_master_enabled = OFF
      
      * Show ack receive thread status to performance_schema.threads
      
        - Ack receive thread status can be showed through querying
          performance_schema.threads table, when semisync master is on(ack thread is
          up).
      
        - PROCESSLIST_STATE contents
          1. Waiting for semi-sync slave connection.
          2. Waiting for semi-sync ACK from slave.
          3. Reading semi-sync ACK from slave.
------------------------------------------------------------
revno: 7350
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-cleanup
timestamp: Mon 2014-01-27 22:36:15 +0100
message:
  WL#7260 Split LOCK_thread_count
  
  Post merge cleanup
------------------------------------------------------------
revno: 7349
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-bug17632319
timestamp: Mon 2014-01-27 16:49:42 +0100
message:
  Bug#17632319: ADD SUPPORT FOR MEMORYSANITIZER
  
  This patch adds -DWITH_MSAN to CMake in order to enable
  MemorySanitizer, similar to what has already been done with
  -DWITH_ASAN and AddressSanitizer.
  See: http://clang.llvm.org/docs/MemorySanitizer.html
  
  MemorySanitizer has been tested with Clang 3.3.
------------------------------------------------------------
revno: 7348 [merge]
committer: Libing Song <libing.song@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-27 23:06:08 +0800
message:
  Auto Merge
    ------------------------------------------------------------
    revno: 3902.291.222
    committer: Libing Song <libing.song@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-01-27 23:03:02 +0800
    message:
      Bug#17434690 SEMISYNC MASTER PLUGIN WITH MANY SLAVES CAUSES
                   PLUGIN_LOCK MUTEX CONTENTIONS
      
      Postfix Eliminate and suppress a couple of warnings.
------------------------------------------------------------
revno: 7347 [merge]
committer: Manish Kumar<manish.4.kumar@oracle.com>
branch nick: trunk_final_push
timestamp: Mon 2014-01-27 16:18:42 +0530
message:
  WL#7205 - Making MTR rpl suite GTID_MODE agnostic
  
  Upmerge from mysql-5.6 -> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.221
    committer: Manish Kumar<manish.4.kumar@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-01-27 15:27:21 +0530
    message:
      WL#7205 - Make the MTR rpl suite GTID_MODE agnostic
                        
      This worklog aims at making the MTR rpl suite GTID_MODE
      agnostic, so that we can have run it daily on pushbuild with
      --gtid-mode=ON.
------------------------------------------------------------
revno: 7346
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-27 11:45:35 +0200
message:
  Followup to vasil.dimov@oracle.com-20140123083549-7xgw1szq8x84vsr9 :
  
  Attempt to fix an undeterministic failure of innodb_bug18111007:
  * Wait for two rows to be present in innodb_locks too and 1 row to be present
    in innodb_lock_waits
  * Show the contents of the 3 tables at the start (except the columns that
    contain hard to predict data, like timestamp or transaction id)
------------------------------------------------------------
revno: 7345
committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-27 15:18:40 +0700
message:
  This is WL#7193 (Decouple THD and st_transactions) that is a pure refactoring
  and introduces the following changes:
    * renames the struct st_transactions to Transaction_ctx and
    moves a declaration of Transaction_ctx outside THD class;
  
    * adds the prefix m_ to all data members of classes THD_TRANS and
    Transaction_ctx;
  
    * changes the name of data member THD::transaction to THD::m_transaction,
    makes this member as private and provides access to it using the new method
    THD::get_transaction();
  
    * hides direct access to all data members of the class Transaction_ctx except
    for the data member m_savepoints;
  
    * adds the methods  init_mem_root_defaults, allocate_memory(), free_memory(),
    strmake() to get access to Transaction_ctx::m_mem_root
  
    * adds the methods add_changed_table() and
    invalidate_changed_tables_in_cache() into the class Transaction_ctx to give
    access to the data member m_changed_tables
  
    * removes the data member Transaction_ctx::m_pending_rows_event
    since it is never used within source code.
  
    * moves declarations/definitions of classes THD_TRANS,
    Ha_trx_info, Transaction_ctx from the files sql_class.h/sql_class.cc to
    the separate files transaction_info.h/transaction_info.cc.
  
    * introduces transaction_cache and functions to work with it.
    transaction_cache is used instead of xid_cache and stores a pointer to an
    instance of  class Transaction_ctx that contains full information about
    transaction in order to be able to support for detaching/attaching of XA
    transaction from THD in the future;
  
    * changes the tests setup_instruments_defaults and server_init  since
    the mutex LOCK_xid_cache was replaced by LOCK_transaction_cache and
    corresponding changes should be done in those tests results;
  
    * adds the method  Transaction_ctx::xid_state() to give access
    to the data memeber Transaction_ctx::m_xid_state;
  
    * removes the function ha_list_names() and the method
    THD_TRANS::dbug_unsafe_rollback_flags since it is used only in debug log
    output that now is considered as redundant;
  
    * hides all access to THD_TRANS::m_no_2pc and THD_TRANS::m_rw_ha_count from
    outside by corresponding methods of the class Transaction_ctx -
    set_rw_ha_count()/rw_ha_count(), no_2pc()/set_no_2pc();
  
    * moves a definition of struct THD_TRANS into the class Transaction_ctx
    to make the class THD_TRANS to be implementaion details of Transaction_ctx;
  
    * removes save/restore of transaction state from
    Ndb_local_connection::execute_query_iso() as discussed with Magnus Bl?udd.
------------------------------------------------------------
revno: 7344
committer: Libing Song <libing.song@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-27 00:05:50 +0800
message:
  BUG#17434690 SEMISYNC MASTER PLUGIN WITH MANY SLAVES CAUSES
               PLUGIN_LOCK MUTEX CONTENTIONS
  Postfix, valgrind warned m_observe_transmission is not initialized.
  So initialize it to eliminate the warning.
------------------------------------------------------------
revno: 7343 [merge]
committer: Libing Song <libing.song@oracle.com>
branch nick: mysql-trunk
timestamp: Sun 2014-01-26 13:40:35 +0800
message:
  Manual Merge
    ------------------------------------------------------------
    revno: 3902.291.220
    committer: Libing Song <libing.song@oracle.com>
    branch nick: mysql-5.6
    timestamp: Sun 2014-01-26 11:23:00 +0800
    message:
      Bug#17434690 SEMISYNC MASTER PLUGIN WITH MANY SLAVES CAUSES
                   PLUGIN_LOCK MUTEX CONTENTIONS
      
      Semisync became very slow if there were many dump
      threads(mysqlbinlog or slave io connections) working at the
      same time. Despite the dump connections didn't support
      semisync, semisync master plugin functions were still
      called. That caused plugin lock very hot and also wasted
      some time on unnecessary code.
      
      After this fix, non-semisync dump threads don't call
      semisync master functions to observe binary events anymore.
      The implementation is:
      
      * As you know, every dump thread calls transmit_start hook
        to tell semisync master a dump thread starts.
      
        Now, semisync master plugin's transmit_start() returns
        either F_OBSERVE or F_DONT_OBSERVE flag to the dump thread.
      
        F_OBSERVE is returned if the dump connection is a semisync
        connection, otherwise F_DONT_OBSERVE is returned.
      
      * Dump thread will call the hooks to observe every event if
        it get F_OBSERVE flag. Otherwise it will not call the hooks.
------------------------------------------------------------
revno: 7342 [merge]
committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
branch nick: mysql-trunk
timestamp: Sat 2014-01-25 17:15:37 +0530
message:
  Bug#17319380 ERROR 1406 (22001): DATA TOO LONG FOR COLUMN
  'PROCESSLIST_STATE' FOR SLAVE SQL
  Problem:
  SQL thread's idle state message (Slave has read all relay
  log; waiting for the slave I/O thread to update it) is 75
  chars length. But performance_schema.threads 
  processlist_state column is defined as char(64). When SQL
  thread is instrumented and 75 chars state message is
  inserted into this varchar(64) column. Server will generate
  either warning/error depends on sql_mode empty or
  'strict_all_tables'.                                        
  Fix: Changing all the state messages which are greater than
  64 chars in leangth into a *less than 64 chars* state message.
  
  1) "Slave has read all relay log; waiting for the slave I/O
  thread to update it" (75 chars state message) is changed
  into "Slave has read all relay log; waiting for more updates"
  (54 chars state message)
  
  2) "Master has sent all binlog to slave; waiting for binlog
  to be updated" (69 chars state message) is changed into
  "Master has sent all binlog to slave; waiting for more
  updates" (61 chars state message).
  
  3) "Making temporary file (create) before replaying LOAD DATA
  INFILE." (65 chars state message) is changed into "Making
  temporary file (append) before replaying LOAD DATA INFILE"
  (64 chars state message).
  
  4) "Making temporary file (append) before replaying LOAD DATA
  INFILE." (65 chars state message) is changed into "Making
  temporary file (append) before replaying LOAD DATA INFILE."
  (64 chars state message).
    ------------------------------------------------------------
    revno: 3902.291.219
    committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
    branch nick: mysql-5.6
    timestamp: Sat 2014-01-25 17:06:09 +0530
    message:
      Bug#17319380 ERROR 1406 (22001): DATA TOO LONG FOR COLUMN
      'PROCESSLIST_STATE' FOR SLAVE SQL
      Problem:
      SQL thread's idle state message (Slave has read all relay
      log; waiting for the slave I/O thread to update it) is 75
      chars length. But performance_schema.threads 
      processlist_state column is defined as char(64). When SQL
      thread is instrumented and 75 chars state message is
      inserted into this varchar(64) column. Server will generate
      either warning/error depends on sql_mode empty or
      'strict_all_tables'.                                        
      Fix: Truncate the state message to 64 chars before inserting
      into the column (No Warning/No error).
------------------------------------------------------------
revno: 7341
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-deadcode
timestamp: Fri 2014-01-24 17:23:50 +0100
message:
  Bug#17730320: REMOVE UNNEEDE CMAKE CHECKS AND #IFDEFS IN 5.7.4
  
  Patch #2. This patch removes the following CMake checks:
  
  TIME_T_UNSIGNED - always false on supported platforms.
  HAVE_GETADDRINFO - always true on supported platforms.
  HAVE_SELECT - always true on supported platforms.
  QSORT_TYPE_IS_VOID - always true on supported platforms.
  HAVE_SOCKET_SIZE_T_AS_socklen_t - always true for non-Windows.
  SIGNAL_RETURN_TYPE_IS_VOID - always true on supported platforms.
  HAVE_POSIX_SIGNALS - result not used.
  HAVE_BSD_SIGNALS - always false on supported platforms.
  HAVE_SVR3_SIGNALS - result not used.
  HAVE_V7_SIGNALS - result not used.
  
  Remove the following typedefs:
  puchar - not used
  pshort - not used
  pfloat - not used
  
  Remove the following macros:
  STRUCT_RLIMIT - always struct rlimit
  sig_handler - always void
  qsort_t - always void
  SORT_RETURN - always return
  
  Remove the following files:
  dbug_long.h - not used
  my_sleep.c - move contents to my_sys.h
------------------------------------------------------------
revno: 7340
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Fri 2014-01-24 17:15:30 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #13
  Remove some obsolete HAVE purify/valgrind code from ha_ndbcluster/opt_range
  Approved by the cluster team.
------------------------------------------------------------
revno: 7339
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-bug17641055
timestamp: Fri 2014-01-24 15:36:33 +0100
message:
  Bug#17641055: THR_LOCK_MUTEX IS USED BEFORE BEING INITIALIZED
  
  The problem was that during server startup, my_init() would call
  my_thread_global_init() before safe_mutex_global_init().
  
  The former initializes several mysys mutexes by calling mysql_mutex_init().
  With SAFE_MUTEX enabled (default on debug build), mysql_mutex_init()
  calls safe_mutex_init() which uses the THR_LOCK_mutex. However this mutex
  is only properly initialized when safe_mutex_global_init() has been called.
  
  This patch fixes the problem by calling safe_mutex_global_init()
  before my_thread_global_init(). It also adds an assert to guard
  against regressions.
  
  This bug was only visible with SAFE_MUTEX which is default on for debug
  build and default off when building release build.
------------------------------------------------------------
revno: 7338
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Fri 2014-01-24 14:26:48 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #12
  Remove zero-init of rec_per_key in ha_myisammrg::info
------------------------------------------------------------
revno: 7337
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-24 09:55:48 +0200
message:
  Bug#18116588 UNNECESSARY HASH LOOKUP IN FIL_NODE_CREATE()
  
  The InnoDB function fil_node_create() is always being invoked after
  fil_space_create().
  The call to fil_space_create() succeeds if it creates a fil_space_t object.
  The function fil_node_create() is taking a space_id of the created
  fil_space_t object and performing a hash table lookup, even though the object
  was just created.
  
  fil_space_create(): return fil_space_t*, or NULL if the operation fails.
  fil_node_create(): Replace the space_id parameter with fil_space_t*.
  
  rb#4424 approved by Kevin Lewis and Jimmy Yang
------------------------------------------------------------
revno: 7336
committer: Thayumanavar <thayumanavar.x.sachithanantha@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-24 13:09:51 +0530
message:
  BUG#17863690 - ASSERTION `THR_THD_INITIALIZED' FAILED.
  
  FIX AND DESCRIPTION:-
  i_rpl.rpl_innodb_disabled sporadically fails with the
  assertion THR_THD_INITIALIZED. In the course of execution
  this MTR test, mysqld server is restarted multiple times.
  This involves the shutdown of server and there are some
  connections (including connections established at start of
  MTR) that are waiting on network read event.  If some
  connections are not terminated gracefully, connections are
  closed and waited until the thd list goes empty. Once thd
  list becomes empty, there could be some number of threads
  could be executing the thd destructor while the main
  shutdown thread could go ahead with the cleanup including
  the destruction of THR_THD and THR_MALLOC pthread keys
  which causes the assertion.
    All connection related threads (including the replication
  threads call) call the function release_resource after which
  thd is removed from the global list and hence move restore_
  globals into the release_resources to fix the test case which
  indicates ASSERTION `THR_THD_INITIALIZED' FAILED. This patch
  also moves Relay_log_info::end_info and mysql_audit_free_thd
  into release_resources.
------------------------------------------------------------
revno: 7335
committer: Erlend Dahl <erlend.dahl@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-24 07:53:00 +0100
message:
  Make some tests run in Valgrind only with the "--big-test" option.
  
  Approved by Anitha over IM.
------------------------------------------------------------
revno: 7334 [merge]
committer: Allen lai <zheng.lai@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-24 13:50:16 +0800
message:
  Merged from 5.6.
    ------------------------------------------------------------
    revno: 3902.291.218
    committer: Allen lai <zheng.lai@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-01-24 13:02:04 +0800
    message:
      Fixed bug#18038948 TEST CASE MEMC280C_MISC OCCASIONALLY FAILED WITH SIGNAL 11
      
      When memcached plugin is till initializing, a uninstall plugin command come in,
      the daemon thread will be killed then.
      We need to check if it's initializing, uninstall should wait for the init completed.
      
      rb://4428, approved by Jimmy.
------------------------------------------------------------
revno: 7333 [merge]
committer: bin.x.su@oracle.com
branch nick: mysql-trunk
timestamp: Fri 2014-01-24 10:07:04 +0800
message:
  BUG 18117322 - DEFINE INNODB_THREAD_SLEEP_DELAY MAX VALUE
  
  The maximum value for innodb_thread_sleep_delay is 4294967295 (32-bit) or
  18446744073709551615 (64-bit) microseconds. This is way too big, since
  the max value of innodb_thread_sleep_delay is limited by
  innodb_adaptive_max_sleep_delay if that value is set to non-zero value
  (its default is 150,000).
  
  Solution
  The maximum value of innodb_thread_sleep_delay should be the same as
  the maximum value of innodb_adaptive_max_sleep_delay, which is 1000000.
  
  Approved by Jimmy, rb#4429
    ------------------------------------------------------------
    revno: 3902.291.217 [merge]
    committer: bin.x.su@oracle.com
    branch nick: mysql-5.6
    timestamp: Fri 2014-01-24 10:00:58 +0800
    message:
      BUG 18117322 - DEFINE INNODB_THREAD_SLEEP_DELAY MAX VALUE
      
      The maximum value for innodb_thread_sleep_delay is 4294967295 (32-bit) or
      18446744073709551615 (64-bit) microseconds. This is way too big, since
      the max value of innodb_thread_sleep_delay is limited by
      innodb_adaptive_max_sleep_delay if that value is set to non-zero value
      (its default is 150,000).
      
      Solution
      The maximum value of innodb_thread_sleep_delay should be the same as
      the maximum value of innodb_adaptive_max_sleep_delay, which is 1000000.
      
      Approved by Jimmy, rb#4429
        ------------------------------------------------------------
        revno: 2875.545.121
        committer: bin.x.su@oracle.com
        branch nick: mysql-5.5
        timestamp: Fri 2014-01-24 09:57:25 +0800
        message:
          BUG 18117322 - DEFINE INNODB_THREAD_SLEEP_DELAY MAX VALUE
          
          The maximum value for innodb_thread_sleep_delay is 4294967295 (32-bit) or
          18446744073709551615 (64-bit) microseconds. This is way too big, since
          the max value of innodb_thread_sleep_delay is limited by
          innodb_adaptive_max_sleep_delay if that value is set to non-zero value
          (its default is 150,000).
          
          Solution
          The maximum value of innodb_thread_sleep_delay should be the same as
          the maximum value of innodb_adaptive_max_sleep_delay, which is 1000000.
          
          Approved by Jimmy, rb#4429
------------------------------------------------------------
revno: 7332
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-bug18047020
timestamp: Thu 2014-01-23 11:15:08 +0100
message:
  Bug#18047020: BROKEN BUILD WITH CLANG 3.4
  
  Fix a compilation error in extra/yassl/taocrypt/include/runtime.hpp
  and a number of new warnings about unused functions/variables.
  
  Also removed all MTR suppressions for __cxa_pure_virtual.
  They are no longer needed as these tests use DBUG_SUICIDE to 
  terminate the server rather than exit(1). See Bug#11759828
------------------------------------------------------------
revno: 7331 [merge]
committer: Narendra Chauhan <narendra.chauhan@oracle.com>
branch nick: latest-trunk
timestamp: Thu 2014-01-23 15:08:21 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.216
    committer: Narendra Chauhan <narendra.chauhan@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-23 15:05:00 +0530
    message:
      Bug#17353557 - UNNECESSARY USE OF PERL MODULE ENV IN INCLUDE/TRUNCATE_FILE.INC
------------------------------------------------------------
revno: 7330 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-23 14:50:03 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.215
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-23 14:47:12 +0530
    message:
      Bug #18058884 I_INNODB.INNODB-DOUBLE-WRITE FAILS SPORADICALLY ON 5.6+
      
      Problem:
      
      The test case i_innodb.innodb-double-write is failing sporadically in pb2 for
      mysql-5.6 and mysql-trunk.  The error notes that the page 0 of the user
      tablespace is not there in the double write buffer.  The root cause of this
      sporadic failure is because of the flushing of pages related to undo logs.
      These pages can overwrite the page 0 of the user tablespace in the double write
      buffer.  
      
      Solution:
      
      Stop the purge thread in the beginning of the test case.  This will ensure that
      the undo logs are not freed and hence will not flood the double write buffer.  
      
      rb#4357 in review by Yasufumi.
------------------------------------------------------------
revno: 7329
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-23 10:35:49 +0200
message:
  Fix Bug#18111007 INFORMATION_SCHEMA.INNODB_TRX.TRX_ID CONTAINS BOGUS
  TRANSACTION ID
  
  Consistently use the same method for retrieving a transaction id when
  printing it - the newly added function trx_get_id_for_print().
------------------------------------------------------------
revno: 7328 [merge]
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Thu 2014-01-23 09:05:55 +0100
message:
  Empty merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.214 [merge]
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.6-merge
    timestamp: Thu 2014-01-23 09:03:58 +0100
    message:
      NULL merge 5.5 => 5.6
        ------------------------------------------------------------
        revno: 2875.545.120
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.5
        timestamp: Thu 2014-01-23 09:02:47 +0100
        message:
          Backport of Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18
          Backported only the softlink part of the patch,
          *not* the bumping of library version.
          
          With this patch, the libmysql/ directory contains:
          libmysqlclient.a
          libmysqlclient_r.a -> libmysqlclient.a
          libmysqlclient_r.so -> libmysqlclient.so*
          libmysqlclient_r.so.18 -> libmysqlclient.so.18*
          libmysqlclient_r.so.18.0.0 -> libmysqlclient.so.18.0.0*
          libmysqlclient.so -> libmysqlclient.so.18*
          libmysqlclient.so.18 -> libmysqlclient.so.18.0.0*
          libmysqlclient.so.18.0.0*
------------------------------------------------------------
revno: 7327 [merge]
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Wed 2014-01-22 17:20:07 -0600
message:
  null merge from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.213
    committer: kevin.lewis@oracle.com
    branch nick: mysql-5.6
    timestamp: Wed 2014-01-22 17:17:45 -0600
    message:
      fix bad format specifier
------------------------------------------------------------
revno: 7326 [merge]
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Wed 2014-01-22 16:50:37 -0600
message:
  merge InnoDB compiler warning fixes from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.212
    committer: kevin.lewis@oracle.com
    branch nick: mysql-5.6
    timestamp: Wed 2014-01-22 16:31:23 -0600
    message:
      InnoDB compiler warning fixes for all Windows builds.
      This patch uses C++ style casts like static_cast<>().
      Approved in rb4338 by Vasil
------------------------------------------------------------
revno: 7325
committer: Gleb Shchepa <gleb.shchepa@oracle.com>
branch nick: bug18106058-trunk
timestamp: Thu 2014-01-23 00:08:01 +0400
message:
  Bug #18106058: RECENT REGRESSION: CRASH IN JOIN::MAKE_TMP_TABLES_INFO
  
  The fix for 17426017 has extended the table-less SELECT syntax
  to make it more compatible with a regular SELECT syntax:
  both "SELECT ... FROM DUAL" and FROM-less SELECT now can have
  "GROUP BY" and "HAVING" clauses (with an exception: top-level
  FROM-less SELECT queries still cannot have these two clauses).
  
  However, that syntax generalization has enabled some new code 
  execution paths where the special implementation of table-less
  SELECT is not ready for HAVING/GROUP BY clause processing.
  
  This bugreport discovers issues of table-less statements
  with HAVING/GROUP BY clauses and references to materialized
  subqueries.
  
  The bugfix takes into account the unusual implementation of
  the table-less SELECT: the JOIN::join_tab pointer is empty
  there.
------------------------------------------------------------
revno: 7324
committer: Gleb Shchepa <gleb.shchepa@oracle.com>
branch nick: bug18106014-trunk
timestamp: Wed 2014-01-22 23:42:39 +0400
message:
  Bug #18106014: RECENT REGRESSION: MORE CASES OF ASSERTION
  FAILED: !JOIN->PLAN_IS_CONST()
  
  The fix for 17426017 has extended the table-less SELECT syntax
  to make it more compatible with a regular SELECT syntax:
  both "SELECT ... FROM DUAL" and FROM-less SELECT now can have
  "GROUP BY" and "HAVING" clauses (with an exception: top-level
  FROM-less SELECT queries still cannot have these two clauses).
  
  However, that syntax generalization has enabled some new code 
  execution paths where the special implementation of table-less
  SELECT is not ready for HAVING/GROUP BY clause processing.
  
  This bugreport discovers issues of table-less statements
  with HAVING/GROUP BY clauses and references to aggregate
  functions.
  
  The bugfix takes into account the unusual implementation of
  the table-less SELECT: the JOIN::join_tab pointer is empty
  there.
------------------------------------------------------------
revno: 7323
committer: Narendra Chauhan <narendra.chauhan@oracle.com>
branch nick: latest-trunk
timestamp: Thu 2014-01-23 00:31:20 +0530
message:
  WL#6921: Migrate rpl suite to run with innodb engine
------------------------------------------------------------
revno: 7322
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Wed 2014-01-22 15:53:32 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #11
  Remove some initializations in mysiam.
  Originally written for purify, no longer needed in the current codebase and valgrind tests.
------------------------------------------------------------
revno: 7321
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-review
timestamp: Wed 2014-01-22 11:06:41 +0100
message:
  Bug#18110355 PATCH FOR BUG#13994567 DID NOT COVER PLUGINS WITH .SO EXTENSION ON MAC
  
  Reuse solution for other platforms in the special apple branch of the code:
  #if defined(__APPLE__)
      /* Apple supports plugins with .so also, so try this as well */
------------------------------------------------------------
revno: 7320 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-22 14:30:50 +0530
message:
  Null merge from mysql-5.6 to mysql-5.7.  Updated test files.
    ------------------------------------------------------------
    revno: 3902.291.211
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2014-01-22 14:27:29 +0530
    message:
      Bug#17320977 FAILING ASSERTION: LOCK_REC_HAS_TO_WAIT_IN_QUEUE(LOCK)
      
      Problem:
      
      The function row_vers_impl_x_locked_low() wrongly identifies a transaction to
      hold an implicit x lock on a secondary index, which is orphaned.  Orphaned
      means that the secondary index is delete marked and purgeable and does not have
      its associated clustered index record.  
      
      Solution:
      
      Added an extra check in row_vers_impl_x_locked_low() to detect this situation
      and confirm that the transaction does not hold an implicit x lock on the
      record.  The flag LOCK_CONV_BY_OTHER is not needed anymore.  This is removed. 
      
      rb#3982 approved by Marko. 
------------------------------------------------------------
revno: 7319
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-22 12:03:56 +0530
message:
  Bug #17320977 FAILING ASSERTION: LOCK_REC_HAS_TO_WAIT_IN_QUEUE(LOCK)
  
  Problem #1:
  
  The function row_vers_impl_x_locked_low() wrongly identifies a transaction to
  hold an implicit x lock on a secondary index, which is orphaned.  Orphaned
  means that the secondary index is delete marked and purgeable and does not have
  its associated clustered index record.  
  
  Solution #1:
  
  Added an extra check in row_vers_impl_x_locked_low() to detect this situation
  and confirm that the transaction does not hold an implicit x lock on the
  record.
  
  Problem #2:
  
  The active transaction was removed from trx_sys->rw_trx_set prematurely.
  
  Solution #2:
  
  The trx was removed from trx_sys->rw_trx_set only after the trx state change
  and release of all trx locks.
  
  rb#4291 approved by Marko, Yasufumi, Sunny.
------------------------------------------------------------
revno: 7318
committer: Sneha Modi <sneha.modi@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-22 11:50:54 +0530
message:
  Fixing explain diff by adding analyze table to make the output stable.
------------------------------------------------------------
revno: 7317 [merge]
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug18021493_mysql-trunk
timestamp: Wed 2014-01-22 11:39:49 +0530
message:
  Merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.210
    committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
    branch nick: Bug18021493_mysql-5.6
    timestamp: Wed 2014-01-22 11:08:12 +0530
    message:
      Bug#18021493: PLEASE BACKPORT FIX FOR 15909788 TO 5.6
      
      Description:
      ------------
      Please backport this bugfix to 5.6.  Running out of tmpdir space can cripple
      a server.
      
      Bug 15909788 - TEMPORARY FILES CREATED BY BINARY LOG CACHE ARE NOT PURGED
      AFTER TRANSACTION COM.
------------------------------------------------------------
revno: 7316
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Tue 2014-01-21 21:24:30 -0600
message:
  Follow up to wl7342 which refactored the tablespace class
  in InnoDB.  There were some regressions in the embedded
  runs of pushbuild.  Most were unforseen changes in the 
  testcases.  But there was one issure in the way InnoDB
  converted a filepath to lower case on Windows.  The solution
  is to store the filepath with the case provided and compare
  to other filepaths as case insensitive if 
  lower_case_table_names is not 0.
------------------------------------------------------------
revno: 7315
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Tue 2014-01-21 13:48:39 +0100
message:
  Bug#18082702 LIBMYSQLD.A KEEPS ON GROWING AND GROWING AND GROWING AND ....
  
  Remove duplicates when merging several libraries into one.
  Initialize MYSQLD_STATIC_EMBEDDED_PLUGIN_LIBS before CONFIGURE_PLUGINS()
------------------------------------------------------------
revno: 7314
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: bug18082139
timestamp: Tue 2014-01-21 17:30:18 +0530
message:
  Bug#18082139 EXTRA SPACE IN URL IN INNODB
  Problem: There are space between REFMAN and the page string in output msg.
    Example: 
    InnoDB: Some operating system error numbers are described at
    http://dev.mysql.com/doc/refman/5.7/en/ operating-system-error-codes.html 
    
  Fixed: Remove these extra space, after REFMAN literal.
    Correct output:
    InnoDB: Some operating system error numbers are described at
    http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.html
    
  Approved by Kevin, Vasil, Mattiasj (rb#4363).
------------------------------------------------------------
revno: 7313
committer: Sneha Modi <sneha.modi@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-21 17:16:03 +0530
message:
  Fixing an explain result diff by adding analyze table statement.
------------------------------------------------------------
revno: 7312
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-21 13:12:09 +0200
message:
  Bug#18080537 REMOVE UNIV_LOG_DEBUG FROM INNODB CODE
  
  Remove the preprocessor symbol UNIV_LOG_DEBUG. At some point, it was
  used for checking that InnoDB is properly generating redo log
  records. This option always broke the redo logging, so it would only
  be useful in special test scenarios that do not involve killing the
  server.
  
  It could be that UNIV_LOG_DEBUG does not work with recent features,
  such as compression. Keeping it and never using it for testing is just
  cluttering the code.
  
  recv_scan_log_recs(), recv_parse_log_recs(): Remove the constant
  parameter store_to_hash=TRUE.
  
  rb#4408 approved by Jimmy Yang, Vasil Dimov
------------------------------------------------------------
revno: 7311 [merge]
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-push
timestamp: Tue 2014-01-21 12:51:21 +0100
message:
  Merge mysql-5.6 --> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.209 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-5.6-push
    timestamp: Tue 2014-01-21 12:47:50 +0100
    message:
      Merge bug fix to mysql-5.6
        ------------------------------------------------------------
        revno: 3902.309.1
        committer: Marc Alff <marc.alff@oracle.com>
        branch nick: mysql-5.6-bug18047865
        timestamp: Fri 2014-01-17 16:50:22 +0100
        message:
          Bug#18047865 UNDERSIZED MAX-THREAD-INSTANCES CAUSE OVERHEAD IN 5.6 OR CRASH IN
          5.7
          
          When tables are re opened from the table cache,
          and when the current thread is not instrumented
          for the performance schema, the following happens:
          
          - In 5.7, the code crash, while attempting to populate
          column OWNER_THREAD_ID in table performance_schema.table_handles
          
          - In 5.6, the code instruments a table handle when not necessary,
          causing performance degradations.
          
          The fix is to never instrument table handles,
          when re opening a table from the table cache
          from a non instrumented thread.
------------------------------------------------------------
revno: 7310
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Tue 2014-01-21 10:52:58 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #10
  In ha_ndbcluster.cc: s/HAVE_purify/HAVE_VALGRIND/
  In opt_range.cc: Enable ifdef'ed code only for ndbcluster.
------------------------------------------------------------
revno: 7309
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-cmake
timestamp: Tue 2014-01-21 10:34:03 +0100
message:
  Bug#18102839 MYSQL_CONFIG SHOULD NOT REPORT EMBEDDED LIBS IF CONFIGURED WITHOUT_SERVER=1
------------------------------------------------------------
revno: 7308
committer: Neeraj Bisht <neeraj.x.bisht@oracle.com>
branch nick: trunk
timestamp: Tue 2014-01-21 11:18:53 +0530
message:
  Bug#16767011 - ROW INCORRECTLY NOT UPDATED BY MULTI-TABLE UPDATE
  		--corrected test failure(opt_trace.general_ps_prot_all,
  			opt_trace.general_ps_prot_none)
------------------------------------------------------------
revno: 7307 [merge]
committer: Gleb Shchepa <gleb.shchepa@oracle.com>
branch nick: trunk
timestamp: Mon 2014-01-20 22:48:54 +0400
message:
  auto-merge  bugfixes for 17727401, 17426017,  17473479 and 17703542 from a local tree
    ------------------------------------------------------------
    revno: 7304.1.2
    committer: Gleb Shchepa <gleb.shchepa@oracle.com>
    branch nick: trunk-bug17426017
    timestamp: Mon 2014-01-20 20:55:09 +0400
    message:
      Bug #17727401, Bug #17426017, Bug #17473479: The server accepts wrong syntax
      and then fails in different ways.
      Bug #17703542: TWO SHIFT REDUCE CONFLICTS IN FROM DUAL
      
      Part 2/2: the fix.
      
      The parser silently accepted duplicate ORDER BY clauses and/or LIMIT clauses
      before ORDER BY clauses in subqueries, for example:
      
         ... EXISTS(SELECT * ORDER BY ... ORDER BY ...)
      
      or
      
         ... EXISTS(SELECT * LIMIT ... ORDER BY ...)
      
      That caused various failures in the query executor.
      
      The root cause of the problem was the rule opt_union_order_or_limit
      non-terminal in the query_expression_body rule's right hand sides:
      
      query_expression_body:
                query_specification opt_union_order_or_limit
              | query_expression_body UNION_SYM union_option 
                query_specification opt_union_order_or_limit
              ;
      
      and in the query_specification rule that also produced additional ORDER BY and
      LIMIT clauses.
      
      Visible changes:
      
      * We don't accept the LIMIT clause before the ORDER BY clause any more.
      
      * We don't accept the LIMIT clause in parentheses-less SELECTs before the UNION
        keyword.
      
      * We don't accept the INTO clause after the PROCEDURE ANALYSE clause.
      
      Details:
      
      * To fix the wrong syntax rules, the references to ORDER BY and LIMIT clauses
        have been removed from select_from (that was referenced by the
        query_specification rule) and query_expression_body rules.
        The select_from has been decomposed into several separate sub-rules for a
        simpler maintenance.
        The opt_union_order_or_limit non-terminal has been pushed down into the
        query_specification rule to replace ORDER BY and LIMIT handler rules
        in the former select_from rule.
      
      * Also, the FROM DUAL clause syntax has been made uniform with a regular
        FROM <table> syntax.
      
      * Minor bug has been fixed: the parser accepted a wrong syntax:
      
          SELECT ... PROCEDURE ANALYSE() ... INTO;
      
      * Minor bug has been fixed: the parser accepted a wrong syntax:
      
          SELECT ... LIMIT ... UNION ...;
      
      * 4 shift/reduce conflicts have been eliminated from the grammar.
    ------------------------------------------------------------
    revno: 7304.1.1
    committer: Gleb Shchepa <gleb.shchepa@oracle.com>
    branch nick: trunk-bug17426017
    timestamp: Mon 2014-01-20 20:49:49 +0400
    message:
      Bug #17727401, Bug #17426017, Bug #17473479: The server accepts wrong syntax
      and then fails in different ways.
      
      Part 1/2: a preliminary patch.
      
      1. A few grammar rules have been renamed:
      
      * select_lock_type --> opt_select_lock_type,
      * where_clause --> opt_where_clause,
      * having_clause --> opt_having_clause,
      * group_clause --> opt_group_clause,
      * procedure_analyse_clause --> opt_procedure_analyse_clause.
      
      2. The opt_limit_clause_init has been removed and replaced with opt_limit_clause, since both rules were identical.
------------------------------------------------------------
revno: 7306
committer: Sven Sandberg <sven.sandberg@oracle.com>
branch nick: trunk-push
timestamp: Mon 2014-01-20 17:28:44 +0100
message:
  BUG#17813449 post-merge fixes
  Problem 1:
  The patch for BUG#17813449 introduced a new point where the SQL
  thread sets GTID_NEXT. Before, the SQL thread only set GTID_NEXT
  in Gtid_log_event::do_apply_event. Now, it additionally sets
  GTID_NEXT in rpl_pre_statement_checks, when processing a relay log
  from an old master that does not generate any Gtid events at all.
  When setting GTID_NEXT for a slave thread, in 5.7 we also have to
  copy the GTID to Slave_worker::currently_executing_gtid, so that
  PERFORMANCE_SCHEMA.REPLICATION_EXECUTE_STATUS_BY_WORKER can read
  it. This copying was missing in the first patch for the bug
  because the patch was based on 5.6.
  Fix 1:
  Factor out the code for copying the GTID to
  THD::set_currently_executing_gtid_for_slave_thread and call it from
  both places.
  Problem 2:
  PERFORMANCE_SCHEMA.REPLICATION_EXECUTE_STATUS_BY_WORKER would
  set the GTID wrong in corner cases:
  - It assumes that the last executing transaction is ANONYMOUS
    just because gtid_mode=OFF. This is not necessarily true,
    we have to check the actual transaction type.
  - If gtid_mode=off, it shows that the last executing transaction
    is 'ANONYMOUS' even if no transaction has been executed. It
    should show '' in this case.
  Fix 2:
  - Change type of currently_executing_transaction from Gtid to
    Gtid_specification, so that it can contain an anonymous
    transaction.
  - Correct the logic in
    table_replication_execute_status_by_worker::make_row
------------------------------------------------------------
revno: 7305 [merge]
committer: Sven Sandberg <sven.sandberg@oracle.com>
branch nick: trunk-push
timestamp: Mon 2014-01-20 16:57:17 +0100
message:
  merged BUG#17827018 and BUG#17813449 from 5.6 to trunk
    ------------------------------------------------------------
    revno: 3902.308.1
    committer: Sven Sandberg <sven.sandberg@oracle.com>
    branch nick: 5.6
    timestamp: Fri 2013-12-20 12:28:17 +0100
    message:
      BUG#17827018: SLAVE WITH GTID_MODE=OFF LOSES GTID OF GTID-TRANSACTION IN RELAY LOG
      BUG#17813449: SLAVE WITH GTID_MODE=ON GENERATES A GTID FOR ANONYMOUS TRANSACTIONS IN RELAY LOG
      
      Background:
      In replication, all transactions that have a GTID are supposed to be
      replicated with the same GTID, and all transactions that don't have a
      GTID are supposed to be replicated without a GTID. If the current
      GTID_MODE prevents preserving GTIDs or non-GTIDs in this way, an error
      should be generated.
      
      Problem 1:
      If a transaction was replicated to the slave and stored in the relay
      log but not executed, and then the slave was restarted with the
      opposite GTID_MODE, then the transaction would be executed and
      assigned a wrong GTID:
       1.1. (BUG#17813449) If the transaction was anonymous and the slave
            changed from GTID_MODE=OFF to ON, then a new GTID was generated
            for the transactions.
       1.2. (BUG#17827018) If the transaction was a GTID-transaction and the
            slave changed from GTID_MODE=ON to OFF, then the transaction
            would lose its GTID.  If the slave was built in debug-mode, an
            assertion was raised.
      The correct behavior in both cases is to generate an error and not
      execute the transaction.
      
      Problem 2:
      The server would generate an error message when it started with
      gtid_mode=off and there exists GTIDs in some old binary log.
      
      Problem 3:
      Gtid_log_event::do_apply_event did not check if the event was an
      Anonymous_gtid_log_event. So an Anonymous_gtid_log_event would be
      applied like a Gtid_log_event and thus it would set a wrong gtid on
      the transaction.
      
      Problem 4:
      Implicit commits inside a transaction is disallowed in
      GTID-transactions, and generate an error.  However, the check for this
      was too strong: it generated an error also if
      gtid_mode='anonymous'. That will cause replication errors in NEW->OLD
      once the server generates Anonymous_gtid_log_events.
      
      Fix 1.1:
      The slave applier thread has to use gtid_next=anonymous when it
      executes transactions from an old relay log. However, the slave only
      knows that it executes an old relay log by the absence of
      Gtid_log_event before a transaction. So the solution is:
       1.1.1. Set thd->variables.gtid_next.type to the new value
              NOT_YET_DETERMINED_GROUP when executing a
              Format_description_log_event originating from another server,
              and:
               1.1.1.1. In Gtid_log_event::do_apply_event, silently convert
                        this value to the correct GTID (this gets executed
                        for relay logs generated with GTID_MODE=ON).
                        Generate an error if gtid_mode=off.
               1.1.1.2. In gtid_pre_statement_checks, silently convert this
                        value to ANONYMOUS (this gets executed for relay
                        logs generated with GTID_MODE=OFF).  Generate an
                        error if gtid_mode=on. (This error fixes the bug.)
       1.1.2. Setting NOT_YET_DETERMINED_GROUP must be done both for
              parallel slave workers and for the legacy SQL thread; thus
              both in rpl_rli.cc and rpl_rli_pdb.h.
       1.1.3. In order for the NOT_YET_DETERMINED_GROUP flag to be correctly
              converted to ANONYMOUS_GROUP in RBR, we need to call
              gtid_pre_statement_checks for row events even if opt_bin_log
              is off.
       1.1.4. The change in row events would generate an assertion for
              setting the diagnostics area twice, because
              gtid_pre_statement_checks was called before
              mysql_reset_thd_for_next_command. Thus, we move the call
              to gtid_pre_statement_checks to just after
              mysql_reset_thd_for_next_command in
              Rows_log_event::do_apply_event
       1.1.5. When using mysqlbinlog --skip-gtids, the user expects a client
              that replays the output to generate new GTIDs. However, with
              this change, the client is 'too smart'; when it processes the
              Format_description_log_event it sets gtid_next to
              NOT_YET_DETERMINED, and later when it executes a statement
              without having seen any GTID (as the GTIDs are filtered out by
              --skip-gtids), it will force the transaction to be
              anonymous. So when --skip-gtids is given, mysqlbinlog now
              prints a SET GTID_NEXT='AUTOMATIC' statement, just after the
              BINLOG base64 statement.
      
      Fix 1.2:
       1.2.1. Remove the assertion: It is perfectly possible that the
              applier thread reads a Gtid_log_event when gtid_mode is not
              off.
       1.2.2. Add a check to ensure error is generated when trying to
              execute a Gtid_log_event when gtid_mode=off.
      
      Fix 2:
      This error message should never be generated, so just remove it.
      
      Fix 3:
      In Gtid_log_event::do_apply_event, check if
      spec.type==ANONYMOUS_GROUP, if yes set gtid_next='anonymous'. If
      gtid_mode=on, generate an error.
      
      Fix 4:
      Generate error only if gtid_next is a GTID.
------------------------------------------------------------
revno: 7304
committer: Neeraj Bisht <neeraj.x.bisht@oracle.com>
branch nick: trunk
timestamp: Mon 2014-01-20 20:11:45 +0530
message:
  Bug#16767011 - ROW INCORRECTLY NOT UPDATED BY MULTI-TABLE UPDATE
  
  Problem:-
  Multiple table updates do not update under certain conditions. 
  
  Analysis:
  In our multi update query, with join order a*b*c. We will select 
  first join table (which is 'a' here, which here I am calling as
  main-table) as the table to be updated at the time of fetching, 
  on the basis of some condition(which is checked in 
  safe_update_on_fly()) and for all other table we make temporary tables.
  
  
  In this bug, when one of the field of main-table is 
  going to be updated and that field is in where condition, 
  with some other field will cause incorrect result.
  
  For example:
  CREATE TABLE t1 (c1 INTEGER , c2 INTEGER );
  CREATE TABLE t2 (c1 INTEGER , c2 INTEGER);
  INSERT INTO t1 VALUES(1,1),(1,4),(1,5);
  INSERT INTO t2 VALUES(11,1),(13,1),(15,1);
  UPDATE t1 JOIN t2
  SET 
  t1.c1=30, 
  t2.c2=40
  WHERE t1.c1=t2.c2 ;
  
  here first, we fetch the value of t1(1,1) and then the value of 
  t2(11,1) and compare it. If it matches we change the value of t1 
  from (1,1) to (1,30) and for t2 we will change the value in 
  temp_table(11,40). Later when we fetch the value of t2 
  again(that is 13,1) and compare to t1(that is 1,30).it doesn't 
  match, so we can't update it.
  
  So,
  SELECT * FROM t2;
  c1	c2
  11	40
  13	1	<--value doesn't change
  
  Solution:-
  In safe_update_on_fly(), check if any field of main-tables is going 
  to be updated and that field is in where condition with any other 
  field in where clause, don't use that table as a main table and make 
  a temporary table for it.
------------------------------------------------------------
revno: 7303
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-cleanup
timestamp: Mon 2014-01-20 11:34:13 +0100
message:
  remove orphan -master.opt file
------------------------------------------------------------
revno: 7302
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Mon 2014-01-20 08:45:34 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #9
  In read_fixed_length: Do not initialize read_info.row_end.
------------------------------------------------------------
revno: 7301 [merge]
committer: Neeraj Bisht <neeraj.x.bisht@oracle.com>
branch nick: trunk
timestamp: Mon 2014-01-20 11:24:06 +0530
message:
  Bug#17634335 - SELECT DISTINCT...GROUP BY RETURNS WRONG RESULTS IN SOME CASES
  	--Merge fix from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.208
    committer: Neeraj Bisht <neeraj.x.bisht@oracle.com>
    branch nick: 5.6
    timestamp: Mon 2014-01-20 11:16:39 +0530
    message:
      Bug#17634335 - SELECT DISTINCT...GROUP BY RETURNS WRONG RESULTS IN SOME CASES
      
      Problem:
      Query creating temporary table to find the distinct value and have 
      constant value in projected list doesn't give correct value.
      
      Analysis:
      
      When we have to find the distinct value in our record,
      We will call JOIN_TAB::remove_duplicates().
      To find the position of the item, from which we have to find the 
      distinct value, we will use this 
      -->Number of item in the table - number of non-constant items of the select list.
      
      so in the case like
      SELECT DISTINCT a, b
      FROM (SELECT * FROM foo ORDER BY a, b) AS f
      GROUP BY a,c;
      
      
      The fields of the temporary table will be c, a, b in that order
      (as first it is considering the item that are not in the select 
      list, then select list distinct item).  
      That is, the number of items in the list will be 3.
      The number of items in the select list which are not constant will be 
      2(a,b).
      so 3-2=1, that's why we will considered items a, b to find the distinct values.
      
      In the case of bug we have 
      
      SELECT DISTINCT a, b, 0 as d
      FROM (SELECT * FROM foo ORDER BY a, b) AS f
      GROUP BY a,c;
      
      Resulting in
      4(Number of item in the table that is (c,a,b,0)) - 2(number of non-constant items of the select list that is (a,b))
      which is equal to 2, So we start our distinct from b instead of a, which result 
      in incorrect result.
      
      SOLUTION:
      Instead of doing, Number of item in the table - Number of item in the projected 
      list which are not constant.
      Do Number of item in the table - Number of item in the select list. Then we will get the 
      correct point, from which we have to find the distinct item.
------------------------------------------------------------
revno: 7300
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Sat 2014-01-18 17:59:51 +0900
message:
  Bug#17666170 : BTR_PCUR_RESTORE_POSITION CAN TRY OPTIMISTIC RESTORATION FOR BACKWARD CURSOR
  
  btr_pcur_restore_position_func() can try optimistic restoration also for backward cursor.
  (can skip tree search from root block)
  This is optimization for btr_pcur_move_backward_from_page() performance.
  
  Approved by Marko M?kel?, Mattias Jonsson in rb#3841
------------------------------------------------------------
revno: 7299
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Fri 2014-01-17 14:06:48 -0600
message:
  WL7342 - Refactor the Tablespace class for WL#6205
  
  The Tablespace class was created for the Temporary Tablespace and is
  used to refer to the two system tablespaces; innobase_data_file
  (IBDATA1 and innobase_temp_data_file (IBTMP1).
  This patch refactors that class into three classes;  Datafile,
  Tablespace, and SysTablespace.  Tablespace is made into a base class
  for SysTablespace.  
  
  These classes are moved from;
    srv/srv0space.cc
    include/srv0space.h
  to;
    fsp/fsp0space.cc 
    fsp/fsp0sysspace.cc
    include/fsp0space.h
    include/fsp0sysspace.h
    include/fsp0file.h.
  
  This patch is a convenient way to collect all the non-functional
  changes in wl7342 so that they can be reviewed and pushed separately.
  There are no function changes, just code reorganization and cleanup.
  As part of the review process other non-functional improvements were
  made here including handling out-of-memory situations if ut_malloc()
  were to return NULL instead of asserting after 60 tries like it does
  now.  Several functions that make a filename were consolidated into
  fil_make_filepath() and a unit test is created for it.  Several test
  cases are cleaned up and new messages are suppressed.
  
  Approved by Sunny in RB#2974
------------------------------------------------------------
revno: 7298 [merge]
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-17 21:06:45 +0200
message:
  Merge mysql-5.6 -> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.207
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-01-17 20:58:35 +0200
    message:
      Followup to
      thirunarayanan.balathandayuth@oracle.com-20140117043021-02qex25bae6ac1ew :
      add a comment explaining why we sort by index name when saving stats.
------------------------------------------------------------
revno: 7297
committer: Dmitry Lenev <Dmitry.Lenev@oracle.com>
branch nick: mysql-trunk-wl7305-asan
timestamp: Fri 2014-01-17 20:19:06 +0400
message:
  Follow-up patch for WL#7305 "Improve MDL scalability by using
  lock-free hash".
  
  Patch for WL#7305 caused AddressSanitizer errors in some of MTR
  tests when they were run against embedded server and in one of 
  unit tests for MDL subsystem. 
  
  These errors were caused by the fact that we tried to call
  MDL_context::destroy() method from thread different than one
  which has used MDL_context. After WL#7305 has been implemented 
  this became unsafe since now MDL_context has LF_PINS object
  associated with it and LF_PINS is not transferable between threads. 
  (This also means that one can get problems in other scenarios
  when MDL_context is transferred between threads, for example,
  with thread pool).
  
  This patch solves the problem by making LF_PINS transferable
  between threads. This can be easily achieved because the only
  thing which links LF_PINS to physical thread is contents of 
  LF_PINS::stack_ends_here member and this member can be removed 
  since the same data is available through my_thread_var
  thread-specific variable. Overhead of accessing to thread-specific
  variable should be negligible in this case since scenario in which
  stack_ends_here is used already involves fairly expensive operation - 
  accessing pins belonging to all threads.
------------------------------------------------------------
revno: 7296 [merge]
committer: Venkata Sidagam <venkata.sidagam@oracle.com>
branch nick: trunk
timestamp: Fri 2014-01-17 21:00:33 +0530
message:
  Bug #17930339 SEGMENTATION FAULT IN AUDIT_LOG PLUGIN
  
  Merging from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.206
    committer: Venkata Sidagam <venkata.sidagam@oracle.com>
    branch nick: 5.6
    timestamp: Fri 2014-01-17 20:41:36 +0530
    message:
      Bug #17930339 SEGMENTATION FAULT IN AUDIT_LOG PLUGIN
      
      Description: Segmentation fault in audit_log plugin, when
      there is too many operations happening by multiple connections.
      
      Analysis: When the audit_log file reaches its
      'AUDIT_LOG_ROTATE_ON_SIZE' size limit, it will call 
      alog_reopen() to open new audit log file. There it will get                  
      current date and time into 'alog->open_time' through get_date()
      with out taking the lock on that object. At the same time the 
      'open_time' is modified by begin_audit_record() through other 
      connection.  Which leads to have 'T' after the date field in 
      the 'open_time'. The first connection get_date() calls strend() 
      to point to some garbage location, because letter 'T' is    
      overriden(by 2nd connection) the 'NULL' location which is added 
      by sprintf() before strend() in get_date().
      
      Fix: As part of fix we have copied the 'out' buffer pointer into 
      a variable and protected alog->open_time while reading into out buffer 
      with 'ctrl->LOCK_reopen' and updated the 'out' buffer with 'T' 
      after getting the log open time into the buffer.
------------------------------------------------------------
revno: 7295
committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-17 10:21:52 +0530
message:
  Bug #17323202    CREATE TABLE IS SLOWER IN 5.6
  
  	Adding the test case.
------------------------------------------------------------
revno: 7294 [merge]
committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-17 10:06:05 +0530
message:
  Bug #17323202    CREATE TABLE IS SLOWER IN 5.6
  
  	Merge from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.205
    committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
    branch nick: test-5.6
    timestamp: Fri 2014-01-17 10:00:21 +0530
    message:
      Bug #17323202	 CREATE TABLE IS SLOWER IN 5.6
      
      Analysis:
      ========
      While creating a table, there will be minimum of 3 inserts
      in innodb_index_stats table. Instead of committing for each
      insert separately , we can commit for a innodb_index_stats table
      as a whole. This will make creation of table faster.
      
      	Approved by Jimmy [rb#4220] 
------------------------------------------------------------
revno: 7293 [merge]
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Thu 2014-01-16 15:13:37 -0600
message:
  Merge Bug#18057449 from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.204
    committer: kevin.lewis@oracle.com
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-16 14:48:03 -0600
    message:
      Bug#18057449
        -MYSQL-5.6 AND MYSQL-TRUNK DOES NOT BUILD FROM SOURCES ON VS2008
      
      Visual Studio 2008 needs aupports InterlockedExchangeAdd() but does not
      support _InterlockedExchangeAdd().  This call is also supported on
      VS2010, vs2012 & vs2013.
------------------------------------------------------------
revno: 7292
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Thu 2014-01-16 14:32:22 -0600
message:
  Testcase for Bug#18063570
  By ading a restart after the SHOW CREATE TABLEs and the DROP TABLEs
  in this testcase, the assert in this bug shows up without the fix
  pushed previously, and runs cleanly with that fix.
------------------------------------------------------------
revno: 7291 [merge]
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Thu 2014-01-16 18:03:13 +0100
message:
  merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.203 [merge]
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.6-merge
    timestamp: Thu 2014-01-16 18:01:53 +0100
    message:
      merge 5.5 => 5.6
        ------------------------------------------------------------
        revno: 2875.545.119
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.5-review
        timestamp: Thu 2014-01-16 18:01:06 +0100
        message:
          Bug#16316074 RFE: MAKE TMPDIR A BUILD-TIME CONFIGURABLE OPTION
          Bug#68338    RFE: make tmpdir a build-time configurable option
          
          Post-push fix: windows needs DEFAULT_TMPDIR as well.
------------------------------------------------------------
revno: 7290
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-bug14298560
timestamp: Thu 2014-01-16 17:17:25 +0100
message:
  Bug#14298560: DOCUMENTATION FOR SOURCE CONFIGURATION SHOULD LIST COMPLIATION_COMMENT
  
  Change configure.pl so that it uses the correct CMake optin COMPILATION_COMMENT
  and not the outdated WITH_COMMENT.
------------------------------------------------------------
revno: 7289
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Thu 2014-01-16 17:13:22 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #8
  In open_table_from_share: do not initialize these bitmaps to zero:
  outparam->def_read_set outparam->def_write_set outparam->tmp_set
------------------------------------------------------------
revno: 7288 [merge]
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Thu 2014-01-16 16:35:58 +0100
message:
  merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.202 [merge]
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.6-merge
    timestamp: Thu 2014-01-16 16:23:43 +0100
    message:
      merge 5.5 => 5.6
        ------------------------------------------------------------
        revno: 2875.545.118
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.5-review
        timestamp: Thu 2014-01-16 15:43:29 +0100
        message:
          Bug#16316074 RFE: MAKE TMPDIR A BUILD-TIME CONFIGURABLE OPTION
          Bug#68338    RFE: make tmpdir a build-time configurable option
          
          Post-push fix: 'cmake -LH | grep TMP' showed TMPDIR as a BOOL option,
          which was a bit confusing: show it as a PATH instead.
------------------------------------------------------------
revno: 7287 [merge]
committer: Marko M?kel? <marko.makela@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-16 13:10:28 +0200
message:
  Merge mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.201
    committer: Marko M?kel? <marko.makela@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-16 12:50:49 +0200
    message:
      Bug#17661919 ASSERT 0 IN ROW_LOG_TABLE_APPLY_UPDATE(),
      ALTER TABLE REBUILD WITH BLOBS
      
      There is a problem with the table-rebuilding variant of
      online ALTER TABLE when there is concurrent DML of the form:
      
      BEGIN;
      INSERT INTO t SET blob_column='old_value';
      UPDATE t SET blob_column='new_value';
      ROLLBACK;
      
      The ROLLBACK would perform the equivalent of purging the INSERT.
      This would generate the following log records:
      
      ROW_T_INSERT
      ROW_T_UPDATE
      ROW_T_UPDATE -- for the ROLLBACK of the UPDATE
      ROW_T_DELETE -- for the ROLLBACK of the INSERT
      
      (The BLOB 'new_value' for the UPDATE would not be purged before the
      transaction performing the online ALTER TABLE has been committed or
      rolled back, because the purge cannot touch rows that are visible in
      the read view of any active transaction.)
      
      Another important consideration is the purge of BLOBs that were made
      purgeable by a committing an UPDATE or DELETE operation. While it is
      true that online ALTER TABLE will acquire an exclusive table lock
      during the preparation phase, it is possible that some transactions
      were started before the ALTER TABLE, and these transactions did not
      access the table yet. So, we can have concurrent DML like this:
      
      -- BEGIN was before the ALTER TABLE started.
      -- The transaction did not access the table until this
      -- (otherwise there would have been a MDL conflict with the ALTER):
      DELETE FROM t WHERE id=42; -- first access to this table
      INSERT INTO t VALUES(101,'old value');
      UPDATE t SET blob_column='new value' WHERE id=101;
      COMMIT;
      
      This would generate the following log records:
      
      ROW_T_DELETE
      ROW_T_INSERT
      ROW_T_UPDATE
      [purge does not generate log, it only updates log->blobs]
      
      The ROW_T_DELETE is not a problem, because it will include enough BLOB
      prefixes to identify records if needed. Only ROW_T_INSERT or
      ROW_T_UPDATE may suffer from missing BLOBs.
      
      If we skip the ROW_T_INSERT because of the purged 'old value', we must
      interpret the ROW_T_UPDATE as ROW_T_INSERT of (101,'new value'). But,
      we must do this in a way that is compatible with the above ROLLBACK
      scenario.
      
      When processing ROW_T_INSERT or ROW_T_UPDATE such that the BLOBs are
      missing, we can conclude that the BLOBs were removed due to one of:
      
      (1) a later ROLLBACK of an INSERT (there will be ROW_T_DELETE)
      (2) running purge for DELETE;COMMIT; (there will be ROW_T_DELETE)
      (3) running purge for UPDATE;COMMIT; (there will be ROW_T_UPDATE)
      
      Thus, we can anticipate that there would be a ROW_T_DELETE for
      removing the record or a ROW_T_UPDATE for replacing the record. So, we
      can safely ignore the ROW_T_INSERT operation, or we can interpret the
      ROW_T_UPDATE as ROW_T_DELETE when some BLOBs for the 'after' image are
      missing.
      
      When processing ROW_T_UPDATE or ROW_T_DELETE, we must make sure that
      the record exists and (in case we are executing ADD PRIMARY KEY) it is
      stamped with the same DB_TRX_ID,DB_ROLL_PTR value that was logged in
      old_pk.
      
      If there is a DB_TRX_ID,DB_ROLL_PTR mismatch, it means that our record
      had already been deleted and we can safely ignore the ROW_T_DELETE or
      the 'delete' part of ROW_T_UPDATE. (The 'insert' part is executed if
      all BLOBs are present for the 'after' image.) In other words, we must
      implement 'replace' semantics for ROW_T_UPDATE.
      
      It is necessary to include the DB_ROLL_PTR in the check, in case a
      concurrent DML transaction temporarily violates PRIMARY KEY that would
      exist as a result of the ALTER TABLE. The duplicate could go
      undetected when a missing BLOB causes a ROW_T_INSERT to be skipped or
      ROW_T_UPDATE to be interpreted as ROW_T_DELETE. So, when applying
      ROW_T_DELETE or the 'delete' part of ROW_T_UPDATE, we must ensure that
      we are deleting the equivalent record as the one that was deleted as
      part of the concurrent DML operation.
      
      row_log_table_get_pk(): Copy the DB_TRX_ID, DB_ROLL_PTR from the
      B-tree page, instead of making the tuple point to the B-tree page.
      (There was a workaround for this bug in row_log_table_delete().)
      Add the output parameter "sys" for saving the system columns
      for a later row_log_table_delete() invocation.
      
      row_log_table_delete(): Remove the dfield_dup() call for working
      around the bug in row_log_table_get_pk(). Remove the parameter "purge"
      (assume that the BLOBs can always be eventually purged), and replace
      the parameter "trx_id" with "sys". Also log DB_ROLL_PTR.
      
      row_log_table_apply_convert_mrec(): When some BLOBs are missing,
      return an incomplete row and set the error to DB_MISSING_HISTORY.
      We used to return row=NULL.
      
      row_log_table_apply_insert(): Adapt the logic for the new behaviour of
      row_log_table_apply_convert_mrec(). Before and after this change,
      we will skip the insert if any BLOBs are missing.
      
      row_log_table_apply_delete(): Replace the parameter new_table with
      log, so that we can access "log" in a debug assertion. Add comments.
      Expect the log record to contain DB_ROLL_PTR as well.
      In case of DB_TRX_ID,DB_ROLL_PTR mismatch, assert that we are
      executing ADD PRIMARY KEY.
      
      row_log_table_apply_update(): Adapt the logic for the new behaviour of
      row_log_table_apply_convert_mrec(). If there are missing BLOBs,
      interpret the ROW_T_UPDATE as ROW_T_DELETE. Before modifying the data,
      check that the DB_TRX_ID,DB_ROLL_PTR are matching. Like with ROW_T_DELETE,
      a mismatch is only possible in the case of ADD PRIMARY KEY.
      
      row_undo_mod_clust_low(): Add the parameter "sys" for passing the system
      columns to row_log_table_delete().
      
      row_undo_mod_clust(): Pass "sys" to row_log_table_delete() as it was
      immediately before the update vector was applied.
      
      rb#4280 approved by Jimmy Yang
------------------------------------------------------------
revno: 7286 [merge]
committer: Namit Sharma<namit.sharma@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-16 13:24:16 +0530
message:
  WL#6922 - Migrate binlog suite to run with innodb storage engine
    ------------------------------------------------------------
    revno: 7276.1.1
    committer: Namit Sharma<namit.sharma@oracle.com>
    branch nick: mysql-trunk-wl6922
    timestamp: Wed 2014-01-15 15:22:25 +0530
    message:
      WL#6922 - Migrate binlog suite to run with innodb storage engine
------------------------------------------------------------
revno: 7285
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: trunk
timestamp: Thu 2014-01-16 10:21:23 +0530
message:
  Bug#18064548 SERVER CRASH FOR INSERT QUERY OF CORRUPTED TEMPORARY TABLE
  Two issue:
  a) If clustered index of temporary table is corrupted, we mark table as
     corrupted. But server crash for insert query, rather than throwing error.
  b) If clustered index of normal table is corrupted, we mark table as
     corrupted. But the insert query succeeded on such table, which is also
     wrong behavior. It must rather throw error.
  
  Fixed both issue:
   Return ERROR ER_TABLE_CORRUPT in row_insert_for_mysql() when 
   dict_table_is_corrupted(dict_table_t* table) is true.
  
  Approved by: Jimmy(rb#4320).
------------------------------------------------------------
revno: 7284 [merge]
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-16 11:35:02 +0900
message:
  Merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.200
    committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-16 11:34:22 +0900
    message:
      Bug#17980590 : RACE CONDITION BETWEEN PURGE COORDINATOR AND INNODB MONITOR CRASH ON SHUTDOWN
      
      lock_print_info_summary() should treat purge_sys->state==PURGE_STATE_EXIT case, instead of ut_error crash.
      Because it might be called after purge_thread exited.
      
      Approved by Sunny Bains in rb#4209
------------------------------------------------------------
revno: 7283 [merge]
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-16 11:31:25 +0900
message:
  Merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.199
    committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-16 11:30:03 +0900
    message:
      Bug#16495065 : SHUTDOWN HANG, WAITING FOR THE PURGE THREAD TO BE SUSPENDED
      
      When innodb_purge_stop_now is set, shoutdown might to be suspended.
      
      Approved by Sunny Bains in rb#4195
------------------------------------------------------------
revno: 7282
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Wed 2014-01-15 12:59:49 -0600
message:
  BUG#18063570 - MOVING TRANSPORTABLE TABLESPACE FILES CRASHES DROP TABLE
  
  The function dict_get_and_save_data_dir_path(table, true)
  contains a code path in which the flag HAS_DATA_DIR is left on with
  table->data_dir_path is still NULL.  The purpose of calling
  dict_get_and_save_data_dir_path() is to make them consistent.
  
  This change assures that after dict_get_and_save_data_dir_path() is
  called, the flag and the data_dir_path pointer agree with each other.
  
  In addition, there are 5 places, including the one Mattias found in
  his testing,  where dict_get_and_save_data_dir_path() is followed
  immediately by ut_a(table->data_dir_path);  Instead, each of these
  should move the call to dict_get_and_save_data_dir_path() before the
  check for the HAS_DATA_DIR flag.  If that is true, the assert should
  be true.
------------------------------------------------------------
revno: 7281
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-15 20:57:19 +0200
message:
  Update the copyright year in a comment.
------------------------------------------------------------
revno: 7280
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-asan
timestamp: Wed 2014-01-15 16:43:41 +0100
message:
  Bug#18074660 MAKE IT POSSIBLE FOR MTR TESTS TO BE SKIPPED IN ASAN RUNS
  
  Post-push fix: enable "experimental" tests.
------------------------------------------------------------
revno: 7279
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-asan
timestamp: Wed 2014-01-15 16:20:21 +0100
message:
  Bug#18074660 MAKE IT POSSIBLE FOR MTR TESTS TO BE SKIPPED IN ASAN RUNS
  
  Some perl::dbd tests are failing when running with a client library instrumented with asan.
------------------------------------------------------------
revno: 7278
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: TRUNK
timestamp: Wed 2014-01-15 19:15:02 +0530
message:
  Revert WL#6755 Post-fix for introduced extra space in url (revno. 7242)
    
  Reason: Compilation error when build in c++11 mode for REFMAN string literal.
------------------------------------------------------------
revno: 7277
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-dynarray
timestamp: Wed 2014-01-15 11:04:58 +0100
message:
  Bug#18059761 GET RID OF DYNAMIC_ARRAY IN ACL CODE
  
  Use Prealloced_array instead.
  This is the last use of Dynamic_array, so remove it.
------------------------------------------------------------
revno: 7276
committer: Vamsikrishna Bhagi <vamsikrishna.bhagi@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-15 10:17:06 +0530
message:
  Bug #17415203  MYSQL_SECURE_INSTALLATION CRASHED WHILE
                 CONNECTING WITH USER PASSWORD EXPIRED
  
  Problem: mysql_secure_installation crashes when the password
           for root has expired. It occurs only on windows.
  
  Solution: The cause for the bug is that
            'shared_memory_base_name' is freed in
            mysql_close_free_options when the connection
            fails on calling mysql_real_connect.
            Hence there will be a segmentation fault when a
            connection is retried. A patch is made to init
            the connection options once again before the
            attempt to reconnect.
------------------------------------------------------------
revno: 7275 [merge]
committer: Joao Gramacho <joao.gramacho@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-14 16:33:36 +0000
message:
  Merge of BUG#17803141 post-fix patch from mysql-5.6 into mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.198
    committer: Joao Gramacho <joao.gramacho@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-01-14 16:24:45 +0000
    message:
      Bug#17803141 ASSERT FAILURE WHEN RUNNING OPTIMIZE TABLE
                   WITH GTID_MODE=ON
      
      Solving post-fix failures in valgrind tests.
      
      There are some "alter_commands" in sql_yacc.yy that will call
      mysql_admin_table() without initializing thd->lex->no_write_to_binlog
      because they don't have this option (CHECK TABLE for example).
      
      We fix the valgrind issue by removing thd->lex->no_write_to_binlog
      verification from gtid_rollback_must_be_skipped variable. This will not
      compromise the original patch functionality and will avoid the
      possibility of using an uninitialized variable.
------------------------------------------------------------
revno: 7274
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Tue 2014-01-14 16:04:10 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #7
  In setup_copy_fields: Remove zero-termination of copy->to_ptr.
  Also: remove the extra byte allocated for Purify.
------------------------------------------------------------
revno: 7273
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-cmake
timestamp: Tue 2014-01-14 13:54:07 +0100
message:
  Bug#17971430 ENABLE MORE THAN ONE PLUGIN TO BE ADDED IN A DIRECTORY
  
  Rewrite MYSQL_ADD_PLUGIN, enable adding several plugins to the parent scope.
------------------------------------------------------------
revno: 7272
committer: Prabeen Pradhan <prabeen.pradhan@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-14 15:09:51 +0530
message:
  WL#7410   : Migrate authentication tests in main suite
  Issue     : Change the default engine from MyISAM to innodb
  Solution  : modified tests as per guideline mentioned in WL
------------------------------------------------------------
revno: 7271
committer: Sneha Modi <sneha.modi@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-14 14:40:02 +0530
message:
  Fixing the failure for binlog.binlog_checksum.test triggered by wl 7411. The test main.ctype_gbk_binlog.test
  was not properly cleaned up. Adding the cleanup statement:
  
  --remove_file $MYSQLD_DATADIR/master-bin.saved 
  
  as the file $MYSQLD_DATADIR/master-bin.saved
  is used in other tests as well.
------------------------------------------------------------
revno: 7270
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-test
timestamp: Tue 2014-01-14 09:58:20 +0100
message:
  Bug#17959689: MAKE GCC AND CLANG GIVE CONSISTENT COMPILATION WARNINGS
  
  Post-push fix: On some OS X configurations we use different compilers for C and
  C++ code. The original patch could cause problems for such configurations as
  it used the C compiler to check if -Wvla was supported and then applied the flag
  to both the C and C++ compiler. So if clang was used as C compiler (supports the flag)
  and G++ 4.2 was used as C++ compiler (does not support the flag), the build broke.
  
  This patch fixes the problem by doing the check twice, once for the C compiler
  and once for the C++ compiler.
------------------------------------------------------------
revno: 7269
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-cleanup
timestamp: Tue 2014-01-14 10:46:46 +0100
message:
  Cleanup, adjust test results
------------------------------------------------------------
revno: 7268 [merge]
committer: Luis Soares <luis.soares@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-13 22:37:09 +0000
message:
  BUG#17772911
  
  Automerged mysql-5.6 into latest mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.197 [merge]
    committer: Luis Soares <luis.soares@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-01-13 22:34:52 +0000
    message:
      BUG#17772911
      
      Automerged with latest mysql-5.6.
        ------------------------------------------------------------
        revno: 3902.307.1
        committer: Luis Soares <luis.soares@oracle.com>
        branch nick: mysql-5.6
        timestamp: Fri 2014-01-10 10:17:24 +0000
        message:
          BUG#17772911: SHOW SLAVE STATUS DISPLAYS WRONG VALUES FOR SSL_CRL FIELDS
          
          SHOW SLAVE STATUS would not report the correct values for
          MASTER_SSL_CRL and MASTER_SSL_CRLPATH. It was picking the values to
          show from the wrong place (mi->ssl_ca instead of mi->ssl_crl and
          mi->ssl_capath instead of mi->ssl_crlpath).
          
          This patch fixes that and deploys a minimal test case to validate
          that the correct values are displyed on SHOW SLAVE STATUS.
------------------------------------------------------------
revno: 7267 [merge]
committer: Joao Gramacho <joao.gramacho@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-13 19:12:05 +0000
message:
  Merge of BUG#17803141 patch from mysql-5.6 into mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.196
    committer: Joao Gramacho <joao.gramacho@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-01-13 18:48:31 +0000
    message:
      Bug#17803141 ASSERT FAILURE WHEN RUNNING OPTIMIZE TABLE
                   WITH GTID_MODE=ON
      
      Problem:
      =======
      
      The rpl_failed_optimize MTR test running with GTIDs enabled is making
      an assert to fail at the slave server. This happens when the slave SQL
      thread tries to binlog an OPTIMIZE TABLE statement for an inexistent
      table that was successfully executed (and binlogged) at the master. 
      
      Background:
      ==========
      
      It is a general property of all commands based on mysql_admin_table() to
      return errors as part of a result set instead of failing the statement
      as they rarely end-up in error.
      
      Because of this property it is possible to do something like
      "OPTIMIZE TABLE t1, t2, t3;" and get different results/errors for t1,
      t2 and t3 and do not fail the whole statement.
      
      Also, from locking perspective, each table in this list is processed
      individually: i.e. the client session will acquire locks on a single
      table, open it, process it and then release the locks
      (and commit/rollback transaction) before processing next table in the
      statement.
      
      Analysis:
      ========
      
      The reported problem happens when the rpl_failed_optimize test is 
      running with GITDs enabled and tries to execute an OPTIMIZE TABLE for
      an inexistent table in the master server.
      
      This command succeeds at the master, goes to master's binlog, goes to
      slave's relay log, is executed by the SQL thread and then fails to be
      binlogged to the slave's binlog.
      
      The issue happens inside mysql_admin_table(), that is called by
      Sql_cmd_optimize_table::execute().
      
      Sql_cmd_optimize_table::execute() will binlog the current statement
      unless the call to mysql_admin_table() returns error.
      
      For each table to be processed, the mysql_admin_table() function
      will call open_and_lock_tables() function that might call
      trans_rollback_stmt() if an error is found when trying to open an
      table (if the table doesn't exists for example).
      
      The trans_rollback_stmt() function will call gtid_rollback() to ensure
      that the GTID_NEXT associated with the current session will not be used
      in the case of a rolled back statement.
      
      The problem is that mysql_admin_table() has a property of not throwing
      errors to the client session as stated earlier in the Background
      section. So, because of this property, mysql_admin_table() will return
      that it has succeed to Sql_cmd_optimize_table::execute(), even if some
      minor errors had happened.
      
      As the mysql_admin_table() call has succeed,
      Sql_cmd_optimize_table::execute() will try to binlog the statement
      but it will fail to do so because GTIDs are enabled and some minor error
      happened (and gtid_rollback() was called), and no GTID_NEXT is available
      to binlog the current statement.
      
      The same behavior will happen not only with OPTIMIZE TABLE, but also
      with ANALYZE TABLE and REPAIR TABLE table maintenance statements, all
      based on mysql_admin_table().
      
      Fix:
      ===
      
      This fix aims only to ensure that the same behavior that happened at the
      master will happen in the slave, even if GTIDs are enabled. It will
      assure that if a GTID_NEXT was set to GTID_GROUP for the statement
      execution, the same GTID will be available to be binlogged if the
      command succeeds.
      
      @ sql/sql_class.h
      
      A new flag was created into THD object named "skip_gtid_rollback".
      
      @ sql/sql_class.cc
      
      This flag is initialized as "false" at the THD object constructor.
      
      @ sql/rpl_gtid_execution.cc
      
      At the gtid_rollback() function, a test in the "skip_gtid_rollback"
      flag will prevent the rollback of the GTID if the flag is enabled.
      
      @ sql/sql_admin.cc
      
      In the beginning of the mysql_admin_table() function, we added code
      to check if the current statement have to go to binlog, if the
      GTID_NEXT type is set to GTID_GROUP and if the THD->skip_gtid_rollback
      flag is not enabled, setting the result on a local flag variable named
      "gtid_rollback_must_be_skipped".
      
      Then, before entering the main loop for processing the tables, we check 
      if the "gtid_rollback_must_be_skipped" flag is set, changing
      THD->skip_gtid_rollback to "true" if needed. 
      
      Finally, we check if the "gtid_rollback_must_be_skipped" flag is set,
      restoring the gtid_rollback() normal behavior by setting
      THD->skip_gtid_rollback to "false" again in three mysql_admin_table()
      locations:
      - Just before returning that the mysql_admin_table() has succeeded;
      - Before the "err:" section calls to trans_rollback_stmt();
      - Before mysql_admin_table() exit in the case of a  
        ER_PARTITION_MGMT_ON_NONPARTITIONED error.
------------------------------------------------------------
revno: 7266 [merge]
committer: Luis Soares <luis.soares@oracle.com>
branch nick: mysql-trunk-push
timestamp: Mon 2014-01-13 17:18:53 +0000
message:
  WL#7299
  
  Merged with latest mysql-trunk.
    ------------------------------------------------------------
    revno: 7264.1.1 [merge]
    committer: Luis Soares <luis.soares@oracle.com>
    branch nick: mysql-trunk
    timestamp: Mon 2014-01-13 14:43:55 +0000
    message:
      WL#7299
      
      Automerged with latest mysql-trunk.
      
      Additional changes:
      - Fixed two DBUG_ENTER labels
      - Fixed tree name.
        ------------------------------------------------------------
        revno: 7074.1.7 [merge]
        committer: Luis Soares <luis.soares@oracle.com>
        branch nick: mysql-trunk-wl7299
        timestamp: Mon 2014-01-06 15:12:46 +0000
        message:
          Automerged mysql-trunk into mysql-trunk-wl7299.
        ------------------------------------------------------------
        revno: 7074.1.6 [merge]
        committer: Luis Soares <luis.soares@oracle.com>
        branch nick: mysql-trunk-wl7299
        timestamp: Mon 2014-01-06 11:10:17 +0000
        message:
          WL#7299
          
          Auto merged mysql-trunk into mysql-trunk-wl7299.
        ------------------------------------------------------------
        revno: 7074.1.5
        committer: Luis Soares <luis.soares@oracle.com>
        branch nick: mysql-trunk-wl7299
        timestamp: Mon 2014-01-06 10:42:00 +0000
        message:
          WL#7299
          
          Updated the feature tree name.
        ------------------------------------------------------------
        revno: 7074.1.4
        committer: Namit Sharma<namit.sharma@oracle.com>
        branch nick: mysql-trunk-wl7299
        timestamp: Mon 2013-12-23 17:54:54 +0530
        message:
          removed .push file
        ------------------------------------------------------------
        revno: 7074.1.3
        committer: Namit Sharma<namit.sharma@oracle.com>
        branch nick: mysql-trunk-wl7299
        timestamp: Mon 2013-12-16 14:11:43 +0530
        message:
          Modified Push file for PB2 run against working tree
        ------------------------------------------------------------
        revno: 7074.1.2
        committer: Namit Sharma<namit.sharma@oracle.com>
        branch nick: mysql-trunk-wl7299
        timestamp: Wed 2013-12-11 18:34:01 +0530
        message:
          Running regression tests on PB2 for WL#7299
        ------------------------------------------------------------
        revno: 7074.1.1 [merge]
        committer: Luis Soares <luis.soares@oracle.com>
        branch nick: mysql-trunk
        timestamp: Wed 2013-12-04 10:49:17 +0000
        message:
          WL#7299
          
          Auto-merge with latest mysql-trunk.
            ------------------------------------------------------------
            revno: 6975.1.18
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Tue 2013-12-03 15:54:39 +0000
            message:
              WL#7299
              
              Fixing a precision issue.
            ------------------------------------------------------------
            revno: 6975.1.17
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Tue 2013-12-03 15:42:05 +0000
            message:
              WL#7299
              
              Addressed Sven's comments.
            ------------------------------------------------------------
            revno: 6975.1.16
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Tue 2013-12-03 13:01:08 +0000
            message:
              WL#7299
              
              Cleanup.
            ------------------------------------------------------------
            revno: 6975.1.15
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Tue 2013-12-03 12:57:03 +0000
            message:
              WL#7299
              
              Addressing Sven's comments.
            ------------------------------------------------------------
            revno: 6975.1.14
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Mon 2013-12-02 09:56:05 +0000
            message:
              WL#7299
              
              Further comments from Libing.
            ------------------------------------------------------------
            revno: 6975.1.13
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Mon 2013-12-02 09:29:31 +0000
            message:
              WL#7299
              
              Addressing further Libing's comments.
            ------------------------------------------------------------
            revno: 6975.1.12
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Fri 2013-11-29 12:58:57 +0000
            message:
              WL#7299
              
              Merged lines as requested by Libing.
            ------------------------------------------------------------
            revno: 6975.1.11
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Fri 2013-11-29 12:26:02 +0000
            message:
              WL#7299
              
              Fixed white spaces and the declaration of PACKET_MIN_SIZE.
            ------------------------------------------------------------
            revno: 6975.1.10
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Fri 2013-11-29 11:55:49 +0000
            message:
              WL#7299
              
              Addressed Libing's request to remove "packet" parameter 
              from all member functions.
              
              Made the shrink_packet function to check first that the
              packet is bigger than PACKET_MIN_SIZE.
              
              Encapsulated further the logic to calculate the new size
              of the buffer.
            ------------------------------------------------------------
            revno: 6975.1.9
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Thu 2013-11-28 17:23:52 +0000
            message:
              WL#7299
              
              Addressing further review comments from Libing.
            ------------------------------------------------------------
            revno: 6975.1.8
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Wed 2013-11-27 16:35:31 +0000
            message:
              WL#7299
              
              Addressed Libing's code-review comments.
            ------------------------------------------------------------
            revno: 6975.1.7
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Tue 2013-11-26 17:47:22 +0000
            message:
              WL#7299
              
              Addressed Sven's review comments.
            ------------------------------------------------------------
            revno: 6975.1.6
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Tue 2013-11-26 00:38:19 +0000
            message:
              WL#7299
              
              Removed trailing white spaces from the patch.
            ------------------------------------------------------------
            revno: 6975.1.5
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Tue 2013-11-26 00:24:38 +0000
            message:
              WL#7299
              
              Added comments to the source code.
              Changed slightly the interface for grow_packet, so it
              encapsulates even further the operations in the packet 
              object.
            ------------------------------------------------------------
            revno: 6975.1.4
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Mon 2013-11-25 23:05:55 +0000
            message:
              WL#7299
              
              Fixing some types and build failures on windows.
            ------------------------------------------------------------
            revno: 6975.1.3
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Mon 2013-11-18 17:32:08 +0000
            message:
              WL#7299
              
              Fixed build issue.
              Removed "this->" from the code.
            ------------------------------------------------------------
            revno: 6975.1.2
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Mon 2013-11-18 16:18:27 +0000
            message:
              WL#7299
              
              Small change on the PACKET_MINIMUM_SIZE.
            ------------------------------------------------------------
            revno: 6975.1.1
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-trunk
            timestamp: Fri 2013-11-15 18:06:05 +0000
            message:
              WL#7299: Binlog_sender: do not reallocate the event buffer for every event sent
              
              The binlog sender thread, aka dump thread, reallocates the
              send buffer for every event it sends to the receiver thread,
              aka slave's IO thread. 
              
              This patch removes this behavior and instead makes the sender
              thread avoid reallocation as much as possible.
              
              (Draft patch)
------------------------------------------------------------
revno: 7265
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-bug11752665
timestamp: Mon 2014-01-13 16:11:12 +0100
message:
  Bug#11752665: WINDOWS SERVER X64: SO MANY COMPILER WARNINGS
  
  Patch #4:
  
  This patch reduces the compiler warning count on Win64 by an additional
  300, as reported by VS2013.
------------------------------------------------------------
revno: 7264
committer: magnus.blaudd@oracle.com
branch nick: trunk
timestamp: Mon 2014-01-13 14:42:12 +0100
message:
  Bug #17954277 BUILD FAILS ON SOLARIS IF NO STL_LIBRARY_NAME FOUND
   - Fix problem to find stlport library which occurs when using symlinked CC
     by passing the realpath of CC to FIND_LIBRARY.
   - Throw fatal message if stlport library is still not found.
------------------------------------------------------------
revno: 7263
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-cleanup
timestamp: Mon 2014-01-13 15:16:46 +0100
message:
  Cleanup, adjust test results for the "starting" stage name
------------------------------------------------------------
revno: 7262 [merge]
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-push-b
timestamp: Mon 2014-01-13 11:56:53 +0100
message:
  Push to mysql-trunk
    ------------------------------------------------------------
    revno: 7210.1.1
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-bug17993294
    timestamp: Wed 2014-01-08 10:56:56 +0100
    message:
      Bug#17993294 MORE THAN ONE STAGE NAMED "STAGE/SQL/INIT"?
      
      Before this fix, the very first stage executed within a statement was
      "stage/sql/init".
      
      For statements and stages instrumentation, the instrumented code
      that creates this stage looks like:
      
        MYSQL_START_STATEMENT(...);
        THD_STAGE_INFO(thd, stage_init);
      
      The older SHOW PROFILE instrumentation, however,
      uses a hard coded name for the first proc_info state, "starting".
      See PROFILING::start_new_query().
      
      Using THD_STAGE_INFO(thd, stage_init) at the beginning of a statement is
      incorrect for two reasons:
      - it is incompatible with the previous SHOW PROFILE instrumentation,
      - it collides with a different stage named "init", already used as part of some
        statements execution, causing confusion.
      
      This fix defines a "stage/sql/starting" stage,
      which is now the very first stage executed after MYSQL_START_STATEMENT().
      
      Bug#18035404 "WAITING TO GET READLOCK" STAGE IS NOT USED IN 5.6 ANY MORE
      
      Before this fix, stage "stage/sql/Waiting to get readlock"
      in table performance_schema.setup_instruments was unused in the code.
      
      This fix removes the orphaned instrument.
------------------------------------------------------------
revno: 7261
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Mon 2014-01-13 10:36:23 +0100
message:
  Bug#18059920 ADDRESSSANITIZER BUG IN DO_RESET_CONNECTION
  
  Always match DBUG_ENTER with DBUG_RETURN.
------------------------------------------------------------
revno: 7260 [merge]
committer: Thayumanavar <thayumanavar.x.sachithanantha@oracle.com>
branch nick: mysql-trunk1
timestamp: Mon 2014-01-13 12:11:25 +0530
message:
  BUG#18054998 - Null merge from 5.6 to trunk.
    ------------------------------------------------------------
    revno: 3902.291.195 [merge]
    committer: Thayumanavar <thayumanavar.x.sachithanantha@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-01-13 12:06:28 +0530
    message:
      BUG#18054998 - Null merge from 5.5 to 5.6.
        ------------------------------------------------------------
        revno: 2875.545.117
        committer: Thayumanavar <thayumanavar.x.sachithanantha@oracle.com>
        branch nick: mysql-5.5
        timestamp: Mon 2014-01-13 12:04:16 +0530
        message:
          BUG#18054998 - BACKPORT FIX FOR BUG#11765785 to 5.5
          
          This is a backport of the patch of bug#11765785. Commit message
          by Prabakaran Thirumalai from bug#11765785 is reproduced below:
          Description:
          ------------
          Global Query ID (global_query_id ) is not incremented for PING and 
          statistics command. These two query types are filtered before 
          incrementing the global query id. This causes race condition and 
          results in duplicate query id for different queries originating from 
          different connections.
                
          Analysis:
          ---------
          sqlparse.cc::dispath_command() is the only place in code which sets 
          thd->query_ id to global_query_id and then increments it based on the 
          query type. In all other places it is incremented first and then 
          assigned to thd->query_id.
                
          This is done such that global_query_id is not incremented for PING 
          and statistics commands in dispatch_command() function.
                
          Fix:
          ----
          As per suggestion from Serg, "There is no reason to skip query_id for 
          the PING and STATISTICS command.", removing the check which filters 
          PING and statistics commands.
                
          Instead of using get_query_id() and next_query_id() which can still 
          cause race condition if context switch happens soon after executing 
          get_query_id(), changing the code to use next_query_id() instead of 
          get_query_id() as it is done in other parts of code which deals with 
          global_query_id.
                
          Removed get_query_id() function and forced next_query_id() caller 
          to use the return value by specifying warn_unused_result attribute.
------------------------------------------------------------
revno: 7259 [merge]
committer: Venkata Sidagam <venkata.sidagam@oracle.com>
branch nick: trunk
timestamp: Sat 2014-01-11 17:32:33 +0530
message:
  Bug #18047796 MTR TEST MAIN.OPENSSL_1 FAILS ON FEDORA 19 WITH OPENSSL 1.0.1E
  
  Null merge from mysql-5.6 to trunk
    ------------------------------------------------------------
    revno: 3902.291.194
    committer: Venkata Sidagam <venkata.sidagam@oracle.com>
    branch nick: 5.6
    timestamp: Sat 2014-01-11 17:27:44 +0530
    message:
      Bug #18047796 MTR TEST MAIN.OPENSSL_1 FAILS ON FEDORA 19 WITH OPENSSL 1.0.1E
      
      Description: mtr test main.openssl_1 fails on Fedora 19 x86_64, server is built against
      system openssl 1.0.1e-35.
      
      Analysis: The cipher "EDH-RSA-DES-CBC-SHA" is removed from the open_ssl since "openssl-1.0.1e-35" source. Mentioned that its a week cipher. Because of that the test case which is looking for the cipher is not finding in the cipher list.
      
      Fix: We have replaced the cipher check "EDH-RSA-DES-CBC-SHA" with another common "AES256-SHA" cipher in the test case.
------------------------------------------------------------
revno: 7258 [merge]
committer: Venkata Sidagam <venkata.sidagam@oracle.com>
branch nick: trunk
timestamp: Sat 2014-01-11 17:19:07 +0530
message:
  Bug #18047796 MTR TEST MAIN.OPENSSL_1 FAILS ON FEDORA 19 WITH OPENSSL 1.0.1E
  
  Merging from mysql-5.6 to trunk
    ------------------------------------------------------------
    revno: 3902.306.1
    committer: Venkata Sidagam <venkata.sidagam@oracle.com>
    branch nick: 5.6
    timestamp: Sat 2014-01-11 17:15:56 +0530
    message:
      Bug #18047796 MTR TEST MAIN.OPENSSL_1 FAILS ON FEDORA 19 WITH OPENSSL 1.0.1E
      
      Description: mtr test main.openssl_1 fails on Fedora 19 x86_64, server is built against
      system openssl 1.0.1e-35.
      
      Analysis: The cipher "EDH-RSA-DES-CBC-SHA" is removed from the open_ssl since "openssl-1.0.1e-35" source. Mentioned that its a week cipher. Because of that the test case which is looking for the cipher is not finding in the cipher list.
      
      Fix: We have replaced the cipher check "EDH-RSA-DES-CBC-SHA" with another common "AES256-SHA" cipher in the test case.
------------------------------------------------------------
revno: 7257 [merge]
committer: Venkata Sidagam <venkata.sidagam@oracle.com>
branch nick: trunk
timestamp: Sat 2014-01-11 15:03:18 +0530
message:
  Bug #17760379 COLLATIONS WITH CONTRACTIONS BUFFER-OVERFLOW THEMSELVES IN THE FOOT
        
  Merged from mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.193 [merge]
    committer: Venkata Sidagam <venkata.sidagam@oracle.com>
    branch nick: 5.6
    timestamp: Sat 2014-01-11 14:53:51 +0530
    message:
      Bug #17760379 COLLATIONS WITH CONTRACTIONS BUFFER-OVERFLOW THEMSELVES IN THE FOOT
      
      Merged the test case only from mysql-5.5 to mysql-5.6.
      The fix is already present in 5.6 code base.
        ------------------------------------------------------------
        revno: 2875.545.116
        committer: Venkata Sidagam <venkata.sidagam@oracle.com>
        branch nick: 5.5
        timestamp: Sat 2014-01-11 14:48:29 +0530
        message:
          Bug #17760379 COLLATIONS WITH CONTRACTIONS BUFFER-OVERFLOW THEMSELVES IN THE FOOT
          
          Description: A typo in create_tailoring() causes the "contraction_flags" to be written
          into cs->contractions in the wrong place. This causes two problems:
          (1) Anyone relying on `contraction_flags` to decide "could this character be
          part of a contraction" is 100% broken.
          (2) Anyone relying on `contractions` to determine the weight of a contraction
          is mostly broken
          
          Analysis: When we are preparing the contraction in create_tailoring(), we are corrupting the 
          cs->contractions memory location which is supposed to store the weights(8k) + contraction information(256 bytes). We started storing the contraction information after the 4k location. This is because of logic flaw in the code.
          
          Fix: When we create the contractions, we need to calculate the contraction with (char*) (cs->contractions + 0x40*0x40) from ((char*) cs->contractions) + 0x40*0x40. This makes the "cs->contractions" to move to 8k bytes and stores the contraction information from there. Similarly when we are calculating it for like range queries we need to calculate it from the 8k bytes onwards, this can be done by changing the logic to (const char*) (cs->contractions + 0x40*0x40). And for ucs2 charsets we need to modify the my_cs_can_be_contraction_head() and my_cs_can_be_contraction_tail() to point to 8k+ locations.
------------------------------------------------------------
revno: 7256
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-test
timestamp: Sat 2014-01-11 09:45:21 +0100
message:
  WL#7395: Deprecate (5.6) and remove (5.7) IGNORE for ALTER TABLE
  
  Post-push fix: Update .result file for OS X/Windows
------------------------------------------------------------
revno: 7255
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-wl7395
timestamp: Fri 2014-01-10 17:22:14 +0100
message:
  WL#7395: Deprecate (5.6) and remove (5.7) IGNORE for ALTER TABLE 
  
  This is the 5.7 version of the patch.
  
  This patch removes support for IGNORE for ALTER TABLE.
  Note that this means that ALTER TABLE can no longer delete any rows.
------------------------------------------------------------
revno: 7254 [merge]
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-10 17:16:14 +0100
message:
  Null merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.192
    committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
    branch nick: mysql-5.6-wl7395
    timestamp: Fri 2014-01-10 17:14:36 +0100
    message:
      WL#7395: Deprecate (5.6) and remove (5.7) IGNORE for ALTER TABLE
      
      This is the 5.6 version of the patch.
      
      This patch adds a deprecation warning when using IGNORE for ALTER TABLE.
------------------------------------------------------------
revno: 7253 [merge]
committer: Satya Bodapati <satya.bodapati@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-10 17:38:10 +0530
message:
  Merge fix for BUG#17666774 from mysql-5.6 to trunk
    ------------------------------------------------------------
    revno: 3902.291.191
    committer: Satya Bodapati <satya.bodapati@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2014-01-10 17:36:22 +0530
    message:
      Bug#17666774 - FK: CRASH WHEN ADDING PREFIXED CONSTRAINT
      
      When foreign key checking is disabled (SET foreign_key_checks=0), InnoDB
      crashes trying to add an invalid Foreign key.
      
      Return ER_CANNOT_ADD_FOREIGN error message when we cannot add a foreign
      key without a referenced column.
      
      Approved by Jimmy. rb#3759
------------------------------------------------------------
revno: 7252 [merge]
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug17081415_mysql-trunk
timestamp: Fri 2014-01-10 16:58:19 +0530
message:
  Merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.190 [merge]
    committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
    branch nick: Bug17081415_mysql-5.6
    timestamp: Fri 2014-01-10 15:24:14 +0530
    message:
      Merge from MySQL-5.5 to MySQL-5.6
        ------------------------------------------------------------
        revno: 2875.545.115
        committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
        branch nick: Bug17081415_mysql-5.5
        timestamp: Fri 2014-01-10 15:11:56 +0530
        message:
          Bug#17081415:>=4GB ROW EVENT CRASHES SERVER WITH WILD MEMCPY
          OF ROW DATA
          
          Problem:
          ========
          Inserting a row larger than 4G when server uses RBR leads
          to crash.
          
          Analysis:
          ========
          Row-based binary logging logs changes in individual table
          rows. During the execution of DML statements in RBR the
          actual row data will be stored within "m_rows_buf" buffer
          and this buffer contents will be written to binary log.
          "m_rows_buf" is prepared within the following function
          "Rows_log_event::do_add_row_data".
          
          When a huge row is specified as in this bug scenario where
          row size is 4294971520 > UINT_MAX (4294967295) then the
          "m_rows_buf" is reallocated to accommodate the row data and
          then the row is copied to the buffer. During this realloc
          call, the length is getting type casted to "uint" which
          results in overflow. Because of the overflow the reallocated
          memory happens to be incorrect than what was requested
          and it results in a crash during copy of rowdata to buffer.
          
          Hence rows of size > 4GB cannot be written to binary log.
          By default the event_length can be stored within 4 bytes
          which in turn restricts an event's size to grow. Hence large
          rows cannot be replicated using row based replication.
          
          Fix:
          ===
          An error is generated if the row size exceeds 4GB value.
------------------------------------------------------------
revno: 7251
committer: Satya Bodapati <satya.bodapati@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-10 15:56:34 +0530
message:
  Bug#11762242 - MAKE BUF_READ_AHEAD_AREA A CONSTANT
  
  BUF_READ_AHEAD_AREA calls ut_2_power_up. On workloads that do many IOPs
  this is called frequently and uses too much CPU.
  
  Fix by calculating only once and store in buf_pool_t structure.
  
  Approved by Kevin. rb#4008
------------------------------------------------------------
revno: 7250 [merge]
committer: Shaohua Wang <shaohua.wang@oracle.com>
branch nick: mysql-trunk-bugfix1
timestamp: Fri 2014-01-10 16:10:39 +0800
message:
  Merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.189
    committer: Shaohua Wang <shaohua.wang@oracle.com>
    branch nick: mysql-5.6-bugfix1
    timestamp: Fri 2014-01-10 15:51:01 +0800
    message:
      BUG#18021306 - ASSERT AT ERROR != DB_SUCCESS in file row0ftsort.cc
      
      Fix the assert, because child thread can exit in either error or
      told by parent.
      
      rb://4290 by Jimmy.Yang
------------------------------------------------------------
revno: 7249
committer: Dmitry Lenev <Dmitry.Lenev@oracle.com>
branch nick: mysql-trunk-wl7305
timestamp: Fri 2014-01-10 11:53:41 +0400
message:
  WL#7305 "Improve MDL scalability by using lock-free hash".
  
  The main benefit of this patch is that it opens the way for
  implementing WL7306 which brings significant improvement to
  MDL performance/scalability in some scenarios.
  
  The basic idea behind this patch is to change the MDL_map
  implementation to use LF_HASH instead of a partitioned HASH container,
  where each partition is protected by individual mutexes.
  
  Nice results of such a change:
  
  - Since on systems with atomic support LF_HASH is lock-free,
    MDL_map_partition::m_mutex and potential concurrency bottleneck
    associated with it was removed.
  - For the same reason it doesn't make sense to partition LF_HASH.
    So we returned back to the scheme with one hash for the whole
    MDL_map and removed the MDL_map_partition class and the
    mdl_locks_hash_partitions start-up parameter.
  - Thanks to the fact that LF_HASH is integrated with LF_ALLOCATOR
    and uses per-thread hazard pointers to avoid objects in the
    hash from being deleted immediately after they were looked up, we
    were able to get rid of all MDL_map/MDL_lock machinery responsible
    for reference counting (i.e. MDL_lock::m_ref_usage/m_ref_release/
    m_version).
  - We also no longer need the MDL_map_partition::m_unused_locks_cache
    as LF_ALLOCATOR has its own mechanism for caching objects which are
    expensive to create/destroy.
  
  To support the above changes the following additional steps were taken:
  
  - Since it is tricky to use LF_HASH with objects of different types
    stored in LF_ALLOCATOR, to support these changes we had to get rid
    of MDL_object_lock/MDL_scoped_lock dichotomy. This was done by moving
    out their differences to a MDL_lock_strategy structure which is
    referenced from the MDL_lock object by pointer.
  - To make it easier to use LF_HASH with non-trivially copyable objects
    (such as MDL_lock) a new callback "initialize" was added to it. This
    callback allows finishing of initialization of the object provided by
    LF_ALLOCATOR and set element key from the object passed as parameter to
    lf_hash_insert.
    Also LF_HASH was extended to support a user-provided hash function
    such as MurmurHash3 used in the MDL subsystem.
  - LF_HASH and LF_ALLOCATOR initialization functions were extended to be
    able to accept callback functions used in them as explicit parameters.
  - lf_alloc_direct_free() was fixed to call destructor callback before
    doing my_free() on memory belong to object being freed.
  
  Also the following user visible change was made -- 
  --metadata_locks_cache_size and --metadata_locks_hash_instances startup
  options and corresponding system variables were declared as deprecated
  as they now have no effect.
------------------------------------------------------------
revno: 7248
committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
branch nick: wl7402
timestamp: Fri 2014-01-10 12:44:11 +0530
message:
  WL#7402 Migrate tests in main suite for federated, blackhole, 
                                         merge and csv engines.
------------------------------------------------------------
revno: 7247
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: trunk
timestamp: Fri 2014-01-10 12:30:35 +0530
message:
  Bug#17922848 INNODB_WL6501_ERROR_1 FAILS ON WITH CORRUPTED TABLE
  
  Post-push fix for Assertion failed in pb2 for ut_ad(prebuilt->index->table->corrupted)
  Reason: That assertion hold true when clustered index is marked
  corrupted. [Not for secondary index].
  
  Fixed: First Check if index is clustered, then use mentioned assertion.
   
------------------------------------------------------------
revno: 7246
committer: Sneha Modi <sneha.modi@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-10 12:03:43 +0530
message:
  The test main.type_year fails sporadically due to difference in the order of select output.
  Adding the ORDER BY clause to make the output stable.
------------------------------------------------------------
revno: 7245
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: trunk
timestamp: Fri 2014-01-10 09:36:24 +0530
message:
  Bug#17922848 INNODB_WL6501_ERROR_1 FAILS ON WITH CORRUPTED TABLE
  
  Problem: We are intentionally marked the table as corrupted by checking
  on clustered index, which lead to error message in log file as
  [ERROR] InnoDB: Table "test"."t" is corrupted. Please drop the table and recreate
  This error message not visible right in existing trunk due to added up
  suppression in innodb_wl6501_error.inc file.
  
  Fixed: replace the "ERROR" keyword from ib_logf() with "INFO" for this
  above mention msg. Also added existing error ER_TABLE_CORRUPT which reflect
  that Table is corrupted and not in condition to use.
  Short info about Error code: 
   ER_TABLE_CORRUPT : reflect table/clustered index is corrupted. 
   ER_INDEX_CORRUPT:  reflect any index is corrupted. 
  
  Approved by Jimmy(rb#4309).
   
------------------------------------------------------------
revno: 7244
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-10 12:52:48 +0900
message:
  WL#6642 - Follow up fix, buf_dblwr_flush_buffered_writes() opportunity should not be reduced.
  
    * WL#6642 - InnoDB: multiple page_cleaner threads
  
    * 'innodb_page_cleaners' option is added to perform flushing dirty pages
    * and keeping free pages for each buffer pool instance in parallel.
    * Increasing the value of the options increases scalability of the activity.
  
    * This patch was originally written by Inaam Rana,
    * and refactored by Yasufumi Kinoshita.
  
    * rb#3004 Approved by Kevin Lewis and Marko Makela
------------------------------------------------------------
revno: 7243 [merge]
committer: Luis Soares <luis.soares@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-09 19:12:09 +0000
message:
  BUG#17066269
  
  Automerged from mysql-5.6 into latest mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.188
    committer: Luis Soares <luis.soares@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-09 19:10:15 +0000
    message:
      BUG#17066269
      
      Post-push fix: fixing the result file.
------------------------------------------------------------
revno: 7242
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: trunk
timestamp: Thu 2014-01-09 22:51:34 +0530
message:
  WL#6755 Post-fix for introduced extra space in url
  
  Problem: There are space between REFMAN and the page string in output msg.
  Example: 
  InnoDB: Some operating system error numbers are described at
  http://dev.mysql.com/doc/refman/5.7/en/ operating-system-error-codes.html 
  
  Fixed: Remove these extra space.
  Correct output:
  InnoDB: Some operating system error numbers are described at
  http://dev.mysql.com/doc/refman/5.7/en/operating-system-error-codes.html
------------------------------------------------------------
revno: 7241
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Wed 2014-01-08 15:12:04 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
    
  Patch #6
  Do not allocate extra byte for uint3korr.
------------------------------------------------------------
revno: 7240 [merge]
committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
branch nick: trunk
timestamp: Thu 2014-01-09 20:08:40 +0530
message:
  Bug#18047812: RESULT FILE MISMATCH DUE TO COPYRIGHT YEAR IN OUTPUT
  Problem:
  Copyright mismatch is causing test failure.
  
  Solution:
  Replacing the present year (2014) as the copyright year.
    ------------------------------------------------------------
    revno: 3902.291.187
    committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
    branch nick: 5.6
    timestamp: Thu 2014-01-09 20:06:32 +0530
    message:
      Bug#18047812: RESULT FILE MISMATCH DUE TO COPYRIGHT YEAR IN OUTPUT
      Problem:
      Copyright mismatch is causing test failure.
      
      Solution:
      Replacing the present year (2014) as the copyright year.
------------------------------------------------------------
revno: 7239 [merge]
committer: Luis Soares <luis.soares@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-09 13:13:04 +0000
message:
  BUG#17066269
  
  Automerged mysql-5.6 into latest mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.186 [merge]
    committer: Luis Soares <luis.soares@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-09 13:10:33 +0000
    message:
      BUG#17066269
      
      Manual merged mysql-5.5 into latest mysql-5.6:
      - Added warnings to the result file.
      - Fixed merge conflicts.
      
      CONFLICTS
      =========
      
      Text conflict in sql/log_event.cc
      Text conflict in sql/log_event.h
        ------------------------------------------------------------
        revno: 2875.545.114 [merge]
        committer: Luis Soares <luis.soares@oracle.com>
        branch nick: mysql-5.5
        timestamp: Thu 2014-01-09 12:53:49 +0000
        message:
          BUG#17066269
          
          - Automerged from bug branch into latest mysql-5.5.
          - Fixed trailing whitespaces.
          - Updated the copyright notice year to 2014.
            ------------------------------------------------------------
            revno: 2875.590.1
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-5.5
            timestamp: Wed 2013-12-18 11:17:24 +0000
            message:
              BUG#17066269: AUTO_INC VALUE NOT PROPERLY GENERATED WITH RBR AND
              AUTO_INC COLUMN ONLY ON SLAVE
              
              In RBR, if the slave's table as one additional auto_inc column,
              then, it will insert the value 0 instead of generating the next
              auto_inc number.
              
              We fix this by checking that if an auto_inc extra column exists,
              when compared to column data of the row event, we explicitly set
              it to NULL and flag the engine that a nulled auto_inc column will
              be inserted.
------------------------------------------------------------
revno: 7238
committer: Erlend Dahl <erlend.dahl@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-09 12:27:18 +0100
message:
  Fixing platform name after comment from Bjorn. 
------------------------------------------------------------
revno: 7237 [merge]
committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-09 16:10:42 +0530
message:
  Merging the changes from 5.5 for updating the current year.
    ------------------------------------------------------------
    revno: 3902.291.185 [merge]
    committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-09 16:09:13 +0530
    message:
      Merging the changes from 5.5 for updating the current year.
        ------------------------------------------------------------
        revno: 2875.545.113
        committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
        branch nick: mysql-5.5
        timestamp: Thu 2014-01-09 16:07:14 +0530
        message:
          updating the current copyright year which reflects in the MySQL welcome message.
------------------------------------------------------------
revno: 7236
committer: Erlend Dahl <erlend.dahl@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-09 10:55:06 +0100
message:
  Disabling mysqlhotcopy tests on the ASAN build. 
  
  Approved by Shipra on IM.
------------------------------------------------------------
revno: 7235
committer: Sneha Modi <sneha.modi@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-09 14:44:37 +0530
message:
  WL#7411 : Migrate tests that do not show any result difference when run with innodb engine
------------------------------------------------------------
revno: 7234 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-09 13:46:05 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.184
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-09 13:44:28 +0530
    message:
      Fixing a pb2 problem. Added one more mechanism to flush t1 to disk. 
------------------------------------------------------------
revno: 7233 [merge]
committer: mithun <mithun.c.y@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-09 11:24:04 +0530
message:
  Bug #17307201 : FAILING ASSERTION: PREBUILT->TRX->CONC_STATE == 1
                  FROM SUBSELECT
  
  Null Merge from 5.6
    ------------------------------------------------------------
    revno: 3902.291.183 [merge]
    committer: mithun <mithun.c.y@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-09 11:20:42 +0530
    message:
      Bug #17307201 : FAILING ASSERTION: PREBUILT->TRX->CONC_STATE == 1
                      FROM SUBSELECT
      
      Null Merge from 5.5
        ------------------------------------------------------------
        revno: 2875.545.112
        committer: mithun <mithun.c.y@oracle.com>
        branch nick: mysql-5.5
        timestamp: Thu 2014-01-09 11:17:51 +0530
        message:
          Bug #17307201 : FAILING ASSERTION: PREBUILT->TRX->CONC_STATE == 1
                          FROM SUBSELECT
          ISSUE         : In function find_all_keys.
                          If selected row do not satisfy condition
                          then we call unlock_row to release the locked
                          row. Suppose if we have subquery in condition
                          and we have an innodb error during its execution.
                          Then we should not call the unlock_row. If the error
                          is because of deadlock, innodb will rollback the
                          transaction. And calling unlock_row without
                          transaction is an invalid case hence an assertion
                          failure.
          SOLUTION      : We call unlock_row only if only there is no
                          error occurred previously.
                          The solution is back ported from 5.6
                          defect number 14226481
------------------------------------------------------------
revno: 7232 [merge]
committer: Aditya A <aditya.a@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2014-01-09 07:43:01 +0530
message:
  Bug#16287752    INNODB_DATA_FILE_PATH MINIMUM SIZE 
                  IN DOCUMENTATION
  
  Test script correction
  [Merge from 5.6]
    ------------------------------------------------------------
    revno: 3902.291.182 [merge]
    committer: Aditya A <aditya.a@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2014-01-09 07:40:14 +0530
    message:
      Bug#16287752    INNODB_DATA_FILE_PATH MINIMUM SIZE 
                      IN DOCUMENTATION
      Test script correction
      [ Merge from 5.5 ]
        ------------------------------------------------------------
        revno: 2875.545.111
        committer: Aditya A <aditya.a@oracle.com>
        branch nick: mysql-5.5
        timestamp: Thu 2014-01-09 07:39:10 +0530
        message:
          Bug#16287752    INNODB_DATA_FILE_PATH MINIMUM SIZE 
                          IN DOCUMENTATION
          
          Test script correction.
------------------------------------------------------------
revno: 7231 [merge]
committer: Aditya A <aditya.a@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-08 23:10:47 +0530
message:
  Bug#16287752    INNODB_DATA_FILE_PATH MINIMUM SIZE 
                  IN DOCUMENTATION
  
  [Merge from 5.6]
    ------------------------------------------------------------
    revno: 3902.291.181 [merge]
    committer: Aditya A <aditya.a@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2014-01-08 22:28:45 +0530
    message:
      Bug#16287752    INNODB_DATA_FILE_PATH MINIMUM SIZE 
                      IN DOCUMENTATION
      [ Merge from 5.5 ]
        ------------------------------------------------------------
        revno: 2875.545.110
        committer: Aditya A <aditya.a@oracle.com>
        branch nick: mysql-5.5
        timestamp: Wed 2014-01-08 22:25:41 +0530
        message:
          Bug#16287752    INNODB_DATA_FILE_PATH MINIMUM SIZE 
                          IN DOCUMENTATION
          Problem 
          -------
          The documentation says that we support 'K' prefix 
          while specifiying size for innodb datafile in the
          server variable for innodb_data_file_path ,but the
          function srv_parse_megabytes() only handles only 
          'M' (megabytes) and 'G' (gigabytes) .
          
          Fix
          ---
          Modify srv_parse_megabytes() to handle Kilobytes. 
          
          Add in documentation that while specifying size 
          in KB it should be mentioned in multiples of 1024
          other wise they will be rounded off to nearest
          MB (megabyte) boundry .(eg if size mentioned
          as 2313KB will be considered as 2 MB ).
          
          [ Approved by Marko #rb 2387 ]
------------------------------------------------------------
revno: 7230
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: trunk
timestamp: Wed 2014-01-08 20:33:25 +0530
message:
  Bug#16735398 INNODB USES SAME TYPE NAMES AS VARIABLE NAMES, THIS CREATES PROBLEMS DEBUGGING
  
  Problem: The enum name is same as variable name.
  Fixed: Replaced the srv_shutdown_state enum to srv_shutdown_t enum.
  Approved by Jimmy (rb#2361).
------------------------------------------------------------
revno: 7229
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: trunk
timestamp: Wed 2014-01-08 20:05:24 +0530
message:
  Bug#17016214 WASTED WORK IN METHOD LOCK_REC_OTHER_HAS_EXPL_REQ()
  
  Problem: In lock_rec_other_has_expl_req(), we are getting the lock to determine
  whether the other trx has the lock request in queue even when heap_no is
  PAGE_HEAP_NO_SUPREMUM, which is unnecessary. 
  
  Fixed: No need to check the lock for other trx in the queue, when the heap_no is
  PAGE_HEAP_NO_SUPREMUM, as on PAGE_HEAP_NO_SUPREMUM, GAP lock may exist, but we
  are not looking for any GAP lock in lock_rec_other_has_expl_req().
  
  Approved by Jimmy (rb#4116).
------------------------------------------------------------
revno: 7228 [merge]
committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
branch nick: yassl-trunk
timestamp: Wed 2014-01-08 19:50:01 +0530
message:
  Bug#16715064 MYSQL COMMUNITY UTILITIES CANNOT CONNECT TO MYSQL ENTERPRISE
  WITH SSL ENABLED
  Problem:
  It was reported that MySQL community utilities cannot connect to a MySQL
  Enterprise 5.6.x server with SSL configured. We can reproduce the issue
  when we try to connect an MySQL Enterprise Server with a MySQL Client with
  --ssl-ca parameter enabled.
  We get an ERROR 2026 (HY000): SSL connection error: unknown error number.
  
  Solution:
  The root cause of the problem was determined to be the difference in handling
  of the certificates by OpenSSL(Enterprise) and yaSSL(Community). OpenSSL expects
  a blank certificate to be sent when a parameter (ssl-ca, or ssl-cert or ssl-key)
  has not been specified.On the other hand yaSSL doesn't send any certificate and 
  since OpenSSL does not expect this behaviour it returns an Unknown SSL error.
  The issue was resolved by yaSSL adding capability to send blank certificate when
  any of the parameter is missing.
    ------------------------------------------------------------
    revno: 3902.291.180
    committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
    branch nick: yassl-5.6
    timestamp: Wed 2014-01-08 19:40:28 +0530
    message:
      Bug#16715064 MYSQL COMMUNITY UTILITIES CANNOT CONNECT TO MYSQL ENTERPRISE
      WITH SSL ENABLED
      Problem:
      It was reported that MySQL community utilities cannot connect to a MySQL
      Enterprise 5.6.x server with SSL configured. We can reproduce the issue
      when we try to connect an MySQL Enterprise Server with a MySQL Client with
      --ssl-ca parameter enabled.
      We get an ERROR 2026 (HY000): SSL connection error: unknown error number.
      
      Solution:
      The root cause of the problem was determined to be the difference in handling
      of the certificates by OpenSSL(Enterprise) and yaSSL(Community). OpenSSL expects
      a blank certificate to be sent when a parameter (ssl-ca, or ssl-cert or ssl-key)
      has not been specified.On the other hand yaSSL doesn't send any certificate and 
      since OpenSSL does not expect this behaviour it returns an Unknown SSL error.
      The issue was resolved by yaSSL adding capability to send blank certificate when
      any of the parameter is missing.
------------------------------------------------------------
revno: 7227
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Tue 2014-01-07 16:42:40 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #5
  Remove special purify implementations of the uint3korr macro.
------------------------------------------------------------
revno: 7226 [merge]
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Wed 2014-01-08 14:49:06 +0100
message:
  NULL merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.179
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.6-merge
    timestamp: Wed 2014-01-08 13:50:17 +0100
    message:
      Bug#18046811 COMPILATION ERRORS WHILE BUILDING MYSQL-5.6.16 ON SOLARIS 10
      
      Include my_config.h before any system headers, to avoid
      Warning (Anachronism): Attempt to redefine _FILE_OFFSET_BITS without using #undef.
      
      Include <stdio.h> before <vector> to avoid
      "/usr/include/floatingpoint.h", line 164: Error: FILE is not defined."
      "/usr/include/stdio.h", line 82: Error: Multiple declaration for std::FILE."
      (this must be a bug in the solaris header files)
------------------------------------------------------------
revno: 7225 [merge]
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-clean
timestamp: Wed 2014-01-08 14:43:42 +0100
message:
  NULL merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.178
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.6-clean
    timestamp: Wed 2014-01-08 14:42:46 +0100
    message:
      Remove patch which broke the build
------------------------------------------------------------
revno: 7224
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-clean
timestamp: Wed 2014-01-08 14:34:49 +0100
message:
  Remove patch which broke the build
------------------------------------------------------------
revno: 7223 [merge]
committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
branch nick: yassl-trunk
timestamp: Wed 2014-01-08 18:35:22 +0530
message:
  Bug#16715064 MYSQL COMMUNITY UTILITIES CANNOT CONNECT TO MYSQL ENTERPRISE
  WITH SSL ENABLED
  Problem:
  It was reported that MySQL community utilities cannot connect to a MySQL
  Enterprise 5.6.x server with SSL configured. We can reproduce the issue
  when we try to connect an MySQL Enterprise Server with a MySQL Client with
  --ssl-ca parameter enabled.
  We get an ERROR 2026 (HY000): SSL connection error: unknown error number.
  
  Solution:
  The root cause of the problem was determined to be the difference in handling
  of the certificates by OpenSSL(Enterprise) and yaSSL(Community). OpenSSL expects
  a blank certificate to be sent when a parameter (ssl-ca, or ssl-cert or ssl-key)
  has not been specified.On the other hand yaSSL doesn't send any certificate and 
  since OpenSSL does not expect this behaviour it returns an Unknown SSL error.
  The issue was resolved by yaSSL adding capability to send blank certificate when
  any of the parameter is missing.
    ------------------------------------------------------------
    revno: 3902.291.177 [merge]
    committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
    branch nick: yassl-5.6
    timestamp: Wed 2014-01-08 18:34:00 +0530
    message:
      Bug#16715064 MYSQL COMMUNITY UTILITIES CANNOT CONNECT TO MYSQL ENTERPRISE
      WITH SSL ENABLED
      Problem:
      It was reported that MySQL community utilities cannot connect to a MySQL
      Enterprise 5.6.x server with SSL configured. We can reproduce the issue
      when we try to connect an MySQL Enterprise Server with a MySQL Client with
      --ssl-ca parameter enabled.
      We get an ERROR 2026 (HY000): SSL connection error: unknown error number.
      
      Solution:
      The root cause of the problem was determined to be the difference in handling
      of the certificates by OpenSSL(Enterprise) and yaSSL(Community). OpenSSL expects
      a blank certificate to be sent when a parameter (ssl-ca, or ssl-cert or ssl-key)
      has not been specified.On the other hand yaSSL doesn't send any certificate and 
      since OpenSSL does not expect this behaviour it returns an Unknown SSL error.
      The issue was resolved by yaSSL adding capability to send blank certificate when
      any of the parameter is missing.
        ------------------------------------------------------------
        revno: 2875.545.109
        committer: Anirudh Mangipudi <anirudh.mangipudi@oracle.com>
        branch nick: yassl-5.5
        timestamp: Wed 2014-01-08 18:31:42 +0530
        message:
          Bug#16715064 MYSQL COMMUNITY UTILITIES CANNOT CONNECT TO MYSQL ENTERPRISE
          WITH SSL ENABLED
          Problem:
          It was reported that MySQL community utilities cannot connect to a MySQL
          Enterprise 5.6.x server with SSL configured. We can reproduce the issue
          when we try to connect an MySQL Enterprise Server with a MySQL Client with
          --ssl-ca parameter enabled.
          We get an ERROR 2026 (HY000): SSL connection error: unknown error number.
          
          Solution:
          The root cause of the problem was determined to be the difference in handling
          of the certificates by OpenSSL(Enterprise) and yaSSL(Community). OpenSSL expects
          a blank certificate to be sent when a parameter (ssl-ca, or ssl-cert or ssl-key)
          has not been specified.On the other hand yaSSL doesn't send any certificate and 
          since OpenSSL does not expect this behaviour it returns an Unknown SSL error.
          The issue was resolved by yaSSL adding capability to send blank certificate when
          any of the parameter is missing.
------------------------------------------------------------
revno: 7222
committer: Olav Sandstaa <olav.sandstaa@oracle.com>
branch nick: cost-handler2
timestamp: Wed 2014-01-08 11:32:25 +0100
message:
  WL#7209 Handler interface for new cost model
  
  New handler interface for cost estimation functions. Main change
  is that the cost estimate is returned in a Cost_estimate
  object.
  
  The worklog implements the following three new handler functions:
  
    virtual Cost_estimate table_scan_cost();
  
    virtual Cost_estimate index_scan_cost(uint index, double ranges, 
                                          double rows);
  
    virtual Cost_estimate read_cost(uint index, double ranges,
                                    double rows);
  
  In this worklog these functions will just be wrappers around the
  existing handler functions.
   
------------------------------------------------------------
revno: 7221 [merge]
committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-08 11:24:14 +0100
message:
  Merge from 5.6.16 -> trunk
    ------------------------------------------------------------
    revno: 3902.305.1
    committer: Balasubramanian Kandasamy <balasubramanian.kandasamy@oracle.com>
    branch nick: mysql-5.6.16-release
    timestamp: Tue 2014-01-07 19:09:54 +0100
    message:
      Fix for fedora and rpm uln package build
------------------------------------------------------------
revno: 7220
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2014-01-08 14:40:53 +0530
message:
  Fixing a 32-bit compilation issue. 
------------------------------------------------------------
revno: 7219
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-test
timestamp: Wed 2014-01-08 10:08:42 +0100
message:
  Bug#14631159: ALLOW COMPILATION USING CLANG IN C++11 MODE 
  
  Additional patch: Fix new compilation error in C++11 mode.
------------------------------------------------------------
revno: 7218 [merge]
committer: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
branch nick: mysql-trunk-17324415
timestamp: Wed 2014-01-08 10:21:39 +0530
message:
  Merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.176 [merge]
    committer: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
    branch nick: mysql-5.6-17324415
    timestamp: Wed 2014-01-08 10:16:43 +0530
    message:
      Merge from mysql-5.5 to mysql-5.6
        ------------------------------------------------------------
        revno: 2875.545.108
        committer: Nisha Gopalakrishnan <nisha.gopalakrishnan@oracle.com>
        branch nick: mysql-5.5-17324415
        timestamp: Wed 2014-01-08 10:04:05 +0530
        message:
          BUG#17324415:GETTING MYSQLD --HELP AS ROOT EXITS WITH 1
          
          Analysis
          --------
          
          Running 'MYSQLD --help --verbose' as ROOT user without
          using '--user' option displays the help contents but
          aborts at the end with an exit code '1'.
          
          While starting the server, a validation is performed to
          ensure when the server is started as root user, it should
          be done using '--user' option. Else we abort. In case
          of help, we dump the help contents and abort.
          
          Fix:
          ---
          During the validation, we skip aborting the server incase
          we are using the help option under the condition mentioned
          above.
          
          NOTE: Test case has not been added since it requires using 
                'root' user.
------------------------------------------------------------
revno: 7217
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-warnings
timestamp: Tue 2014-01-07 17:11:20 +0100
message:
  Bug#17959689: MAKE GCC AND CLANG GIVE CONSISTENT COMPILATION WARNINGS
  
  This patch sets the same compiler warning flags when using Clang as
  for GCC regardless of debug or release build. With the exception of
  -Werror which is still only set for GCC when using MYSQL_MAINTAINER_MODE
  (default ON when building debug versions).
  
  This makes it easier to avoid introducing GCC build breaks when using
  Clang as compiler (e.g. on OS X).
  
  The patch also moves setting of some warning flags from configure.cmake
  to cmake/maintainer.cmake where the rest of the flags are set.
  
  Also note that after this patch, the list of warning flags listed during
  configuration is the list of flags actually used for compiling the
  server (excluding memcached and cluster).
  
  In addition, the following warning flag changes are done:
  * -Wformat-security is added for both GCC/Clang. This is desidered by
    Fedora (https://fedoraproject.org/wiki/Format-Security-FAQ). Compiling
    trunk gives no new warnings with this flag added.
  
  * -Wwrite-strings is only set for C code. It has different meaning for C++
    where it is default on anyway.
  
  * CMake check for -Wdeclaration-after-statement is removed as this flag
    is supported by all current versions of GCC/Clang.
  
  * -Wunused is removed as it included with -Wall and -Wextra.
  
  * -Wno-strict-aliasing is removed as it has no effect when compiling
    with -fno-strict-aliasing. If -fno-strict-aliasing at some point in
    the future is removed, we will very likely want to get strict
    alias warnings reported.
  
  * -Wno-compare-distinct-pointer-types is now set when compiling GUnit
    to silence warnings for code we don't control.
  
  * COMPILE_FLAG_WERROR is removed as it is unused.
------------------------------------------------------------
revno: 7216
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-contrib-17606942-between
timestamp: Tue 2014-01-07 11:00:18 +0100
message:
  Bug#70622 error result when use between...and againest bigint unsigned
  Bug#17606942 ERROR RESULT WHEN USE BETWEEN...AND AGAINEST BIGINT UNSIGNED
  
  Post-push fix:
  
  For unsigned value:
    value BETWEEN <some negative number> AND <some number>
    rewritten to
    value BETWEEN 0 AND <some number>
  
  Also: record new results for incorrect .result files.
------------------------------------------------------------
revno: 7215
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Tue 2014-01-07 12:28:57 +0100
message:
  Bug#17921777 CRASH IN MY_DECIMAL::OPERATOR= WHEN ORDERING BY SUBQUERY
  
  Another case of an Item returning NULL when maybe_null == false.
  Item_singlerow_subselect::val_decimal() returned NULL.
  Fix: let subselect_single_select_engine::may_be_null() return true
  if the subquery has a 'limit' clause.
------------------------------------------------------------
revno: 7214 [merge]
committer: Bharathy Satish <bharathy.x.satish@oracle.com>
branch nick: mysql-trunk-base
timestamp: Tue 2014-01-07 16:49:46 +0530
message:
  Bug #17503460 MYSQL READ ONLY DOESN'T WORK FOR DROP TRIGGER
  
  Null Merge to trunk.
    ------------------------------------------------------------
    revno: 3902.291.175 [merge]
    committer: Bharathy Satish <bharathy.x.satish@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2014-01-07 16:34:31 +0530
    message:
      Bug #17503460 MYSQL READ ONLY DOESN'T WORK FOR DROP TRIGGER
      
      Merge to 5.6
        ------------------------------------------------------------
        revno: 2875.545.107
        committer: Bharathy Satish <bharathy.x.satish@oracle.com>
        branch nick: mysql-5.5
        timestamp: Tue 2014-01-07 15:11:05 +0530
        message:
          Bug #17503460 MYSQL READ ONLY DOESN'T WORK FOR DROP TRIGGER
          
          Problem: Drop Trigger succeeds even after setting read_only 
          variable to ON.
          Fix: Fix is to report the standard error 
          (ER_OPTION_PREVENTS_STATEMENT)when global read_only variable 
          is set to ON.
------------------------------------------------------------
revno: 7213
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Tue 2014-01-07 11:13:16 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #4
  Do the stricter sanity check on decimal buffers, also for valgrind/purify builds.
------------------------------------------------------------
revno: 7212
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2014-01-07 15:40:33 +0530
message:
  Adding some checks to determine the root cause of pb2 failure.
  approved by Jimmy over IM.
------------------------------------------------------------
revno: 7211
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-contrib-17606942-between
timestamp: Mon 2014-01-06 16:31:35 +0100
message:
  Bug#70622 error result when use between...and againest bigint unsigned
  Bug#17606942 ERROR RESULT WHEN USE BETWEEN...AND AGAINEST BIGINT UNSIGNED
  
  Do value comparisons using unsigned arithmetic for unsigned values,
  signed arighmetic for signed values.
  
  Based on a contribution from xiaobin lin
------------------------------------------------------------
revno: 7210
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Mon 2014-01-06 15:19:09 +0100
message:
  Bug#18004599 LINKTEST FAILURES ON SOLARIS SPARC AND LINUX 64 BIT PLATFORMS
  
  scripts/mysql_config depends on client and server targets,
  so ADD_SUBDIRECTORY(scripts) after all source code directories.
------------------------------------------------------------
revno: 7209
committer: Jorgen Loland <jorgen.loland@oracle.com>
branch nick: mysql-trunk-17587952
timestamp: Mon 2014-01-06 13:42:08 +0100
message:
  Bug#17587952: ADJUST EQ_RANGE_INDEX_DIVE_LIMIT DEFAULT VALUE
  
  Adjust default value for system variable 
  "eq_range_index_dive_limit" from 10 to 200. Change requested by 
  community.
------------------------------------------------------------
revno: 7208 [merge]
committer: Vishal Chaudhary <vishal.chaudhary@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-06 12:09:49 +0100
message:
  Empty version change upmerge
    ------------------------------------------------------------
    revno: 3902.291.174 [merge]
    committer: Vishal Chaudhary <vishal.chaudhary@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-01-06 12:04:40 +0100
    message:
      Empty version change upmerge
        ------------------------------------------------------------
        revno: 2875.545.106
        author: laasya.moduludu@oracle.com
        committer: Laasya Moduludu <laasya.moduludu@oracle.com>
        branch nick: mysql-5.5
        timestamp: Mon 2014-01-06 11:43:05 +0100
        message:
          Raise version number after cloning 5.5.36
    ------------------------------------------------------------
    revno: 3902.291.173
    author: vishal.chaudhary@oracle.com
    committer: Vishal Chaudhary <vishal.chaudhary@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-01-06 11:43:05 +0100
    message:
      Raise version number after cloning 5.6.16
------------------------------------------------------------
revno: 7207
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug17510411_mysql-trunk
timestamp: Mon 2014-01-06 14:59:10 +0530
message:
  Bug#17510411: AN INDEPENDENT INSTANCE WITH SEMISYNC ENABLED
  STILL NEED ACK FROM SLAVE
  
  Problem:
  ========
  When Semi synchronous replication is configured on an
  independent server without any slave and
  "rpl_semi_sync_master_wait_no_slave" is set to "off" the
  master still waits for an ack from the slave.
  
  Analysis:
  ========
  As per the documentation if the value of the variable
  "rpl_semi_sync_master_wait_no_slave" is set to OFF, the
  master reverts to normal replication if the slave
  count drops to zero during the time out period. But in the
  existing code the above changes are not implemented.
  
  Fix:
  ===
  When "rpl_semi_sync_master_wait_no_slave" is set to off
  check if semi sync is switched on or not if on then check if
  any slaves are connected or not. If not connected switch_off
  the semi sync and turn it on when user sets the variable to
  on.
------------------------------------------------------------
revno: 7206 [merge]
committer: Jimmy Yang <jimmy.yang@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-06 16:50:03 +0800
message:
  Merge from mysql-trunk to mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.172
    tags: clone-5.6.16-build
    committer: Jimmy Yang <jimmy.yang@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-01-06 16:24:28 +0800
    message:
      Fix #Bug 17800829 - MEMCACHED.MEMC247_CACHE_POLICY CRASHES IN PB2 WITH
      ASSERTION `IT->SLABS_CLSID 
      
      rb://3890 approved by Sunny Bains
------------------------------------------------------------
revno: 7205
committer: Jorgen Loland <jorgen.loland@oracle.com>
branch nick: mysql-trunk-18023222
timestamp: Mon 2014-01-06 09:16:20 +0100
message:
  BUG#18023222 OPTIMIZER TRACE ERROR ON RANGE ANALYSIS OF
               INDEX ON A BINARY COLUMN
  
  The opt trace code in the the range optimizer outputs raw binary 
  data to the optimizer trace. This may create unprintable 
  characters. This patch makes sure binary data is printed in hex
  format.
------------------------------------------------------------
revno: 7204
committer: Allen lai <zheng.lai@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-06 14:41:28 +0800
message:
  Revert Annamalai's push (revno:7199) which broke windows build.
------------------------------------------------------------
revno: 7203 [merge]
committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-06 11:35:18 +0530
message:
  Updated/added copyright headers
    ------------------------------------------------------------
    revno: 3902.291.171 [merge]
    committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-01-06 11:33:08 +0530
    message:
      Update/added copyright headers
        ------------------------------------------------------------
        revno: 2875.545.105
        tags: clone-5.5.36-build
        committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
        branch nick: mysql-5.5
        timestamp: Mon 2014-01-06 10:52:35 +0530
        message:
          Updated/added copyright headers
------------------------------------------------------------
revno: 7202 [merge]
committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-06 11:32:04 +0530
message:
  Updated/added copyright headers
    ------------------------------------------------------------
    revno: 3902.291.170
    committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2014-01-06 10:53:19 +0530
    message:
      Updated/added copyright headers
------------------------------------------------------------
revno: 7201
committer: Murthy Narkedimilli <murthy.narkedimilli@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2014-01-06 10:55:27 +0530
message:
  Updated/added copyright headers
------------------------------------------------------------
revno: 7200 [merge]
committer: Venkata Sidagam <venkata.sidagam@oracle.com>
branch nick: trunk
timestamp: Fri 2014-01-03 15:39:55 +0530
message:
  Bug #17209750 OLD FILES NOT BEING REMOVED FROM 
                PERFORMANCE_SCHEMA.FILE INSTANCES
        
  Merging from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.169
    committer: Venkata Sidagam <venkata.sidagam@oracle.com>
    branch nick: 5.6
    timestamp: Fri 2014-01-03 15:38:15 +0530
    message:
      Bug #17209750 OLD FILES NOT BEING REMOVED FROM 
                    PERFORMANCE_SCHEMA.FILE_INSTANCES
      
      The test case is having issues(basically some timining issues).
      Need to refactor the test case. Hence removed for time being.
------------------------------------------------------------
revno: 7199
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2014-01-03 15:11:37 +0530
message:
  Bug#18026524 COMPILATION ERROR IN STORAGE/INNOBASE/FIL/FIL0FIL.CC
  
  Problem:
  
  Compilation fails on 32-bit machines.  The printf format specifier %lu
  works correctly for 64-bit machines, but will generate a warning for
  32-bit machines because of the data type differences.  
  
  Solution:
  
  Use the standard PRIuPTR format specifier. 
  
  approved by jimmy over IM.
------------------------------------------------------------
revno: 7198
committer: Roy Lyseng <roy.lyseng@oracle.com>
branch nick: mysql-trunk-sb3
timestamp: Fri 2014-01-03 08:33:33 +0100
message:
  Bug#16820562 Bad column names are not rejected at 'prepare', only at 'execute'
  
  Follow-up fix: Add early preparation of values used for update in a
  multi-table UPDATE statement, based on a suggestion from Guilhem Bichot.
------------------------------------------------------------
revno: 7197
committer: Roy Lyseng <roy.lyseng@oracle.com>
branch nick: mysql-trunk-sb3
timestamp: Thu 2014-01-02 14:31:30 +0100
message:
  Bug#16820562 Bad column names are not rejected at 'prepare', only at 'execute'
  
  Based on a patch by Prabakaran Thirumalai.
  
  INSERT...SELECT statement reports non-existing column names during
  execution phase rather than in the preparation phase, whereas
  INSERT...VALUES reports these issues during preparation phase.
  
  The function mysql_prepare_insert() resolves columns and values for
  ON DUPLICATE KEY UPDATE only when VALUES clause is present.
  With SELECT, these lists are resolved by select_insert::prepare(), but this
  function is not called during statement preparation, only during execution.
  
  Fixed by letting mysql_prepare_insert() resolve these lists during
  preparation. An unfortunate effect of this is that some resolver actions
  for INSERT statements are now done at three different places.
  We hope to be able to refactor this code later so that the lists can be
  resolved at a single place.
------------------------------------------------------------
revno: 7196 [merge]
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug17842137_mysql-trunk
timestamp: Thu 2014-01-02 11:10:09 +0530
message:
  Merge from mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.168
    committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
    branch nick: Bug17842137_mysql-5.6
    timestamp: Thu 2014-01-02 11:01:12 +0530
    message:
      Bug#17842137:ASSERT IN ROW BASED REPLICATION WHEN
      TRANSACTION CACHE SIZE IS EXACTLY 32768
      
      Problem:
      ========
      When the binlog's IO_CACHE grows up to exact 32768 bytes it
      causes binlog events to get corrupt, if this transaction
      precedes with a transaction whose IO_CACHE size is >32768.
      
      Analysis:
      ========
      On the master during the execution of a transaction all the
      events that are related to that transaction will be written
      to the IO_CACHE. The size of the IO_CACHE is 32768.
      
      The transaction whose events can fit within the IO_CACHE
      are never flushed to disk. During flush operation they do
      nothing but simply set the cache->read_end and end_of_file
      to current size. At the time of writing to the binlog the
      cache is read back and if CRC is enabled checksum is
      calculated if not then the content is written to binlog file.
      
      If the transaction size exceeds 32768 then it will be
      written to a temporary file and the cache is reinited so
      that remaining events can be written to cache. During
      writing to binary log file this temp file is read back.
      
      In the bug scenario the transaction size grows exactly to
      32768, and during flush operation it expects current size of
      cache to be < 32768. Which is incorrect ideally it should
      have been <= 32768. As the size is still equal to IO_CACHE
      size.
      
      Because of the incorrect check cache is marked for flush but
      the writing function "my_b_write" doesn't flush the buffer
      to disk as it expects cache size to be > 32768 and the cache
      is reinited without writing to temp file. When the cache is
      read back it finds the buffer to be empty and tries to fill
      it from temp file which wrong. Hence the buffer is filled
      with some other transaction related data causing corruption.
      
      
      Fix:
      ===
      During flush the check for size has been changed from "<" to
      "<=".
------------------------------------------------------------
revno: 7195
committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
branch nick: mysql-trunk-bug17911445
timestamp: Tue 2013-12-31 16:23:39 +0700
message:
  This patch fixes the bug#17911445 - TC_LOG_PAGE_SIZE SHOULD BE UNFLUSHABLE OR
  SERVER CRASHES IF 2 XA SES INSTALLED.
  
  The status variable tc_log_page_size is directly bound to tc_log_page_size 
  source variable, which is setup once in TC_LOG_MMAP::open().
  Running of statement FLUSH STATUS would cause it to be reset to zero.
  Then during doing implicit commit the TC_LOG_MMAP::unlog() would
  attempt to divide by it that led to crash.
  
  To fix this bug a type of status variable tc_log_page_size was changed to 
  SHOW_LONG_NOFLUSH that denies reset of status variable value to zero.
  
  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.
------------------------------------------------------------
revno: 7194 [merge]
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-31 12:30:48 +0900
message:
  Merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.167
    committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2013-12-31 12:29:00 +0900
    message:
      Follow up for Bug#16249481 fix.
      If flush_rbt is active (in recovery phase), buf_page_t::space and buf_page_t::offset cannot be invalidated until the bpage is removed from flush_list.
      
        * revno: 5677
        * committer: Sunny Bains <Sunny.Bains@Oracle.Com>
        * branch nick: 5.6
        * timestamp: Tue 2013-12-10 14:30:34 +0530
        * message:
        *  Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT
        *
        *  Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON.
        *
        *  If this option is enabled then use atomic reference counting to track
        *  block use. If it is off then use the old way.
        *   *  Approved by Yasufumi Kinoshita rb#3958.
------------------------------------------------------------
revno: 7193 [merge]
committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2013-12-30 13:53:28 +0530
message:
  Bug#17065383: Merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.166
    committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
    branch nick: bug_17065383
    timestamp: Mon 2013-12-30 13:40:45 +0530
    message:
      Bug#17065383: PASSWORD VALIDATE PLUGIN STORES HASH OF
                    LOWERCASE PASSWORD BY MISTAKE
      
      PROBLEM: Dictionary check was done on the original
               password string (converting it to lowercase), 
               which leads to storing a wrong password hash
               for the user.
      
      SOLUTION: A copy of the string is created and all the
                string comparisons is done on it.
------------------------------------------------------------
revno: 7192 [merge]
committer: Arun Kuruvila <arun.kuruvila@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2013-12-30 12:12:25 +0530
message:
  Merging from mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.165 [merge]
    committer: Arun Kuruvila <arun.kuruvila@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2013-12-30 12:00:48 +0530
    message:
      Merging from mysql-5.5 to mysql-trunk.
        ------------------------------------------------------------
        revno: 2875.545.104
        committer: Arun Kuruvila <arun.kuruvila@oracle.com>
        branch nick: mysql-5.5
        timestamp: Mon 2013-12-30 11:39:55 +0530
        message:
          Bug #16324629 : SERVER CRASHES ON UPDATE/JOIN FEDERATED + 
                          LOCAL TABLE WHEN ONLY 1 LOCAL ROW
          
          Description: When updating a federated table with UPDATE...
          JOIN, the server consistently crashes with Signal 11 when
          only 1 row exists in the local table involved in the join 
          and that 1 row can be joined with a row in the federated 
          table.
          
          Analysis: Interaction between the federated engine and the
          optimizer results in the crash. In our scenario, ie, local
          table having only one row, the program is following a 
          different path because the table is treated as a constant
          table by the join optimizer. So in this scenario 
          "index_read()" is happening in the prepare phase,
          since optimizer plan is different for constant table joins.
          In this case, "index_read_idx_map()" (inside handler.cc) is
          calling "index_read()" and inside "index_read()", matching 
          rows are fetched and "stored_result" gets populated by 
          calling "store_result()". And just after "index_read()", 
          "index_end()" function is called. And in the "index_end()",
          its freeing the "stored_result" by calling "free_result()".
          So when it reaches the execution phase, in "position()" 
          function, we are getting assertion at 
          "DBUG_ASSERT(stored_result);". In all other scenarios (ie, 
          table with more than 1 row), optimizer plan is different 
          and "index_read()" is happening in the execution phase.
          
          Fix: So my fix is to have a separate ha_federated member
          function for "index_read_idx_map()" which will handle 
          federated engine separately. So that position() will be 
          called before index_end() call in constant table scenario.
------------------------------------------------------------
revno: 7191 [merge]
committer: Aditya A <aditya.a@oracle.com>
branch nick: mysql-trunk
timestamp: Sun 2013-12-29 17:18:52 +0530
message:
  Bug#12762390 SHOW INNODB STATUS REPORTS NON-FK 
               ERRORS IN THE FK SECTION
  
  [Merge from 5.6]
    ------------------------------------------------------------
    revno: 3902.291.164 [merge]
    committer: Aditya A <aditya.a@oracle.com>
    branch nick: mysql-5.6
    timestamp: Sun 2013-12-29 17:10:21 +0530
    message:
      Bug#12762390 SHOW INNODB STATUS REPORTS NON-FK 
                   ERRORS IN THE FK SECTION
      
      [Merge from 5.5]
        ------------------------------------------------------------
        revno: 2875.545.103
        committer: Aditya A <aditya.a@oracle.com>
        branch nick: mysql-5.5
        timestamp: Sun 2013-12-29 16:55:24 +0530
        message:
          Bug#12762390 SHOW INNODB STATUS REPORTS NON-FK 
                       ERRORS IN THE FK SECTION
          
          ANALYSIS
          --------
          
          Any error during the renaming of the table was 
          incorrectly logged in the dict_foreign_err_file
          and it showed up in foreign key section when
          we give the query "show engine innodb status".
          
          FIX
          ---
          Prevent renaming error from being logged in 
          dict_foreign_err_file section.  
          
          [Aprooved by marko #rb 2501 ]
------------------------------------------------------------
revno: 7190 [merge]
committer: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
branch nick: mysql-trunk
timestamp: Sat 2013-12-28 22:11:21 +0530
message:
  Bug#17862905: MYSQLDUMP CREATES USELESS METADATA LOCKS
  
  Merging from 5.6 to trunk.
    ------------------------------------------------------------
    revno: 3902.291.163
    committer: Praveenkumar Hulakund <praveenkumar.hulakund@oracle.com>
    branch nick: mysql_5_6
    timestamp: Sat 2013-12-28 22:08:40 +0530
    message:
      Bug#17862905: MYSQLDUMP CREATES USELESS METADATA LOCKS
      
      Problem Description:
      --------------------
      While taking the backup using tool "mysqldump" with option
      "--single-transaction", MDL lock is acquired on each table dumped.
      But these locks are not released until the backup operation is
      completed. Any concurrent DDL operation on those tables will be
      blocked until backup operation is completed. Moreover such blocked
      DDL operations will also block other concurrent DML operations
      (Since DDL has priority over DML) creating pile-up.
      
      Note that officially mysqldump --single-transaction is documented as
      not working/not supported in presence of concurrent DDL statements.
      But it might work for some people in some scenarios and before 5.5,
      due to absence of MDL, combination of "mysqldump --single-transaction"
      and concurrent DDL didn't create pile-up of DML statements.
      
      Analysis:
      --------------------
      "mysqldump" start transaction with consistent snapshot and sets
      isolation level to "repeatable read" when it is used with option
      "--single-transaction".  Data of all the tables is dumped using
      SELECT statement as part of this transaction. MDL lock SR is
      taken on all these tables and held till the transaction is 
      committed or rolled back. Any other incompatible MDL lock request
      on these tables will wait until timeout or "mysqldump" operation
      is completed.
      
      As result concurrent DDL operations on the tables which were dumped
      will be blocked till the end of dump or timeout.
      
      Note that once table is dumped it won't be used again by "mysqldump".
      This fact and the fact that "mysqldump --single-transactions" produces
      backup with validity point at the start of transaction (and also
      retrieves binlog position for backup at the start of transaction) means
      that "mysqldump --single-transaction" can release MDL on tables which
      it has already dumped without introducing more problems with
      consistency.
      
      Fix:
      --------------------
      To make "mysqldump --single-transaction" to release locks once
      dumping of the table is done, modified mysqldump client code
      to dump table data after setting a savepoint. Once dumping of
      table data is over, added code to rollback to the savepoint set.
      Rolling back to savepoint will release MDL lock acquired for the
      table.
      
      But as of now, on rollback to savepoint, MDL locks are
      not released if binlog is on. This logic is added to avoid 
      dropping of tables before rollback to savepoint event is 
      written to binlog. But when binlog handlerton can clear cache
      and can safely rollback to savepoint without writing an event for
      rollback to savepoint then also we are not releasing the MDL
      locks. 
      
      This is fixed by introducing a new handlerton function call
      savepoint_rollback_can_release_mdl. We call this function to
      check with each storage engine participating in transaction
      whether it is safe to release MDL after rollback to savepoint.
      Metadata locks are released only if all the storage engines
      agreed that it is a safe thing to do.
      
      1) For InnoDB storage engine this handlerton function can allow
         release of MDL locks if transaction has not acquired any InnoDB
         locks.
      
      2) For Binlog this handlerton function can allow release of MDL
         locks if rollback to savepoint will completely remove any
         traces of transaction from cache.
      
      3) Absence of this method for any storage engine means it is not
         safe to release MDL locks.
      
      Note that this patch doesn't make "mysqldump --single-transaction"
      safe in general case in presence of concurrent DDL. Nor makes it
      officially supported in this case. It just allows to avoid problem
      with unnecessary concurrent DDL blocking and associated DML query 
      pile-up in some specific cases when it might work.
------------------------------------------------------------
revno: 7189
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-27 22:46:12 +0900
message:
  WL#6642 - InnoDB: multiple page_cleaner threads
  
  'innodb_page_cleaners' option is added to perform flushing dirty pages
  and keeping free pages for each buffer pool instance in parallel.
  Increasing the value of the options increases scalability of the activity.
  
  'innodb_page_cleaners'
  Variable Scope   | Global
  Dynamic Variable | No
  Type             | numeric
  Default          | 1
  Range            | 1 .. 64
  
  This patch was originally written by Inaam Rana,
  and refactored by Yasufumi Kinoshita.
  
  rb#3004 Approved by Kevin Lewis and Marko Makela
------------------------------------------------------------
revno: 7188 [merge]
committer: Venkata Sidagam <venkata.sidagam@oracle.com>
branch nick: trunk
timestamp: Fri 2013-12-27 14:17:07 +0530
message:
  Bug #17209750 OLD FILES NOT BEING REMOVED FROM 
                PERFORMANCE_SCHEMA.FILE_INSTANCES
  
  Merging from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.162
    committer: Venkata Sidagam <venkata.sidagam@oracle.com>
    branch nick: 5.6
    timestamp: Fri 2013-12-27 14:11:20 +0530
    message:
      Bug #17209750 OLD FILES NOT BEING REMOVED FROM 
                    PERFORMANCE_SCHEMA.FILE_INSTANCES
      
      Description: "When a file is deleted from the disk, it is
      also removed from the file_instances table."  This is not
      true on either 5.5.23 or 5.6.11.  When there are three 
      relay log files on disk, but the file_instances table 
      lists more number of relay logs. Even this case is 
      happening for master bin and slave bin logs.
      
      Analysis: When we are deleting the 
      slave-relay-bin/master-bin/slave-bin log files we were
      using the my_delete() function which is not P_S 
      instrumented function. Hence, the files are not removed
      from the file_instances table.
      
      Fix: As part of the fix we replaced my_delete() 
      function with P_S instrumented mysql_file_delete() function.
------------------------------------------------------------
revno: 7187 [merge]
committer: Shaohua Wang <shaohua.wang@oracle.com>
branch nick: mysql-trunk-bugfix1
timestamp: Thu 2013-12-26 18:00:50 +0800
message:
  Merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.161
    committer: Shaohua Wang <shaohua.wang@oracle.com>
    branch nick: mysql-5.6-bugfix1
    timestamp: Thu 2013-12-26 17:47:04 +0800
    message:
      BUG#17978763 - SEGV IN FTSPARSE() BOOLEAN MODE QUERY AGAINST '\"\"@117'
      
      We check whether node is null in fts_ast_term_set_distance, and do nothing
      if the node is null.
      
      rb://4230 approved by Jimmy.Yang
------------------------------------------------------------
revno: 7186 [merge]
committer: Satya Bodapati <satya.bodapati@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-26 14:47:33 +0530
message:
  Merge testcase for BUG#16752251 from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.160 [merge]
    committer: Satya Bodapati <satya.bodapati@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2013-12-26 14:39:11 +0530
    message:
      Merge testcase for BUG#16752251 from mysql-5.5 to mysql-5.6
        ------------------------------------------------------------
        revno: 2875.545.102
        committer: Satya Bodapati <satya.bodapati@oracle.com>
        branch nick: mysql-5.5
        timestamp: Thu 2013-12-26 14:33:52 +0530
        message:
          BUG#16752251 - INNODB DOESN'T REDO-LOG INSERT BUFFER MERGE OPERATION IF
                         IT IS DONE IN-PLACE
          
          Add testcase as innodb-change-buffer-recovery.test
------------------------------------------------------------
revno: 7185 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-24 11:01:11 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.159
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2013-12-24 10:59:45 +0530
    message:
      Fixing a pb2 issue.  This test case times out under valgrind.
      Not running it under valgrind until further notice.
------------------------------------------------------------
revno: 7184
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2013-12-23 21:53:39 +0530
message:
  Fixing a pb2 issue.  The test had problem with 4k InnoDB page size. 
------------------------------------------------------------
revno: 7183 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2013-12-23 16:10:56 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.158
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2013-12-23 12:11:26 +0530
    message:
      Bug #17991524 THE DEBUG SYNC POINT IB_CORRUPT_PAGE0 IS NOT WORKING AS EXPECTED
      
      Problem:
      
      The debug point ib_corrupt_page0 is not working reliably.  This is because of
      the background i/o threads.  If the page 0 of a tablespace is flushed by a user
      session (the SET command for variable innodb_buf_flush_list_now), then the
      debug point ib_corrupt_page0 will be enabled and will work as expected.  But if
      the page 0 of the tablespace is flushed by a background i/o thread, then
      ib_corrupt_page0 will not work as expected.  
      
      Solution:
      
      Removing the ib_corrupt_page0 debug point and re-writing the test case using
      some other means.  
      
      rb#4216 approved by Jimmy.
------------------------------------------------------------
revno: 7182
committer: prabakaran thirumalai <prabakaran.thirumalai@oracle.com>
branch nick: mysql-trunk-review
timestamp: Mon 2013-12-23 08:16:20 +0530
message:
  Bug#16859266 MEMORY LEAK IN FILE_QUERY_LOG::OPEN()
  
  Analysis:
  During shutdown, my_file_info is freed before calling
  query_logger.cleanup() leading to memory leak.
------------------------------------------------------------
revno: 7181 [merge]
committer: Aditya A <aditya.a@oracle.com>
branch nick: mysql-trunk
timestamp: Sun 2013-12-22 22:09:39 +0530
message:
  Bug#17287443	ERROR(1030): GOT ERROR -1 FROM STORAGE ENGINE
  
  Post push test failure fix in test script.
    ------------------------------------------------------------
    revno: 3902.291.157
    committer: Aditya A <aditya.a@oracle.com>
    branch nick: mysql-5.6
    timestamp: Sun 2013-12-22 22:07:51 +0530
    message:
      Bug#17287443	ERROR(1030): GOT ERROR -1 FROM STORAGE ENGINE
      
      Post push test failure fix in test script.
------------------------------------------------------------
revno: 7180
committer: kevin.lewis@oracle.com
branch nick: mysql-trunk
timestamp: Fri 2013-12-20 11:07:12 -0600
message:
  A recent change for Bug 16249481 introduced compiler warnings on
  Windows 64 builds and a compiler error on Windows 32 builds.
  This patch contains typecasting in a few places to eliminate the
  WIN64 warnings along with a few nonfunctional cleanup changes.
  
  The WIN32 compile error was fixed previously with a normal assert
  in os0atomic.h.  This patch enhances that fix by;
  1) Rearrange macros so that they are in the order by lint, ulint,
     uint32, uint64.
  2) Deleted some unused macros.
  3) Added C++-style casts for the Windows versions of atomic macros.
     Used static_cast<> as a first choice, but used reinterpret_cast<>
     where the Windows VS2010 compiler required it.
  4) The return value for the win32 versions of os_atomic_increment_uint32
     and os_atomic_decrement_uint32() were not returning the correct value.
     They were returning the original value.  To be consistent with these
     macros/functions on other OSes, they should return the new value.
     This had no affect since the return value is not currently being checked.
  5) HAVE_ATOMIC_BUILTINS_64 was not being defined for WIN64 as intended
     because of an error.  The code used #ifndef _WIN32 to denote WIN64, but
     actually, on WIN64, WIN32 is also defined.  So this patch changes it to
     #ifdef _WIN64.  The macro that this activated is used by 64-bit monitor
     integers, so it is not critical InnoDB code, but may improve performance
     on WIN64 some intances.
  
  Patch approved on RB#4181 by Marko
------------------------------------------------------------
revno: 7179 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-20 19:15:46 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.156
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2013-12-20 19:14:13 +0530
    message:
      Fixing a pb2 issue.  The combination gcov + embedded + crash test does not work.
------------------------------------------------------------
revno: 7178 [merge]
committer: Neeraj Bisht <neeraj.x.bisht@oracle.com>
branch nick: trunk
timestamp: Fri 2013-12-20 15:17:28 +0530
message:
  Bug#16539903 - SERVER CRASHES IN IN HA_MYISAM::FT_INIT_EXT WITH 
  	       A FROM SUBQUERY
  
  Problem:-
  Full-text search combined with derived tables causes a segment fault.
  
  Analysis:-
  In query like
  EXPLAIN SELECT  MATCH(ft) AGAINST( "test" IN BOOLEAN MODE) FROM
  ( SELECT  ft FROM t1 ) AS t;
  
  We are creating a temporary table for the subquery result table.
  But after wl-5274(where we are postponed materialization), we will create
  tmp table, but skip instantiation of temporary table.
  
  When we have full-text function in our main select query, we are
  going to call Item_func_match::init_search() for all the full-text item.
  There we are going to take care about
  condition like
  --> match ... against (null)
  and we are going to call handler::ft_init_ext(), which is used to
  Initialize full-text index scan(which need table to be initialized).
  but as we havnt initialized the table. This cause a segmentation fault.
  
  Solution:-
  When we have full-text function depend on derived tables, we will give an 
  error saying that we can't do FULLTEXT search on material subquery.
    ------------------------------------------------------------
    revno: 3902.291.155
    committer: Neeraj Bisht <neeraj.x.bisht@oracle.com>
    branch nick: 5.6
    timestamp: Fri 2013-12-20 15:15:00 +0530
    message:
      Bug#16539903 - SERVER CRASHES IN IN HA_MYISAM::FT_INIT_EXT WITH 
      	       A FROM SUBQUERY
      
      Problem:-
      Full-text search combined with derived tables causes a segment fault.
      
      Analysis:-
      In query like
      EXPLAIN SELECT  MATCH(ft) AGAINST( "test" IN BOOLEAN MODE) FROM
      ( SELECT  ft FROM t1 ) AS t;
      
      We are creating a temporary table for the subquery result table.
      But after wl-5274(where we are postponed materialization), we will create
      tmp table, but skip instantiation of temporary table.
      
      When we have full-text function in our main select query, we are
      going to call Item_func_match::init_search() for all the full-text item.
      There we are going to take care about
      condition like
      --> match ... against (null)
      and we are going to call handler::ft_init_ext(), which is used to
      Initialize full-text index scan(which need table to be initialized).
      but as we havnt initialized the table. This cause a segmentation fault.
      
      Solution:-
      When we have derived tables, instead of intializing full-text function at 
      optimization, we will initiate it at the time of execution . 
------------------------------------------------------------
revno: 7177
committer: Jorgen Loland <jorgen.loland@oracle.com>
branch nick: mysql-trunk-13814468
timestamp: Fri 2013-12-20 10:34:00 +0100
message:
  Bug#13814468: DYNAMIC RANGE IS SET UP TO BE USED WHEN TYPE 
                CONVERSION PROHIBITS RANGE ACCESS
  
  Consider a predicate of the form
  
     WHERE t1.a OP t2.b
  
  where OP is a comparison operator usable by range access. Assume
  that the join order is (t1,t2). For table t2, the optimizer may
  choose to use access method DYNAMIC RANGE which means that
  the range optimizer (and either range access or table/index scan)
  is run for each row in t1. However, if t1.a is not comparable to 
  t2.b, the range optimizer will not be able to create a range
  access plan. In other words, the execution of the range 
  optimizer for each row in t1 will be utterly pointless.
  
  The fix is to detect common cases of incompatibility in the 
  range optimizer when fields from two tables are compared.
------------------------------------------------------------
revno: 7176 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-20 12:07:54 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.154
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2013-12-20 12:05:46 +0530
    message:
      BUG 17335427 - INNODB CAN NOT USE THE DOUBLEWRITE BUFFER PROPERLY 
      
      Problem:
      
      Fixing a memory issue in my original fix.  This was identified from PB2
      failures.  If the page is uncompressed, then its size must be equal to
      UNIV_PAGE_SIZE.  The buf_page_is_corrupted() assumes the size of the
      uncompressed pages as equal to UNIV_PAGE_SIZE. 
      
      Solution:
      
      Call buf_page_is_corrupted() for uncompressed pages only if page size is
      equal to UNIV_PAGE_SIZE.
      
      approved by Yasufumi over IM.
------------------------------------------------------------
revno: 7175 [merge]
committer: Aditya A <aditya.a@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-20 11:38:39 +0530
message:
  Bug#17287443	ERROR(1030): GOT ERROR -1 FROM STORAGE ENGINE
  
  [Merge from 5.6]
    ------------------------------------------------------------
    revno: 3902.291.153
    committer: Aditya A <aditya.a@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2013-12-20 11:22:30 +0530
    message:
      Bug#17287443	ERROR(1030): GOT ERROR -1 FROM STORAGE ENGINE
      
      PROBLEM
      -------
      When we try to do DML operations in innodb 
      force recovery mode.we get a cryptic error
      message.
      ERROR(1030): GOT ERROR -1 FROM STORAGE ENGINE
      
      FIX
      ---
      Introduced a new error ER_INNODB_FORCE_RECOVERY 
      which will print proper error message. 
      
      [Approved by Kevin and Krunal #rb4095 and rb#4137] 
------------------------------------------------------------
revno: 7174
committer: bin.x.su@oracle.com
branch nick: mysql-trunk
timestamp: Fri 2013-12-20 09:49:06 +0800
message:
  BUG 17943198 - DIFFERENT MEMCACHED TEST FAILING ON PB2
  
  It's due to the modification of write_bin_log definition.
  The extern declaration in handler_api.cc should be consistent with it.
  
  Approved by Jimmy(rb://4207)
------------------------------------------------------------
revno: 7173
committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-19 23:12:31 +0530
message:
  Reverted back the chnages made to max_parts tests MTR run command
------------------------------------------------------------
revno: 7172
committer: magnus.blaudd@oracle.com
branch nick: trunk
timestamp: Thu 2013-12-19 17:28:42 +0100
message:
  Fix build failure for libevent being built twice
   -  cherrypick patches related to which libevent library is used when building "Ndb memcached" from trunk-cluster
   - now "Ndb memcached" uses the libevent bundled with MySQL Server
------------------------------------------------------------
revno: 7171 [merge]
committer: magnus.blaudd@oracle.com
branch nick: trunk
timestamp: Thu 2013-12-19 14:04:10 +0100
message:
  Merge
    ------------------------------------------------------------
    revno: 7145.1.1
    committer: magnus.blaudd@oracle.com
    branch nick: trunk-bug17964544
    timestamp: Thu 2013-12-19 13:51:47 +0100
    message:
      Bug#17964544BUILD OF LIBEVENT DEPENDS ON WITH_INNODB_MEMCACHED
       - Remove the hardcoding  to build libevent only in case Innodb memcache plugin was selected to build.
       - Use EXCLUDE_FROM_ALL on the libevent directory in order to make libevent build only when necessary
         when ano
------------------------------------------------------------
revno: 7170 [merge]
committer: Venkata Sidagam <venkata.sidagam@oracle.com>
branch nick: trunk
timestamp: Thu 2013-12-19 16:32:37 +0530
message:
  Bug #17780290 	PUBLISH THE GIS TEST FOR BUG#16451878
  
  Null merge from 5.6 to trunk
    ------------------------------------------------------------
    revno: 3902.291.152 [merge]
    committer: Venkata Sidagam <venkata.sidagam@oracle.com>
    branch nick: 5.6
    timestamp: Thu 2013-12-19 16:29:20 +0530
    message:
      Bug #17780290 	PUBLISH THE GIS TEST FOR BUG#16451878
      
      Merging from 5.5 to 5.6
------------------------------------------------------------
revno: 7169 [merge]
committer: Venkata Sidagam <venkata.sidagam@oracle.com>
branch nick: trunk
timestamp: Thu 2013-12-19 16:25:38 +0530
message:
  Bug #17780290 	PUBLISH THE GIS TEST FOR BUG#16451878
  
  Merging from 5.6 to trunk
    ------------------------------------------------------------
    revno: 3902.304.1 [merge]
    committer: Venkata Sidagam <venkata.sidagam@oracle.com>
    branch nick: 5.6
    timestamp: Thu 2013-12-19 16:23:15 +0530
    message:
      Bug #17780290 	PUBLISH THE GIS TEST FOR BUG#16451878
      
      Merging from 5.5 to 5.6
        ------------------------------------------------------------
        revno: 2875.545.101
        committer: Venkata Sidagam <venkata.sidagam@oracle.com>
        branch nick: 5.5
        timestamp: Thu 2013-12-19 16:08:38 +0530
        message:
          Bug #17780290 	PUBLISH THE GIS TEST FOR BUG#16451878
                
          Adding the test cases for the BUG#16451878.
------------------------------------------------------------
revno: 7168 [merge]
committer: Aditya A <aditya.a@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-19 16:19:13 +0530
message:
  Bug#17448389	 SYS_DATAFILES TABLE IS NOT UPDATED AFTER
                   RECOVERY FOR TABLES WITH .ISL PATH 
  Merge from 5.6
    ------------------------------------------------------------
    revno: 3902.291.151
    committer: Aditya A <aditya.a@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2013-12-19 16:06:45 +0530
    message:
      Bug#17448389	 SYS_DATAFILES TABLE IS NOT UPDATED AFTER
                       RECOVERY FOR TABLES WITH .ISL PATH 
      
      PROBLEM
      -------
      
      If user changes updates the path of .ibd files in 
      *.isl files and  does a crash recovery then tables 
      are loaded from the updated path,but SYS_DATAFILES
      are not updated. Now if the user stops and restarts
      the server in normal mode ,it will detect that the 
      there are two different copies of data directory
      (one in isl file and one in SYS_DATAFILES table)
      and both are valid ( we have not deleted the ibd
      file from the original path) and refuse to load the
      table and ask user to resolve the conflict.
      
      FIX
      ---
      Update the SYS_DATFILES to reflect the updated path 
      after crash recovery.
      
      [Aprroved by Kevin rb#4177]
------------------------------------------------------------
revno: 7167 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-19 15:19:00 +0530
message:
  Null merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.291.150
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2013-12-19 13:20:50 +0530
    message:
      Bug #17335427 INNODB CAN NOT USE THE DOUBLEWRITE BUFFER PROPERLY
      
      Problem:
      
      If the first page (page 0) of the single table tablespace is corrupted in the
      data file then our recovery doesn't progress even if there is a clean copy of
      the same available in the double write buffer.  
      
      Analysis:
      
      During recovery, our first step is to process the double write buffer.  We look
      at the pages in the double write buffer and determine its (space_id, page_no)
      details.  Each of the page in the double write buffer corresponds to a page in
      the .ibd data file.  Using the space_id information we need to map the page in
      the double write buffer to the corresponding ibd file.  This is done by reading
      the space_id information from the first page of the single table tablespace.
      If the first page of the single table tablespace is corrupted, then we are
      unable to determine the data file to which a particular page in the double
      write buffer belongs to.  So we need to explore and see if we can determine the
      space_id in other means.
      
      Solution:
      
      Assume a particular page size.  Read N number of pages from the ibd file.
      Ignore the corrupted pages and determine the (space_id, page_size and zip_size)
      information.  Repeat this for all supported page sizes.  Using this approach
      determine the correct (space_id, page_size and zip_size) of the ibd file.
      
      rb#4025 approved by Yasufumi.
------------------------------------------------------------
revno: 7166 [merge]
committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-19 12:06:47 +0530
message:
  Merge from mysql-5.6 to mysql-5.7
    ------------------------------------------------------------
    revno: 3902.303.1
    committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2013-12-18 14:49:58 +0530
    message:
      Bug #17335427 INNODB CAN NOT USE THE DOUBLEWRITE BUFFER PROPERLY
      
      Problem:
      
      If the first page (page 0) of the single table tablespace is corrupted in the
      data file then our recovery doesn't progress even if there is a clean copy of
      the same available in the double write buffer.  
      
      Analysis:
      
      During recovery, our first step is to process the double write buffer.  We look
      at the pages in the double write buffer and determine its (space_id, page_no)
      details.  Each of the page in the double write buffer corresponds to a page in
      the .ibd data file.  Using the space_id information we need to map the page in
      the double write buffer to the corresponding ibd file.  This is done by reading
      the space_id information from the first page of the single table tablespace.
      If the first page of the single table tablespace is corrupted, then we are
      unable to determine the data file to which a particular page in the double
      write buffer belongs to.  So we need to explore and see if we can determine the
      space_id in other means.
      
      Solution:
      
      Assume a particular page size.  Read N number of pages from the ibd file.
      Ignore the corrupted pages and determine the (space_id, page_size and zip_size)
      information.  Repeat this for all supported page sizes.  Using this approach
      determine the correct (space_id, page_size and zip_size) of the ibd file.
      
      rb#4025 approved by Yasufumi.
------------------------------------------------------------
revno: 7165 [merge]
committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-19 11:55:06 +0530
message:
  Bug #16868967	MYSQL USES SIGNIFICANTLY MORE MEMORY
  		FOR ALTER TABLE THAN EXPECTED
  	Merge from 5.6
    ------------------------------------------------------------
    revno: 3902.291.149
    committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
    branch nick: r-5.6
    timestamp: Thu 2013-12-19 11:44:13 +0530
    message:
      Bug #16868967	MYSQL USES SIGNIFICANTLY MORE MEMORY
      		FOR ALTER TABLE THAN EXPECTED
      
      Problem:
        During online alter table, an online log buffer would be created for
      index that is being rebuilt or created. This online log contains two
      buffers - head and tail. Alter table takes lot of memory than
      expected even there is no concurrent write for index. But Both head
      and tail buffer will be useful when there is a concurrent 
      write on the index. If there are many partitions involved, it is
      unlikely that all the partitions would be modified concurrently. 
       
      Solution:
        Allocate the tail buffer only when first DML statement happens on the
      index. Allocate the head buffer only in apply phase and freed at the
      end of the apply phase.
      
      	Approved by Marko rb#3850
------------------------------------------------------------
revno: 7164 [merge]
committer: horst.hunger@oracle.com
branch nick: mysql-trunk
timestamp: Wed 2013-12-18 17:27:52 +0100
message:
  Null merge.
    ------------------------------------------------------------
    revno: 3902.291.148
    committer: horst.hunger@oracle.com
    branch nick: mysql-5.6
    timestamp: Wed 2013-12-18 15:39:57 +0100
    message:
      Request by development to run memcached in 5.6
------------------------------------------------------------
revno: 7163 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: main-tr
timestamp: Wed 2013-12-18 14:06:15 +0100
message:
  Upmerge post-push ix for 17827378
    ------------------------------------------------------------
    revno: 3902.291.147 [merge]
    committer: Bjorn Munch <bjorn.munch@oracle.com>
    branch nick: main-56
    timestamp: Wed 2013-12-18 14:03:30 +0100
    message:
      Followup fix for Bug 17827378 MTR DOES NOT REPORT IF A TEST 
                                    FAILS TO DROP CREATED EVENTS:
      
      - Check for triggers should exclude mtr's own
      - Move the code to before checksum table as it might affects result
        of some autdit_log tests
      - Remove duplicated show status like 'slave_open_temp_tables';
        ------------------------------------------------------------
        revno: 2875.545.100
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: main-55
        timestamp: Wed 2013-12-18 14:01:15 +0100
        message:
          Followup fix for Bug 17827378 MTR DOES NOT REPORT IF A TEST 
                                        FAILS TO DROP CREATED EVENTS:
          
          - Check for triggers should exclude mtr's own
          - Move the code to before checksum table as it might affect result
            of some autdit_log tests (does in 5.6)
          - Replace SHOW STATUS LIKE 'slave_open_temp_tables' to be like in 5.6
------------------------------------------------------------
revno: 7162 [merge]
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Wed 2013-12-18 11:22:42 +0100
message:
  merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.146 [merge]
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.6-merge
    timestamp: Wed 2013-12-18 11:17:16 +0100
    message:
      merge 5.5 => 5.6
        ------------------------------------------------------------
        revno: 2875.545.99
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.5
        timestamp: Wed 2013-12-18 11:08:21 +0100
        message:
          MTR's internal check of the test case 'main.events_trans' failed.
          fix: DROP EVENT e1;
        ------------------------------------------------------------
        revno: 2875.545.98
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.5
        timestamp: Wed 2013-12-18 11:05:18 +0100
        message:
          Bug#16316074 RFE: MAKE TMPDIR A BUILD-TIME CONFIGURABLE OPTION
          Bug#68338    RFE: make tmpdir a build-time configurable option
          
          Background: Some distributions use tmpfs for mounting /tmp by
          default, which has some advantages, but brings also new
          issues. Fedora started using tmpfs on /tmp in version 18 for
          example. If not configured otherwise in my.cnf, MySQL uses
          system's constant P_tmpdir expanded to /tmp on Linux. This can
          introduce some problems with limited space in /tmp and also some
          data loss in case of replication slave [1].
          
          In case distributions would like to use /var/tmp, which should be
          better for MySQL purposes, then we have to patch the source or
          change tmpdir option in my.cnf, which is however not updated in
          case it has already existed.
          
          Thus, it would be useful to be able to specify default tmpdir
          path using a configure option, while using P_tmpdir in case it is
          not defined explicitly.
          
          Based on a contribution from Honza Horak
------------------------------------------------------------
revno: 7161 [merge]
committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2013-12-18 14:00:20 +0530
message:
  Bug17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED
  (MYSQLBINLOG -V CRASHES WITH THAT BINLOG)
        
  Merging fix from mysql-5.6
  1) Post-Push: To fix Werror-build problem
  2) Adding is_null check before calc_field_size check
   
    ------------------------------------------------------------
    revno: 3902.291.145 [merge]
    committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2013-12-18 13:55:27 +0530
    message:
      Bug17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED
      (MYSQLBINLOG -V CRASHES WITH THAT BINLOG)
      
      Merging fix from mysql-5.5
      Post-Push: Fix Werror-build problem
        ------------------------------------------------------------
        revno: 2875.545.97
        committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
        branch nick: mysql-5.5
        timestamp: Wed 2013-12-18 13:52:49 +0530
        message:
          Bug17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED
          (MYSQLBINLOG -V CRASHES WITH THAT BINLOG)
          
          Post Push: Fixing Werror compiler issue 
------------------------------------------------------------
revno: 7160
committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2013-12-18 13:35:54 +0530
message:
  Changing max-parts tests run's MTR commands to make the run successful. 
  
  Single MTR command is divided into 2 MTR commands. 
------------------------------------------------------------
revno: 7159 [merge]
committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-17 22:43:21 +0530
message:
  Bug17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED
  (MYSQLBINLOG -V CRASHES WITH THAT BINLOG)
  
  merge fix from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.144 [merge]
    committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2013-12-17 22:26:45 +0530
    message:
      Bug17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED
      (MYSQLBINLOG -V CRASHES WITH THAT BINLOG)
      
      Merging fix from mysql-5.5
        ------------------------------------------------------------
        revno: 2875.545.96
        committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
        branch nick: mysql-5.5
        timestamp: Tue 2013-12-17 22:11:22 +0530
        message:
          Bug#17632978 SLAVE CRASHES IF ROW EVENT IS CORRUPTED
          (MYSQLBINLOG -V CRASHES WITH THAT BINLOG)
          
          Problem: If slave receives a corrupted row event,
          slave server is crashing.
          
          Analysis: When slave is unpacking the row event, it is
          not validating the data before applying the event. If the
          data is corrupted for eg: the length of a field is wrong,
          it could end up reading wrong data leading to a crash.
          A similar problem happens when mysqlbinlog tool is used
          against a corrupted binlog using '-v' option. Due to -v
          option, the tool tries to print the values of all the
          fields. Corrupted field length could lead to a crash.
          
          Fix: Before unpacking the field, a verification
          will be made on the length. If it falls into the event
          range, only then it will be unpacked. Otherwise,
          "ER_SLAVE_CORRUPT_EVENT" error will be thrown.
          Incase mysqlbinlog -v case, the field value will not be
          printed and the processing of the file will be stopped.
------------------------------------------------------------
revno: 7158
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-17 19:04:00 +0200
message:
  Fix Bug#17958039 PERFSCHEMA.SIZING_GROWTH FAILING WITH QC ENABLED ON PB2
  
  This is a followup to vasil.dimov@oracle.com-20131203163459-tlkyqdq93jysk9z0.
  
  After adding a per-table rwlock, performance schema needs a minor tweak. It
  affects the size of the internal buffer used when instrumenting rwlocks and
  will affect the server only if the rwlock instrumentation is used with lot
  of tables. The symptoms without this tweak can be to see the rwlock_lost
  counter going up (as per Mark Alff).
  
  Reviewed by:	Marc Alff (rb:4184)
------------------------------------------------------------
revno: 7157
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Mon 2013-12-16 14:26:26 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #3 remove #ifdef HAVE_purify from Sql_alloc,
  class can be empty also for valgring/purify builds.
------------------------------------------------------------
revno: 7156 [merge]
committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-17 17:21:17 +0530
message:
  BUG#17544169 MYSQLBINLOG -V DOES NOT PROPERLY DECODE DECIMAL VALUES IN AN
  RBR LOG
  Null merge
    ------------------------------------------------------------
    revno: 3902.291.143
    committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2013-12-17 17:13:02 +0530
    message:
      BUG#17544169 MYSQLBINLOG -V DOES NOT PROPERLY DECODE
      DECIMAL VALUES IN AN RBR LOG
            
      Analysis: If verbose (-v) option is used in
      mysqlbinlog tool it decodes a RBR event into
      the query (the same query which was used at
      source to generate) and displays immediately
      after displaying the row event in the output.
      The algorithm used to display the decimal was
      wrongly written which were causing problems
      similar to the ones mentioned below.
      Eg: -0.938582 is decoded as: -938582000.000000000
      4294967296.001 as: 000000004.294967296.001000000.000000000 
            
      Fix: 'decimal2string' is an existing function
      which converts a decimal value into a string
      format. Hence the algorithm used was replaced with
      this existing 'decimal2string' function to
      avoid problems mentioned above.
      After this fix, decimal will be printed exactly
      the same way how they get printed in 'select' command
      output.
      Eg: -0.938582 for decimal(10,10) will be displayed as
      -0.938582000. 4294967296.001 for decimal(20,10) will
      be displayed as 4294967296.0010000000
------------------------------------------------------------
revno: 7155
committer: Venkatesh Duggirala<venkatesh.duggirala@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-17 17:16:37 +0530
message:
  BUG#17544169 MYSQLBINLOG -V DOES NOT PROPERLY DECODE DECIMAL VALUES IN AN
  RBR LOG
  
  Merging fix from mysql-5.6
------------------------------------------------------------
revno: 7154 [merge]
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-17 20:33:49 +0900
message:
  Null merge from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.142
    committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2013-12-17 20:30:16 +0900
    message:
      Follow up for Bug#16249481 fix.
      backport from mysql-trunk
      
        revno: 7152
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-trunk
        timestamp: Tue 2013-12-17 11:29:47 +0200
        message:
          Followup to sunny.bains@oracle.com-20131210092144-0xfzdmj5vgqlqpq2
      
          Fix a compilation failure on Win32:
      
            buf0buf.ic(1016): error C2664: '_InterlockedExchangeAdd' : cannot
            convert parameter 1 from 'ib_uint32_t *' to 'volatile long *'
            Types pointed to are unrelated; conversion requires reinterpret_cast,
            C-style cast or function-style cast
------------------------------------------------------------
revno: 7153 [merge]
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-17 20:04:43 +0900
message:
  Null merge from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.141
    committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2013-12-17 20:03:26 +0900
    message:
      Follow up for Bug#16249481 fix.
      Atomic operation macro for Soralis and Windows added by Bug#16249481 fix were wrong.
      Aligned same for mysql-trunk.
      
        * revno: 5677
        * committer: Sunny Bains <Sunny.Bains@Oracle.Com>
        * branch nick: 5.6
        * timestamp: Tue 2013-12-10 14:30:34 +0530
        * message:
        *  Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT
        *
        *  Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON.
        *
        *  If this option is enabled then use atomic reference counting to track
        *  block use. If it is off then use the old way.
        *
        *  Approved by Yasufumi Kinoshita rb#3958.
------------------------------------------------------------
revno: 7152
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-17 11:29:47 +0200
message:
  Followup to sunny.bains@oracle.com-20131210092144-0xfzdmj5vgqlqpq2
  
  Fix a compilation failure on Win32:
  
    buf0buf.ic(1016): error C2664: '_InterlockedExchangeAdd' : cannot
    convert parameter 1 from 'ib_uint32_t *' to 'volatile long *'
    Types pointed to are unrelated; conversion requires reinterpret_cast,
    C-style cast or function-style cast
------------------------------------------------------------
revno: 7151 [merge]
committer: Jorgen Loland <jorgen.loland@oracle.com>
branch nick: mysql-trunk-review
timestamp: Tue 2013-12-17 10:46:18 +0100
message:
  Null-merge 5.6 -> trunk
    ------------------------------------------------------------
    revno: 3902.291.140
    committer: Jorgen Loland <jorgen.loland@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2013-12-17 10:45:12 +0100
    message:
      BUG#17889511
      
      fix test errors
------------------------------------------------------------
revno: 7150
committer: Anitha Gopi <anitha.gopi@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-17 07:28:14 +0100
message:
  Moving an unstable test to experimental group
------------------------------------------------------------
revno: 7149
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-test
timestamp: Mon 2013-12-16 18:04:14 +0100
message:
  Fix GCC 4.7 compilation warning for release build:
  mysql-trunk/sql/sql_audit.h:182:61: warning: ?query.st_mysql_const_lex_string::length? may be used uninitialized in this function [-Wmaybe-uninitialized]
  mysql-trunk/sql/sql_audit.h:182:61: warning: ?query.st_mysql_const_lex_string::str? may be used uninitialized in this function [-Wmaybe-uninitialized]
  
  Fix verified by marko.
------------------------------------------------------------
revno: 7148
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Mon 2013-12-16 14:16:45 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #2 remove #ifdef HAVE_purify from randominit, no longer needed.
------------------------------------------------------------
revno: 7147
committer: Tarique Saleem <tarique.saleem@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2013-12-16 17:54:43 +0530
message:
  skipped the test perfschema.sizing_growth for query_cache enabled as it failing on daily and weekly platforms. Logged a Bug #17958039 for tracking this issue until that time.
------------------------------------------------------------
revno: 7146 [merge]
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2013-12-16 21:05:27 +0900
message:
  Null merge from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.139
    committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2013-12-16 21:03:59 +0900
    message:
      The fix for Bug#16249481 was not enabled for builds.
      
      "#cmakedefine INNODB_PAGE_ATOMIC_REF_COUNT" is added to config.h.cmake
      
      Patch made by Sunny Bains (by mail)
      Approved by Yasufumi Kinoshita
      
        * revno: 5677
        * committer: Sunny Bains <Sunny.Bains@Oracle.Com>
        * branch nick: 5.6
        * timestamp: Tue 2013-12-10 14:30:34 +0530
        * message:
        *  Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT
        *
        *  Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON.
        *
        *  If this option is enabled then use atomic reference counting to track
        *  block use. If it is off then use the old way.
        *
        *  Approved by Yasufumi Kinoshita rb#3958.
------------------------------------------------------------
revno: 7145
committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2013-12-16 13:47:07 +0530
message:
  Optimized the max_parts tests suite MTR run by making changes following 
  changes:
  
  1) increased parallel from 4 to 6. 
  2) clubbed two MTR commands ( one for innodb max_parts tests and the other 
  for myisam ) into one single MTR command that runs all the max_parts tests. 
------------------------------------------------------------
revno: 7144 [merge]
committer: Jorgen Loland <jorgen.loland@oracle.com>
branch nick: mysql-trunk-review
timestamp: Mon 2013-12-16 08:53:27 +0100
message:
  Merge BUG#17889511: 5.6 -> trunk
    ------------------------------------------------------------
    revno: 3902.291.138
    committer: Jorgen Loland <jorgen.loland@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2013-12-16 08:40:11 +0100
    message:
      Bug#17889511: FORCE INDEX UNABLE TO FORCE AN ORDER BY WITH JOIN
      
      "FORCE INDEX [FOR ORDER BY] (indexName)" did not work for joins
      because test_if_skip_sort_order() contains a heuristic that 
      table scan + join cache tends to be cheaper than an index scan.
      
      While the heuristic may be correct, it should not override the
      users explicit request to use the index.
      
      This patch also changes the warning created for EXPLAIN. Instead
      of printing only "IGNORE/USE/FORCE INDEX" it now also prints
      "FOR [GROUP BY|ORDER BY|JOIN]" if this was specified in the
      query.
------------------------------------------------------------
revno: 7143 [merge]
committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
branch nick: trunk
timestamp: Mon 2013-12-16 12:33:32 +0530
message:
  Bug #16924719 SMALL PERFORMANCE IMPACT WITH HEAP BLOCK
  		DEBUGGING INFO IN RELEASE BUILDS
  	Merge from 5.6 to trunk
    ------------------------------------------------------------
    revno: 3902.291.137
    committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
    branch nick: r-5.6
    timestamp: Mon 2013-12-16 12:29:20 +0530
    message:
      Bug #16924719	 SMALL PERFORMANCE IMPACT WITH HEAP BLOCK
      			DEBUGGING INFO IN RELEASE BUILDS
      Problem:
       	Memory block debugging details (file_name, lineno) is present on
      release builds.It impacts by a tiny amount on every heap creation.
      
      Solution:
      	Removed the file_name, line no parameters from mem_heap_create_func()
      	and mem_alloc_func() in release builds.
      
      	[Approved by Marko #rb 4022]
------------------------------------------------------------
revno: 7142
committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2013-12-16 12:03:25 +0530
message:
  fixed sporadic index_merge_intersect_dml.test failure
------------------------------------------------------------
revno: 7141
committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2013-12-16 11:47:37 +0530
message:
  Bug#16601151 I_MAIN.CONNECT FAILS ON ON RHEL5 AND SLES IN WEEKLY-TRUNK
  
  connect.test fails on PB2 particularly on RHEL and SLES platforms due to 
  some permission issues. During analysis it was found that the problem lies 
  within the usage of defaults file on that particular platform. 
  
  So replaced the --defaults-file option with --no-defaults option in order 
  to avoid the permission issues on few platforms.   
            
  This change doesn't disturb the purpose of the test case. 
------------------------------------------------------------
revno: 7140 [merge]
committer: Kent Boortz <kent.boortz@oracle.com>
branch nick: mysql-trunk
timestamp: Sat 2013-12-14 13:15:25 +0100
message:
  Merge mysql-5.6 --> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.136 [merge]
    committer: Kent Boortz <kent.boortz@oracle.com>
    branch nick: mysql-5.6
    timestamp: Sat 2013-12-14 13:11:48 +0100
    message:
      Merge mysql-5.5 --> mysql-5.6
        ------------------------------------------------------------
        revno: 2875.545.95
        committer: Kent Boortz <kent.boortz@oracle.com>
        branch nick: mysql-5.5
        timestamp: Sat 2013-12-14 13:05:36 +0100
        message:
          Bug#29716 : Bug#11746921 : MYSQL_INSTALL_DB REFERS TO THE (OBSOLETE) MYSQLBUG SCRIPT DURING INSTALLATION
          Bug#68742 : Bug#16530527 : OBSOLETE BUGREPORT ADDRESSES
------------------------------------------------------------
revno: 7139
committer: mithun <mithun.c.y@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-13 22:29:57 +0530
message:
  Bug #17513341 : >=4G JOIN_BUFFER_SIZE CRASH WHEN 
                  JOINING TABLES, VIEWS.
  
  Post-push fix : Fixed valgrind reported leak issue.
                  Reason wrong merge from 5.6 to trunk has
                  misplaced DBUG_EXECUTE_IF after my_malloc
                  in JOIN_CACHE::alloc_buffer. Fixed the
                  same.
                   
------------------------------------------------------------
revno: 7138
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-cmake
timestamp: Fri 2013-12-13 13:13:08 +0100
message:
  Bug#17949504 DO NOT RESET CMAKE CACHE WHEN CALLING CHECKCXXCOMPILERFLAG
------------------------------------------------------------
revno: 7137 [merge]
committer: Shaohua Wang <shaohua.wang@oracle.com>
branch nick: mysql-trunk-bugfix1
timestamp: Fri 2013-12-13 18:20:55 +0800
message:
  Merge from mysql-5.6 to mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.135
    committer: Shaohua Wang <shaohua.wang@oracle.com>
    branch nick: mysql-5.6-bugfix1
    timestamp: Fri 2013-12-13 17:56:54 +0800
    message:
      Bug#17033591 5.6.12 REMOVED UNIV_SYNC_DEBUG FROM UNIV_DEBUG
      
      Enable UNIV_SYNC_DEBUG and fix fts test failures.
      
      rb://4139 approved by Marko and Jimmy.
------------------------------------------------------------
revno: 7136
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-test
timestamp: Fri 2013-12-13 11:03:48 +0100
message:
  Bug#17606098: DEADLOCK INVOLVING SRV_MONITOR_THREAD AND LOCK_THD_DATA
  
  Post-push patch: Add extra asserts checking for Lex_input_stream reading
  past the end of the query buffer. Rework valgrind warning fix slightly.
  Based on discussion with Gleb.
------------------------------------------------------------
revno: 7135 [merge]
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-push2
timestamp: Fri 2013-12-13 11:13:35 +0100
message:
  Merge to mysql-trunk
    ------------------------------------------------------------
    revno: 7133.1.1 [merge]
    committer: Marc Alff <marc.alff@oracle.com>
    branch nick: mysql-trunk-push
    timestamp: Fri 2013-12-13 10:51:11 +0100
    message:
      Merge mysql-5.6 --> mysql-trunk
        ------------------------------------------------------------
        revno: 3902.291.134 [merge]
        committer: Marc Alff <marc.alff@oracle.com>
        branch nick: mysql-5.6-push
        timestamp: Fri 2013-12-13 10:42:34 +0100
        message:
          Merge mysql-5.5 --> mysql-5.6
            ------------------------------------------------------------
            revno: 2875.545.94 [merge]
            committer: Marc Alff <marc.alff@oracle.com>
            branch nick: mysql-5.5-push
            timestamp: Fri 2013-12-13 10:26:05 +0100
            message:
              Push to mysql-5.5
                ------------------------------------------------------------
                revno: 2875.589.1
                committer: Marc Alff <marc.alff@oracle.com>
                branch nick: mysql-5.5-bug17928281
                timestamp: Wed 2013-12-11 11:15:23 +0100
                message:
                  Bug#17928281 'CHECK_PERFORMANCE_SCHEMA()' LEAVES 'CURRENT_THD' REFERRING
                  DESTRUCTED THD OBJ 
                  
                  Prior to fix, function check_performance_schema() could leave
                  behind stale pointers in thread local storage, for the following keys:
                  - THR_THD (used by _current_thd)
                  - THR_MALLOC (used for memory allocation)
                  This is an unsafe practice, which can potentially cause crashes,
                  and that can cause other bugs when code is modified during maintenance.
                  
                  With this fix, thread local storage keys used temporarily within
                  function check_performance_schema() are cleaned up after use.
------------------------------------------------------------
revno: 7134
committer: Abhishek Ranjan <abhishek.ar.ranjan@oracle.com>
branch nick: bug16807964-trunk
timestamp: Fri 2013-12-13 13:58:56 +0530
message:
  BUG#16807964 - NEED A NEW ERROR CODE: HA_OUT_OF_MEMORY FOR
                 ENGINES
  
  post push fix for compilation errors which occurs when source
  is compiled with cmake option -DWITH_PARTITION_STORAGE_ENGINE=0.
------------------------------------------------------------
revno: 7133 [merge]
committer: mithun <mithun.c.y@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-13 11:17:27 +0530
message:
  Bug #17513341 : >=4G JOIN_BUFFER_SIZE CRASH WHEN 
                       JOINING TABLES, VIEWS.
  
  Merge from 5.6 to trunk
    ------------------------------------------------------------
    revno: 3902.291.133
    committer: mithun <mithun.c.y@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2013-12-13 11:09:40 +0530
    message:
      Bug #17513341 : >=4G JOIN_BUFFER_SIZE CRASH WHEN 
                      JOINING TABLES, VIEWS
      ISSUE         : 1. Offset address from a join buffer of size 
                         >=4gb can be >4 bytes long. But we 
                         have only considered offsets upto 4bytes long.
                         This will lead to invalid buffer read and 
                         memory corruption henceforth.
                      2. If we fail to allocate join buffer then
                         we are not freeing the JOIN_CACHE_X instance.
                         Now next join buffer will wrongly take this
                         unfreed JOIN_CACHE_X instance as its previous
                         cache. Hence in incremental join buffer 
                         implementation there will be a chance for 
                         unallocated memory access.
      Solution      : 1. Now for join buffer >=4gb we have made offest
                         address size = 8 bytes.
                      2. If we fail to allocate the join buffer we free
                         the JOIN_CACHE_X instance also.                       
------------------------------------------------------------
revno: 7132 [merge]
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-13 13:24:57 +0900
message:
  Merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.132
    committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2013-12-13 13:23:34 +0900
    message:
      Fix the possibile rare race condition at Bug#16249481 fix.
      
      Approved by Sunny Bains (IM)
      
        * revno: 5677
        * committer: Sunny Bains <Sunny.Bains@Oracle.Com>
        * branch nick: 5.6
        * timestamp: Tue 2013-12-10 14:30:34 +0530
        * message:
        *  Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT
        *
        *  Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON.
        *
        *  If this option is enabled then use atomic reference counting to track
        *  block use. If it is off then use the old way.
        *
        *  Approved by Yasufumi Kinoshita rb#3958.
------------------------------------------------------------
revno: 7131 [merge]
committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-13 12:55:26 +0900
message:
  Null merge from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.131
    committer: Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2013-12-13 12:52:47 +0900
    message:
      The adjustment about UNIV_SUNC_DEBUG is needed for Bug#16249481 fix
      
      Approved by Sunny Bains (IM)
      
        * revno: 5677
        * committer: Sunny Bains <Sunny.Bains@Oracle.Com>
        * branch nick: 5.6
        * timestamp: Tue 2013-12-10 14:30:34 +0530
        * message:
        *  Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT
        *
        *  Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON.
        *
        *  If this option is enabled then use atomic reference counting to track
        *  block use. If it is off then use the old way.
        *
        *  Approved by Yasufumi Kinoshita rb#3958.
------------------------------------------------------------
revno: 7130
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-valgrind
timestamp: Thu 2013-12-12 19:17:17 +0100
message:
  Bug#17922198 REMOVE OBSOLETE IFDEF HAVE_PURIFY CODE.
  
  Patch #1 remove #ifdef HAVE_purify from my_qsort, no longer needed.
------------------------------------------------------------
revno: 7129
committer: Dmitry Lenev <Dmitry.Lenev@oracle.com>
branch nick: mysql-trunk-wl7304-follow-up
timestamp: Thu 2013-12-12 21:55:53 +0400
message:
  Follow-up patch for WL#7304 "Improve MDL performance and
  scalability by implementing "fast-path" for DML locks".
  
  Unit test class for MDL-related tests now saves original
  error hook before installing custom one and restores it
  after test execution.
------------------------------------------------------------
revno: 7128
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-12 18:28:03 +0200
message:
  Non-functional white-space change: use leading space instead of trailing
  space when wrapping long strings. For example:
  
  "this was the "
  "old way"
  
  "this is the"
  " new way"
  
  Before this change there were about 500 occurences of trailing spaces and
  about 1300 occurences of leading space. Thus I convert the minority for
  consistency.
------------------------------------------------------------
revno: 7127
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-cmake
timestamp: Thu 2013-12-12 11:00:25 +0100
message:
  Bug#17894997 CMAKE WARNING WRT INTERFACE_LINK_LIBRARIES
  Bug#17905155 CMAKE WARNING WHEN GENERATING MAKEFILE
  Bug#71089 CMake warning when generating Makefile
    
  Use old policy for LINK_INTERFACE_LIBRARIES.
  Post-push fix: previous patch failed for cmake 2.8.11.2
------------------------------------------------------------
revno: 7126 [merge]
committer: sayantan dutta <sayantan.dutta@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-12 12:27:12 +0530
message:
  Bug 17827378 5.6=>5.7
    ------------------------------------------------------------
    revno: 3902.291.130 [merge]
    committer: sayantan dutta <sayantan.dutta@oracle.com>
    branch nick: mysql-5.6
    timestamp: Thu 2013-12-12 12:23:02 +0530
    message:
      Bug 17827378 5.5=>5.6
        ------------------------------------------------------------
        revno: 2875.545.93
        committer: sayantan dutta <sayantan.dutta@oracle.com>
        branch nick: mysql-5.5
        timestamp: Thu 2013-12-12 12:20:57 +0530
        message:
          Bug #17827378 - MTR DOES NOT REPORT IF A TEST FAILS TO DROP CREATED EVENTS
------------------------------------------------------------
revno: 7125
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-12 11:09:11 +0530
message:
  Fixed the valgrind test failure reported in daily pb2 emerge from ut_get_namel()
  
  --Approved by Annamalai (over IM).
------------------------------------------------------------
revno: 7124
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: trunk
timestamp: Wed 2013-12-11 23:47:39 +0530
message:
  Bug#17935793 UT_GET_NAMEL() IS NOT THREAD SAFE
  Problem: Static variable is used in ut_get_namel(), which is not thread safe.
           Also replace the call of ut_print_timestamp() by ib_logf(), wherever in
           InnoDB if possible.
  
  Fixed: Remove static identifier from ut_get_namel().
         Also fixed ut_print_timestamp().
  
  Approved by Kevin (rb#4151).
------------------------------------------------------------
revno: 7123
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-cmake
timestamp: Wed 2013-12-11 17:37:52 +0100
message:
  Bug#17894997 CMAKE WARNING WRT INTERFACE_LINK_LIBRARIES
  Bug#17905155 CMAKE WARNING WHEN GENERATING MAKEFILE
  Bug#71089 CMake warning when generating Makefile
  
  Use old policy for LINK_INTERFACE_LIBRARIES.
------------------------------------------------------------
revno: 7122
committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2013-12-11 20:06:43 +0530
message:
  reverted back the unintended changes made to  mysql-test/collections/mysql-trunk-stage.push
------------------------------------------------------------
revno: 7121 [merge]
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2013-12-11 16:15:32 +0200
message:
  Null-merge mysql-5.6 -> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.129
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2013-12-11 16:13:33 +0200
    message:
      Backport from mysql-trunk to mysql-5.6:
      
        ** revision-id: vasil.dimov@oracle.com-20131203163459-tlkyqdq93jysk9z0
        ** committer: Vasil Dimov <vasil.dimov@oracle.com>
        ** branch nick: mysql-trunk
        ** timestamp: Tue 2013-12-03 18:34:59 +0200
        ** message:
        **   Fix Bug#70768 Persistent optimizer statistics often causes LOCK_open stalls
        **
        **   Protect each table's dict_table_t::stat* members with a latch dedicated
        **   for this table instead of using a global pool of 64 shared latches.
        **   With 6 tables, the chances of at least two ending up with the same latch
        **   is 23.9%. With a lots of tables, there are tons of collisions.
        **
        **   Reviewed by:	Kevin (rb:3805)
------------------------------------------------------------
revno: 7120
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-filesort
timestamp: Wed 2013-12-11 13:39:59 +0100
message:
  Bug#14635144 IMPROVE FILESORT MEMCMP BY USING GLIBC MEMCMP FOR LONG KEYS
  
  Post-push fix: remove some warnings from clang.
  CheckCXXCompilerFlag incorrectly reports that clang supports -fno-builtin-memcmp
------------------------------------------------------------
revno: 7119
committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2013-12-11 16:14:58 +0530
message:
  Changed the parallel=auto option to parallel=4 for max_parts tests MTR
  run command to reduce the load on the solaris machine. 
------------------------------------------------------------
revno: 7118
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-bug11752665
timestamp: Wed 2013-12-11 10:50:41 +0100
message:
  Bug#11752665: WINDOWS SERVER X64: SO MANY COMPILER WARNINGS
  
  Patch #3: Revert C API changes.
------------------------------------------------------------
revno: 7117
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-review
timestamp: Wed 2013-12-11 10:39:47 +0100
message:
  Bug#17826757 CMAKE SUPPORT FOR GCC ON SOLARIS
  
  We got segfault with -03 on intel/solaris/gcc/32bit
  
  $gcc -c -Q -O3 --help=optimizers > foo
  $gcc -c -Q -O2 --help=optimizers > bar
  
  $diff foo bar | grep enabled
  <   -fgcse-after-reload                         [enabled]
  <   -finline-functions                          [enabled]
  <   -fipa-cp-clone                              [enabled]
  <   -fpredictive-commoning                      [enabled]
  <   -ftree-loop-distribute-patterns     [enabled]
  <   -ftree-partial-pre                          [enabled]
  <   -ftree-vectorize                            [enabled]
  <   -funswitch-loops                            [enabled]
  <   -fvect-cost-model                           [enabled]
  
  this made mysqld crash, so disable it:
   -ftree-vectorize                            [enabled]
------------------------------------------------------------
revno: 7116 [merge]
committer: Roy Lyseng <roy.lyseng@oracle.com>
branch nick: mysql-trunk-review
timestamp: Wed 2013-12-11 10:02:23 +0100
message:
  Null merge
    ------------------------------------------------------------
    revno: 3902.291.128
    committer: Roy Lyseng <roy.lyseng@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2013-12-11 09:59:30 +0100
    message:
      Bug#17600176: This query returns a row in 5.5 but not 5.6 or current 5.7
      
      The problem query contains an IN subquery that is transformed to
      a semi-join. The subquery contains an outer join operation.
      When run standalone, the outer join in the subquery is preserved as an
      outer join and returns one row. However, when the full query is run,
      the outer join is converted into an inner join, and the subquery no
      longer returns any row. This causes the outer query to return no rows.
      
      The problem is with the IF clause in the WHERE clause of the subquery,
      When transforming into semi-join, we rely on Item::fix_after_pullout()
      to adjust used_tables and not_null_tables information within the
      condition objects, in order to determine e.g. the outer join to inner
      join transform. However, there is no specific implementation of
      ::fix_after_pullout() for the IF clause, so it returns generic
      information generated by Item_func::fix_after_pullout(). The fix is to
      add this function.
      
      By analysis, this appears to be a problem for BETWEEN predicates and
      IN predicates too. A specific implementation of :;fix_after_pullout()
      is added for both classes.
      
      In addition, it was detected that not_null_tables information was not
      updated correctly for class Item_row. However, I was not able to think
      out any failing test for this problem, so no test case was added.
------------------------------------------------------------
revno: 7115 [merge]
committer: Roy Lyseng <roy.lyseng@oracle.com>
branch nick: mysql-trunk-review
timestamp: Wed 2013-12-11 09:49:57 +0100
message:
  Merge from 5.6
    ------------------------------------------------------------
    revno: 3902.302.1
    committer: Roy Lyseng <roy.lyseng@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2013-12-11 09:38:29 +0100
    message:
      Bug#17600176: This query returns a row in 5.5 but not 5.6 or current 5.7
      
      The problem query contains an IN subquery that is transformed to
      a semi-join. The subquery contains an outer join operation.
      When run standalone, the outer join in the subquery is preserved as an
      outer join and returns one row. However, when the full query is run,
      the outer join is converted into an inner join, and the subquery no
      longer returns any row. This causes the outer query to return no rows.
      
      The problem is with the IF clause in the WHERE clause of the subquery,
      When transforming into semi-join, we rely on Item::fix_after_pullout()
      to adjust used_tables and not_null_tables information within the
      condition objects, in order to determine e.g. the outer join to inner
      join transform. However, there is no specific implementation of
      ::fix_after_pullout() for the IF clause, so it returns generic
      information generated by Item_func::fix_after_pullout(). The fix is to
      add this function.
      
      By analysis, this appears to be a problem for BETWEEN predicates and
      IN predicates too. A specific implementation of :;fix_after_pullout()
      is added for both classes.
      
      In addition, it was detected that not_null_tables information was not
      updated correctly for class Item_row. However, I was not able to think
      out any failing test for this problem, so no test case was added.
------------------------------------------------------------
revno: 7114 [merge]
committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
branch nick: tr
timestamp: Wed 2013-12-11 14:11:51 +0530
message:
  Bug #17848838 BACKPORT 16511145 TO 5.6
  	[Null merge from mysql-5.6]
    ------------------------------------------------------------
    revno: 3902.291.127
    committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2013-12-11 14:06:16 +0530
    message:
      Bug #17848838 BACKPORT 16511145 TO 5.6
      	Backporting the fix of Bug #16511145
      		from trunk to mysql-5.6
      
      	[Approved by Kevin rb# 3983]
------------------------------------------------------------
revno: 7113
committer: Roy Lyseng <roy.lyseng@oracle.com>
branch nick: mysql-trunk-review
timestamp: Wed 2013-12-11 09:22:14 +0100
message:
  Bug#17855328: Refactor make_join_statistics()
  
  Followup: assert on redundant error check.
  
  WL#2486 implemented proper checking of dependencies among outer join,
  thus the error ER_WRONG_OUTER_JOIN is no longer supposed to happen.
  This patch adds an assert for the case of conflicting dependencies, and
  a @todo note for later removal of the error message setting.
------------------------------------------------------------
revno: 7112 [merge]
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: trunk
timestamp: Wed 2013-12-11 13:40:47 +0530
message:
  Bug#16936961 INCORRECT TRANSACTION ACTIVE TIME FOR RECOVING TRANSACTION
               AFTER CRASH
  Problem: The start_time member of trx_t structure is uninitialized in
           trx_create(), that is, at the time of transaction object creation.
           The start_time was initialized only at the start of transaction. 
           So after crash, start_time was taking the garbage value and while
           rollback is running in background for uncommited trx.
  
  Fixed: Initialized the start_time member in trx_resurrect_*(), when trx
         is in either ACTIVE or PREPARED STATE. 
  
  Approved by Jimmy (rb#4046).
    ------------------------------------------------------------
    revno: 3902.291.126
    committer: Anil Toshniwal <anil.toshniwal@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2013-12-11 13:35:55 +0530
    message:
      Bug#16936961 INCORRECT TRANSACTION ACTIVE TIME FOR RECOVING TRANSACTION
                   AFTER CRASH
      Problem: The start_time member of trx_t structure is uninitialized in
               trx_create(), that is, at the time of transaction object creation.
               The start_time was initialized only at the start of transaction. 
               So after crash, start_time was taking the garbage value and while
               rollback is running in background for uncommited trx.
      
      Fixed: Initialized the start_time member in trx_resurrect_*(), when trx
             is in either ACTIVE or PREPARED STATE. 
      
      Approved by Jimmy (rb#4046).
------------------------------------------------------------
revno: 7111 [merge]
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2013-12-11 12:33:11 +0530
message:
  Bug#17810862 INNOCHECKSUM.EXE CANNOT HANDLE >=4G FILES
               (AND PRINTS WRONG ERROR MESSAGE)
  Problem: Wasn't used the Windows specific API, _stat64() to get file
           size, so was printing wrong error message.
  Solution: Use Windows Specific API, _stat64() to get file size.
  
  Approved by Kevin (rb#4011).
    ------------------------------------------------------------
    revno: 3902.291.125
    committer: Anil Toshniwal <anil.toshniwal@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2013-12-11 12:30:53 +0530
    message:
      Bug#17810862 INNOCHECKSUM.EXE CANNOT HANDLE >=4G FILES
                   (AND PRINTS WRONG ERROR MESSAGE)
      Problem:
      1) mysql-5.6 innochecksum tool don't support file larger than 2GB. 
      2) Wasn't used the Windows specific API, _stat64() to get file size, so
      was printing wrong error message.
      Solution:
      1) Fixed innochecksum to provide utility to support large file also. 
      2) Use Windows Specific API, _stat64() to get file size.   
      
      Approved by Kevin (rb#4012).
------------------------------------------------------------
revno: 7110
committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
branch nick: wl7403
timestamp: Wed 2013-12-11 11:27:20 +0530
message:
  WL#7403 Migrate tests for bug fixes in the main suite
------------------------------------------------------------
revno: 7109
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-10 18:46:46 +0200
message:
  Followup to sunny.bains@oracle.com-20131210092144-0xfzdmj5vgqlqpq2:
  
  Fix a compilation error on Solaris:
  
  .../buf0buf.ic", line 1064: Error: Formal argument 1 of type
  volatile unsigned* in call to atomic_add_32_nv(volatile unsigned*, int)
  is being passed unsigned long*.
------------------------------------------------------------
revno: 7108
committer: Roy Lyseng <roy.lyseng@oracle.com>
branch nick: mysql-trunk-sb3
timestamp: Tue 2013-12-10 16:43:27 +0100
message:
  Bug#17855328: Refactor make_join_statistics()
  
  make_join_statistics() has been refactored based on these principles:
  
  - Make small functions with a single purpose, which are simpler to maintain.
  
  - Add simple tests to control calls to small functions.
    It is often possible to eliminate calls, and skipping a simple
    function call might cause less cache misses than skipping
    a large code block.
  
  - Small functions are simpler to document.
  
  - When possible, the functions are made private member functions of
    class JOIN.
  
  - Passing arguments when data are available in JOIN or SELECT_LEX is
    unnecessary.
  
  - Local variables are given local scope.
  
  - Labels and gotos are eliminated.
  
  - Local variable "s" is renamed to "tab", as in best_access_path().
  
  - Local variable of type TABLE_LIST * is named "tl".
  
  - JOIN_TAB array is built incrementally, so there is no need for
    special error handling. (The old code required an error label for
    the cleanup - this is no longer needed as initialization is done
    so that JOIN::cleanup() will correctly cleanup the array).
  
  - Function set_position() is renamed to JOIN::mark_const_table() and
    argument list is simplified.
  
  Functions added in this refactoring:
  
  JOIN::make_join_plan() (renamed from make_join_statistics()) 
  JOIN::init_planner_arrays() (initializes arrays for make_join_plan).
  JOIN::propagate_dependencies() (completes dependency analysis)
  JOIN::extract_const_tables() (extracts const tables with <= 1 rows)
  JOIN::extract_func_dependent_tables() (extracts const tables from FD)
  JOIN::update_sargable_from_const() (creates more sargables)
  JOIN::estimate_rowcount() (estimates rowcounts, makes range scan)
  
  Some more functions are made members of class JOIN:
  
  JOIN::make_outerjoin_info()
  JOIN::optimize_keyuse()
  JOIN::update_depend_map()
  JOIN::remove_const()
------------------------------------------------------------
revno: 7107
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-10 17:21:22 +0200
message:
  Non-functional white-space fixups of the InnoDB coding style.
------------------------------------------------------------
revno: 7106
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-10 16:47:32 +0200
message:
  Followup to sunny.bains@oracle.com-20131210092144-0xfzdmj5vgqlqpq2:
  
  Fix a type in an assertion - it should be fix_block, not block whose
  buf_fix_count must be > 0 because it is fix_block that we bufferfixed.
------------------------------------------------------------
revno: 7105 [merge]
committer: horst.hunger@oracle.com
branch nick: mysql-trunk
timestamp: Tue 2013-12-10 11:14:26 +0100
message:
  wl#7419: Push of do-test-list option to mysql-trunk.
    ------------------------------------------------------------
    revno: 7003.1.1
    committer: horst.hunger@oracle.com
    branch nick: mysql-trunk-wl7419
    timestamp: Mon 2013-12-09 13:38:45 +0100
    message:
      WL#7419: New option do-test-list for mysql-test-run.pl
      ******
      wl#7419: Modified implementation according to the review and added some testlists to lib/t
      ******
      To fix the indentation, which should now alright.
      ******
      Changed names of test lists to better see its contants/purpose.
------------------------------------------------------------
revno: 7104 [merge]
committer: Sunny Bains <Sunny.Bains@Oracle.Com>
branch nick: trunk
timestamp: Tue 2013-12-10 14:51:44 +0530
message:
  Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT
  
  Move InnoDB specific build options to innodb.cmake.
  Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON.
  
  If this option is enabled then use atomic reference counting to track
  block use. If it is off then use the old way.
  
  This patch is reworked from the mysql-5.6 patch.
  
  Approved by Yasufumi Kinoshita rb#3597
    ------------------------------------------------------------
    revno: 3902.291.124
    committer: Sunny Bains <Sunny.Bains@Oracle.Com>
    branch nick: 5.6
    timestamp: Tue 2013-12-10 14:30:34 +0530
    message:
      Bug#16249481 - INNODB DOES NOT SCALE WELL ON 12 CORE SYSTEM FOR SPECIFIC ALL IN MEMORY SELECT
      
      Add a new build option: INNODB_PAGE_ATOMIC_REF_COUNT, default is ON.
      
      If this option is enabled then use atomic reference counting to track
      block use. If it is off then use the old way.
      
      Approved by Yasufumi Kinoshita rb#3958.
------------------------------------------------------------
revno: 7103 [merge]
committer: Roy Lyseng <roy.lyseng@oracle.com>
branch nick: mysql-trunk-review
timestamp: Tue 2013-12-10 09:28:43 +0100
message:
  Merge from 5.6
    ------------------------------------------------------------
    revno: 3902.291.123
    committer: Roy Lyseng <roy.lyseng@oracle.com>
    branch nick: mysql-5.6
    timestamp: Tue 2013-12-10 09:24:24 +0100
    message:
      Bug#71010: Bug#17876794: sql/sql_resolver.cc refers to partition engine fields
      
      An #ifdef was missed in this file.
------------------------------------------------------------
revno: 7102 [merge]
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-merge
timestamp: Mon 2013-12-09 15:39:25 +0100
message:
  Merge 5.6 => trunk
    ------------------------------------------------------------
    revno: 3902.291.122
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.6-merge
    timestamp: Mon 2013-12-09 09:27:28 +0100
    message:
      Bug#17400967 MYSQL_CONFIG FAILS TO FILTER OUT SOME WARNING FLAG
      
      For clang and gcc we set some warning flags when compiling the server.
      Remove them when generating the script mysqld_config.
------------------------------------------------------------
revno: 7101
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-plain
timestamp: Mon 2013-12-09 13:23:27 +0100
message:
  Bug#11752665: WINDOWS SERVER X64: SO MANY COMPILER WARNINGS
  
  Patch #3: Post-push fix - fix new warnings on 32 bit builds.
------------------------------------------------------------
revno: 7100
committer: Marc Alff <marc.alff@oracle.com>
branch nick: mysql-trunk-cleanup
timestamp: Mon 2013-12-09 11:59:23 +0100
message:
  Bug#17909414 - RUNNING UNIT TESTS REPORTS WRONG NUMBER OF TESTS RUN AND FAILS
  
  Fixed the number of tests cases.
------------------------------------------------------------
revno: 7099 [merge]
committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
branch nick: trunk
timestamp: Mon 2013-12-09 11:58:47 +0530
message:
  Bug #16924719    SMALL PERFORMANCE IMPACT WITH HEAP BLOCK
                          DEBUGGING INFO IN RELEASE BUILDS
  	Fixed Build problem in debug, merge from 5.6
    ------------------------------------------------------------
    revno: 3902.291.121
    committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
    branch nick: r-5.6
    timestamp: Mon 2013-12-09 11:56:43 +0530
    message:
      Bug #16924719	 SMALL PERFORMANCE IMPACT WITH HEAP BLOCK
      			DEBUGGING INFO IN RELEASE BUILDS
      	Fixed build problem in debug mode.
------------------------------------------------------------
revno: 7098 [merge]
committer: Pavan Naik<pavan.naik@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2013-12-09 11:47:44 +0530
message:
  BUG#16321920 : CREATE A SEPARATE INNODB_ZIP TEST SUITE
  
  Merge from mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.120
    committer: Pavan Naik<pavan.naik@oracle.com>
    branch nick: mysql-5.6
    timestamp: Mon 2013-12-09 11:45:35 +0530
    message:
      BUG#16321920 : CREATE A SEPARATE INNODB_ZIP TEST SUITE
      
      innodb.innodb-wl5980-alter.test and innodb.innodb-wl6445-1.test were affecting innodb_zip.innodb-restart.test
      
      Added "rmdir" statement in the end of both the tests to remove the directory "$MYSQL_TMP_DIR/alt_dir".
------------------------------------------------------------
revno: 7097 [merge]
committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
branch nick: trunk
timestamp: Mon 2013-12-09 10:39:46 +0530
message:
  Bug #16924719    SMALL PERFORMANCE IMPACT WITH HEAP BLOCK
                          DEBUGGING INFO IN RELEASE BUILDS
  
  	Merge from mysql-5.6
    ------------------------------------------------------------
    revno: 3902.291.119
    committer: Thirunarayanan B<thirunarayanan.balathandayuth@oracle.com>
    branch nick: r-5.6
    timestamp: Mon 2013-12-09 10:32:10 +0530
    message:
      Bug #16924719	 SMALL PERFORMANCE IMPACT WITH HEAP BLOCK
      			DEBUGGING INFO IN RELEASE BUILDS
      Problem:
       	Memory block debugging details (file_name, lineno) is present on
      release builds.It impacts by a tiny amount on every heap creation.
      
      Solution:
      	Removed file_no, lineno of block details in release builds.
      
      	[Approved by Marko #rb 4022]
------------------------------------------------------------
revno: 7096
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: mysql-trunk
timestamp: Mon 2013-12-09 10:04:00 +0530
message:
  WL#6755 : Use of error logging API in InnoDB
  
  --Post-fix test failures for big-test introduced by WL6755.
------------------------------------------------------------
revno: 7095
committer: Saikumar V <saikumar.v@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-06 21:05:35 +0530
message:
  Synching rqg grammars to mysql-trunk branch internal.
------------------------------------------------------------
revno: 7094
committer: Akhila Maddukuri<akhila.x.maddukuri@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-06 19:51:48 +0530
message:
  Added --mem option to max_parts tests MTR run command to speed up the run.
------------------------------------------------------------
revno: 7093
committer: Anil Toshniwal <anil.toshniwal@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-06 18:11:35 +0530
message:
  WL#6755 : Use of error logging API in InnoDB
  
  a) Replace all possible occurrence of fprintf(stderr, "<MSG>") with
      ib_logf().
  b) Replace all possible occurrence of fputs() that redirect error/warning
     to stderr stream with ib_logf().
  c) Get rid of ut_print_timestamp(), where ever possible in InnoDB.
     As ib_logf() take care of emitting timestamp with each message output.
  
  Approved by: Krunal, Allen and Kevin (rb#3682).
------------------------------------------------------------
revno: 7092
committer: Igor Solodovnikov <igor.solodovnikov@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-06 13:59:56 +0200
message:
  Bug #17514554	IT IS NOT POSSIBLE TO #INCLUDE <MYSQL.H> AFTER #INCLUDE <WINDOWS.H>
  
  Windows.h header includes winsock.h unless WIN32_LEAN_AND_MEAN is defined. Thus we cannot include winsock2.h after winsock.h was included.
  
  Fixed by including windows.h before winsock2.h. Also winsock2.h is only included if WIN32_LEAN_AND_MEAN is defined (otherwise windows.h includes winsock.h).
------------------------------------------------------------
revno: 7091 [merge]
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-06 13:51:51 +0200
message:
  Null-merge mysql-5.6 -> mysql-trunk
    ------------------------------------------------------------
    revno: 3902.291.118
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-5.6
    timestamp: Fri 2013-12-06 13:49:49 +0200
    message:
      Backport from mysql-trunk to mysql-5.6:
      
        ** revision-id: vasil.dimov@oracle.com-20131203155950-qm0okr731tms81sy
        ** committer: Vasil Dimov <vasil.dimov@oracle.com>
        ** branch nick: mysql-trunk
        ** timestamp: Tue 2013-12-03 17:59:50 +0200
        ** message:
        **   Fix Bug#17193801 DICT_TABLE_SCHEMA_CHECK CALLS DTYPE_SQL_NAME
        **   NEEDLESSLY - WASTING A LOT OF CPU
        **
        **   Avoid the calls to dtype_sql_name() if the results are not going to
        **   be used (they are used only in an event of an error).
        **
        **   Reviewed by:	Kevin (rb:3625)
------------------------------------------------------------
revno: 7090
committer: Igor Solodovnikov <igor.solodovnikov@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-06 12:08:43 +0200
message:
  Bug #17515067	UPGRADE OF 64BIT MSI FROM 6.1 TO 6.2 HAPPENING IN DEFAULT FOLDER
  
  Post push commit to fix copyright years.
------------------------------------------------------------
revno: 7089
committer: Igor Solodovnikov <igor.solodovnikov@oracle.com>
branch nick: mysql-trunk
timestamp: Fri 2013-12-06 11:50:36 +0200
message:
  Bug #17338958	CLIENT CRASH WHEN MYSQL-SET-SERVER-OPTION IS CALLED BEFORE MYSQL_REAL_CONNECT
  
  Crash was caused by using mysql->methods which is NULL before mysql_real_connect().
  
  Fixed by modifying simple_command macro to check mysql->methods before using reporting CR_COMMANDS_OUT_OF_SYNC if it is NULL.
  Similar change also applied to stmt_command macro thus fixing crash in mysql_stmt_prepare().
------------------------------------------------------------
revno: 7088
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-05 22:25:15 +0200
message:
  Fix Bug#17033182 FIL_CHECK_FIRST_PAGE() FAILS TO CHECK PAGE SIZE
  
  In fil_check_first_page() do check if the flags are valid and if not
  then signal this to the caller by returning != NULL instead of crashing.
  In Tablespace::read_lsn_and_check_flags() only read the returned "flags"
  and "space" values if the file is reported valid (check_msg == NULL is
  returned). If we do not do this, we may hit the assert
  "ut_a(!check_tablespace_attributes || space == TRX_SYS_SPACE)" if the
  file is corrupted (check_msg != NULL) and thus "space" is bogus.
  
  Reviewed by:    Krunal, Marko, Kevin (rb:4042)
------------------------------------------------------------
revno: 7087
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-05 17:30:23 +0200
message:
  Style fixup.
------------------------------------------------------------
revno: 7086
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-bug11752665
timestamp: Fri 2013-12-06 10:12:14 +0100
message:
  Bug#11752665: WINDOWS SERVER X64: SO MANY COMPILER WARNINGS
  
  Patch #3:
  
  This patch reduces the compiler warning count on Win64 by an additional
  950, as reported by VS2013.
  
  Note that st_mysql_bind doesn't actually grow in size (64 bit, GCC).
------------------------------------------------------------
revno: 7085
committer: Tor Didriksen <tor.didriksen@oracle.com>
branch nick: trunk-dynarray
timestamp: Thu 2013-12-05 17:44:36 +0100
message:
  Bug#17865689 GET RID OF DYNAMIC_ARRAY IN OPEN_TABLES_STATE
  
  Use Prealloced_array instead.
------------------------------------------------------------
revno: 7084
committer: Rafal Somla <rafal.somla@oracle.com>
branch nick: bug17171724-cient-version
timestamp: Thu 2013-12-05 15:12:40 +0100
message:
  Introduce LIBMYSQL_VERSION constants for consistency with Connector/C 6.1 sources. See bug#17171724/#69700.
  
  Also replaced tabs by spaces.
------------------------------------------------------------
revno: 7083
committer: Igor Solodovnikov <igor.solodovnikov@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-05 13:57:01 +0200
message:
  Bug #17515067	UPGRADE OF 64BIT MSI FROM 6.1 TO 6.2 HAPPENING IN DEFAULT FOLDER
  
  
  Upgrading 64-bit version of windows MSI package happened in default folder because registry search logic was hardcoded to use 32-bit registry.
  
  Fixed registry search logic by forcing 64-bit registry in 64-bit packages and
  32-bit registry in 32-bit packages.
------------------------------------------------------------
revno: 7082
committer: viswanatham gudipati <viswanatham.gudipati@oracle.com>
branch nick: mysql-trunk
timestamp: Thu 2013-12-05 15:23:23 +0530
message:
  Bug #17902011 : Fixed all issues reported in the rb#3760 
------------------------------------------------------------
revno: 7081
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-plain
timestamp: Thu 2013-12-05 10:23:39 +0100
message:
  Bug#17606098: DEADLOCK INVOLVING SRV_MONITOR_THREAD AND LOCK_THD_DATA
  
  Post-push fix: Fix valgrind warnings.
  
  The patch for Bug#17606098 changes the size of the buffer allocated for THD's query string
  to match the size of the string. Before it was larger to accomodate data needed for the
  query cache. Reducing the size of the buffer triggered valgrind warnings in the lexer
  because it sometimes read past the end of the query string. Before this meant reading
  into the query cache data, now it means reading past the allocated buffer.
  
  This post-push fix adds a missing eof check to the lexer.
------------------------------------------------------------
revno: 7080 [merge]
committer: Guilhem Bichot <guilhem.bichot@oracle.com>
branch nick: trunk
timestamp: Wed 2013-12-04 21:58:20 +0100
message:
  Merge of local trunk with latest changes of local 5.6
    ------------------------------------------------------------
    revno: 3902.291.117 [merge]
    committer: Guilhem Bichot <guilhem.bichot@oracle.com>
    branch nick: 5.6
    timestamp: Wed 2013-12-04 18:08:05 +0100
    message:
      Merge of local 5.6 with latest changes of local 5.5
        ------------------------------------------------------------
        revno: 2875.545.92
        committer: Guilhem Bichot <guilhem.bichot@oracle.com>
        branch nick: 5.5
        timestamp: Wed 2013-12-04 12:32:42 +0100
        message:
          Bug#16539979 - BASIC SELECT COUNT(DISTINCT ID) IS BROKEN
          Bug#17867117 - ERROR RESULT WHEN "COUNT + DISTINCT + CASE WHEN" NEED MERGE_WALK 
          
          Problem:
          COUNT DISTINCT gives incorrect result when it uses a Unique
          Tree and its last inserted record has null value.
          
          Here is how COUNT DISTINCT is processed, given that this query is not
          using loose index scan.
          
          When a row is produced as a result of joining tables (there is only
          one table here), we store the SELECTed value in a Unique tree. This
          allows elimination of any duplicates, and thus implements DISTINCT.
          
          When we have processed all rows like this, we walk the Unique tree,
          counting its elements, in Aggregator_distinct::endup() (tree->walk());
          for each element we call Item_sum_count::add(). Such function wants to
          ignore any NULL value, for that it checks item_sum -> args[0] ->
          null_value. It is a mistake: when walking the Unique tree, the value
          to be aggregated is not item_sum ->args[0] but rather table ->
          field[0].
          
          Solution:
          instead of item_sum -> args[0] -> null_value, use arg_is_null(), which
          knows where to look (like in fix for bug 57932).
          
          As a consequence of this solution, we have to make arg_is_null() a
          little more general:
          1) Because it was so far only used for AVG() (which always has a
          single argument), this function was looking at a single argument; now
          that it has to work with COUNT(DISTINCT expression1,expression2), it
          must look at all arguments.
          2) Because we start using arg_is_null () for COUNT(DISTINCT), i.e. in
          Item_sum_count::add (), it implies that we are also using it for
          COUNT(no DISTINCT) (same add ()). For COUNT(no DISTINCT), the
          nullness to check is that of item_sum -> args[0]. But the null_value
          of such item is reliable only if val_*() has been called on it. So far
          arg_is_null() was always used after a call to arg_val*(), so could
          rely on null_value; but for COUNT, there is no call to arg_val*(), so
          arg_is_null() has to call is_null() instead.
          
          Testcase for 16539979 by Neeraj. Testcase for 17867117 contributed by
          Xiaobin Lin from Taobao.
------------------------------------------------------------
revno: 7079
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-test
timestamp: Wed 2013-12-04 17:16:20 +0100
message:
  Bug#17606098: DEADLOCK INVOLVING SRV_MONITOR_THREAD AND LOCK_THD_DATA
  
  Post-push fix: Fix broken Cluster/Valgrind builds.
------------------------------------------------------------
revno: 7078
committer: John Embretsen <john.embretsen@oracle.com>
branch nick: mysql-trunk-rqg-work
timestamp: Wed 2013-12-04 16:06:45 +0100
message:
  New RQG grammar for testing the range optimizer, originally created for WL#7019 ("Add support for row value constructors in in predicates to range optimizer").
  Also adding a new gendata file to accompany the new grammar. 
  See rb#3905 for review of this addition.
------------------------------------------------------------
revno: 7077
committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
branch nick: mysql-trunk-bug17606098
timestamp: Wed 2013-12-04 15:42:03 +0100
message:
  Bug#17606098: DEADLOCK INVOLVING SRV_MONITOR_THREAD AND LOCK_THD_DATA
  
  Pre-requisite patch: Get control over THD::query_string.
  
  Encapsulate access to THD::query_string:
  - Make it a private member of Statement, with protected getters/setters in Statement.
  - Make a single public getter and setter in THD.
  - Change getter to return const.
  - Rewrite QC key logic so that it doesn't have to write to the query_string buffer.
  - Change Prepared_statement code to use member functions which can use the
    protected getter/setter in Statement.
  - Currently one const_cast is currently required in Lex_input_stream::reset
    as the lexer in one special case directly patches the query string.
------------------------------------------------------------
revno: 7076
committer: Sneha Modi <sneha.modi@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2013-12-04 17:07:29 +0530
message:
  WL#7405 :  Migrate partition tests in the main suite 
------------------------------------------------------------
revno: 7075
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2013-12-04 13:06:53 +0200
message:
  Silence a cmake warning:
  
    CMake Warning (dev) at CMakeLists.txt:212 (INCLUDE):
      Syntax Warning in cmake code at
  
        /bzrroot/server/mysql-trunk/cmake/ssl.cmake:255:29
  
      Argument not separated from preceding token by whitespace.
    This warning is for project developers.  Use -Wno-dev to suppress it.
  
  Discussed with:	Rafal (over IM)
------------------------------------------------------------
revno: 7074 [merge]
committer: Krunal Bauskar krunal.bauskar@oracle.com
branch nick: mysql-trunk
timestamp: Wed 2013-12-04 16:00:00 +0530
message:
  Merge mysql-5.6 to mysql-trunk.
    ------------------------------------------------------------
    revno: 3902.291.116
    committer: Krunal Bauskar krunal.bauskar@oracle.com
    branch nick: mysql-5.6
    timestamp: Wed 2013-12-04 15:58:27 +0530
    message:
      - bug#70867: WRONG OS ERROR NUMBER REPORTED IN ERROR LOG DURING FAILURE AT
        STARTUP
      
        InnoDB has handler to handle some of the common known errors.
        One of such error is ACCESS VIOLATION error which is detected and
        proper notifying error message is printed but it left unmapped to internal
        InnoDB error code that causes caller function to think that error is
        is not from know list and caller try to invoke default error handle
        leading to error-code and message mis-match.
      
        Fixed by ensuring that known ACCESS VIOLATION error is mapped to proper
        InnoDB error code.
      
        Approved by: Kevin (rb#3986)
        (BPS approval by Sveta)
------------------------------------------------------------
revno: 7073
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2013-12-04 08:56:07 +0200
message:
  Followup to vasil.dimov@oracle.com-20131203163459-tlkyqdq93jysk9z0:
  
  fix compilation failure when perfschema is enabled.
  
  The key is called dict_table_stats_latch_key in mysql-5.6, but
  dict_table_stats_key in mysql-trunk.
------------------------------------------------------------
revno: 7072 [merge]
committer: Hery Ramilison <hery.ramilison@oracle.com>
branch nick: mysql-trunk
timestamp: Wed 2013-12-04 04:19:55 +0100
message:
  Upmerge of the mysql-5.1.73 build
    ------------------------------------------------------------
    revno: 3902.291.115 [merge]
    committer: Hery Ramilison <hery.ramilison@oracle.com>
    branch nick: mysql-5.6
    timestamp: Wed 2013-12-04 04:12:50 +0100
    message:
      Upmerge of the mysql-5.1.73 build
        ------------------------------------------------------------
        revno: 2875.545.91 [merge]
        committer: Hery Ramilison <hery.ramilison@oracle.com>
        branch nick: mysql-5.5
        timestamp: Wed 2013-12-04 04:04:44 +0100
        message:
          Upmerge of the mysql-5.1.73 build
            ------------------------------------------------------------
            revno: 2661.888.1
            author: 
            committer: Hery Ramilison <hery.ramilison@oracle.com>
            branch nick: mysql-5.1
            timestamp: Tue 2013-12-03 20:47:36 +0100
            message:
              Merge from mysql-5.1.73-release
------------------------------------------------------------
revno: 7071
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-03 18:34:59 +0200
message:
  Fix Bug#70768 Persistent optimizer statistics often causes LOCK_open stalls
  
  Protect each table's dict_table_t::stat* members with a latch dedicated
  for this table instead of using a global pool of 64 shared latches.
  With 6 tables, the chances of at least two ending up with the same latch
  is 23.9%. With a lots of tables, there are tons of collisions.
  
  Reviewed by:	Kevin (rb:3805)
------------------------------------------------------------
revno: 7070
committer: Vasil Dimov <vasil.dimov@oracle.com>
branch nick: mysql-trunk
timestamp: Tue 2013-12-03 17:59:50 +0200
message:
  Fix Bug#17193801 DICT_TABLE_SCHEMA_CHECK CALLS DTYPE_SQL_NAME
  NEEDLESSLY - WASTING A LOT OF CPU
  
  Avoid the calls to dtype_sql_name() if the results are not going to
  be used (they are used only in an event of an error).
  
  Reviewed by:	Kevin (rb:3625)
------------------------------------------------------------
revno: 7069 [merge]
committer: Bjorn Munch <bjorn.munch@oracle.com>
branch nick: main-tr
timestamp: Tue 2013-12-03 12:37:35 +0100
message:
  Null merge from 5.7.3-m13 release
    ------------------------------------------------------------
    revno: 6858.1.6
    tags: mysql-5.7.3
    committer: Bjorn Munch <bjorn.munch@oracle.com>
    branch nick: rel-573
    timestamp: Sat 2013-11-16 21:03:41 +0100
    message:
      Merged Bug #17675622 cset 6979 from trunk
