------------------------------------------------------------
revno: 3468 [merge]
tags: clone-mysql-5.1.61-ndb-6.3.48-src-build
committer: jonas oreland <jonas.oreland@oracle.com>
branch nick: telco-6.3
timestamp: Mon 2012-02-13 18:00:22 +0100
message:
  ndb - merge 5.1.61 into 6.3
    ------------------------------------------------------------
    revno: 2555.947.8
    tags: mysql-5.1.61
    committer: Karen Langford <karen.langford@oracle.com>
    branch nick: mysql-5.1.61-release
    timestamp: Wed 2012-01-11 18:40:29 +0100
    message:
      Fixes required to build on AIX
    ------------------------------------------------------------
    revno: 2555.947.7
    tags: clone-5.1.61-build
    committer: Mattias Jonsson <mattias.jonsson@oracle.com>
    branch nick: topush-5.1-sec
    timestamp: Thu 2011-12-15 16:59:18 +0100
    message:
      Post push fix for merge.test and mysqlcheck.test on windows
    ------------------------------------------------------------
    revno: 2555.947.6 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Thu 2011-12-15 14:10:20 +0200
    message:
      merge mysql-5.1->mysql-5.1-security
        ------------------------------------------------------------
        revno: 2555.936.71
        committer: Annamalai Gurusami <annamalai.gurusami@oracle.com>
        branch nick: mysql-5.1-bug13117023
        timestamp: Tue 2011-12-13 14:26:12 +0530
        message:
          Bug #13117023: Innodb increments handler_read_key when it should not
          
          The counter handler_read_key (SSV::ha_read_key_count) is incremented 
          incorrectly.
          
          The mysql server maintains a per thread system_status_var (SSV)
          object.  This object contains among other things the counter
          SSV::ha_read_key_count. The purpose of this counter is to measure the
          number of requests to read a row based on a key (or the number of
          index lookups).
          
          This counter was wrongly incremented in the
          ha_innobase::innobase_get_index(). The fix removes
          this increment statement (for both innodb and innodb_plugin).
          
          The various callers of the innobase_get_index() was checked to
          determine if anybody must increment this counter (if they first call
          innobase_get_index() and then perform an index lookup).  It was found
          that no caller of innobase_get_index() needs to worry about the
          SSV::ha_read_key_count counter.
        ------------------------------------------------------------
        revno: 2555.936.70
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-12-12 13:48:24 +0200
        message:
          Bug#13418887 ERROR IN DIAGNOSTIC FUNCTION PAGE_REC_PRINT()
          
          When printing information about a ROW_FORMAT=REDUNDANT record, pass
          the correct flag to rec_get_next_offs().
          
          rb:821 approved by Jimmy Yang
    ------------------------------------------------------------
    revno: 2555.947.5 [merge]
    committer: Mattias Jonsson <mattias.jonsson@oracle.com>
    branch nick: topush-5.1-sec
    timestamp: Wed 2011-12-14 14:41:40 +0100
    message:
      merge
        ------------------------------------------------------------
        revno: 1810.4002.27 [merge]
        tags: mysql-5.0.95, clone-5.0.95-build
        committer: Mattias Jonsson <mattias.jonsson@oracle.com>
        branch nick: topush-5.0-sec
        timestamp: Wed 2011-12-14 14:05:22 +0100
        message:
          merge
            ------------------------------------------------------------
            revno: 1810.4004.1
            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
            branch nick: b12361113-50-sec
            timestamp: Mon 2011-12-12 14:07:02 +0100
            message:
              Bug#12361113: CRASH WHEN "LOAD INDEX INTO CACHE" WITH TOO
              SMALL KEY CACHE
              
              The server crashed on division by zero because the key cache was not
              initialized and the block length was 0 which was used in a division.
              
              The fix was to not allow CACHE INDEX if the key cache was not initiallized.
              Thus never try LOAD INDEX INTO CACHE for an uninitialized key cache.
              
              Also added some windows files/directories to .bzrignore.
    ------------------------------------------------------------
    revno: 2555.947.4 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Mon 2011-12-12 12:25:35 +0100
    message:
      merge 5.1->5.1-security.
        ------------------------------------------------------------
        revno: 2555.936.69
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.1-sighandler
        timestamp: Wed 2011-11-30 17:11:13 +0100
        message:
          Bug#11761576 54082: HANDLE_SEGFAULT MAKES USE OF UNSAFE FUNCTIONS
          
          Post-push fix: build break on windows/optimized
        ------------------------------------------------------------
        revno: 2555.936.68
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.1-sighandler
        timestamp: Wed 2011-11-30 15:39:29 +0100
        message:
          Bug#11761576 54082: HANDLE_SEGFAULT MAKES USE OF UNSAFE FUNCTIONS
          
          handle_segfault is the signal handler code of mysqld.  however, it makes
          calls to potentially unsafe functions localtime_r, fprintf, fflush.
        ------------------------------------------------------------
        revno: 2555.936.67
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.1
        timestamp: Tue 2011-11-29 15:52:47 +0100
        message:
          Build broken for gcc 4.5.1 in optimized mode.
          
          readline.cc: In function char* batch_readline(LINE_BUFFER*):
          readline.cc:60:9: error: out_length may be used uninitialized in this function
          log.cc: In function int find_uniq_filename(char*):
          log.cc:1857:8: error: number may be used uninitialized in this function
        ------------------------------------------------------------
        revno: 2555.936.66
        committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
        branch nick: B11756764-5.1
        timestamp: Tue 2011-11-29 17:59:35 +0530
        message:
          Bug#11756764 48726: MYSQLD KEEPS CRASHING WITH SIGSEGV
                              WITH MYISAM_USE_MMAP ENABLED
          
          MySQL server can crash due to segmentation fault when
          started with myisam_use_mmap.
          
          The reason behind this being, while making a request to
          unmap (munmap) the previously mapped memory (mmap), the
          size passed was 7 bytes larger than the size requested at
          the time of mapping. This can eventually unmap the adjacent
          memory mapped block, belonging to some other memory-map pool.
          Hence the subsequent call to mmap can map a region which was
          still a valid memory mapped area.
          
          Fixed by removing the extra 7-byte margin which was erroneously
          added to the size, used for unmappping.
        ------------------------------------------------------------
        revno: 2555.936.65
        committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
        branch nick: bug_93_5.1
        timestamp: Wed 2011-11-23 18:33:29 +0530
        message:
          BUG#11751793 - 42784: ARCHIVE TABLES CAUSE 100% CPU USAGE
                                AND HANG IN SHOW TABLE STATUS.
          
          ISSUE: Table corruption due to concurrent queries.
                 Different threads running insert and check
                 query leads to table corruption. Not properly locked,
                 rows are inserted in between check query.
          
          SOLUTION: In check query mutex lock is acquired
                    for a longer time to handle concurrent
                    insert and check query.
          
          NOTE: Additionally we backported the fix for CHECKSUM
                issue(bug#11758979).
        ------------------------------------------------------------
        revno: 2555.936.64
        committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
        branch nick: mysql-5.1-test
        timestamp: Tue 2011-11-22 14:16:13 +0100
        message:
          Disabling main.query_cache_28249.test since this test fails
          sporadically on 5.1. See Bug#12584161.
          
          Test runs successfully on 5.5/trunk, so this changeset will
          be null-merged.
        ------------------------------------------------------------
        revno: 2555.936.63
        committer: Inaam Rana <inaam.rana@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-11-18 10:59:10 -0500
        message:
          Bug#13390506 - VALGRIND FAILURE AFTER THE FIX FOR 13371000
            
          rb://816
          approved by: Marko Makela
            
          The title is misleading. This bug was actually introduced by
          bug 12635227 and was unearthed by a later optimization.
          We need to free buf_page_t structs that we are allocating using
          malloc() at shutdown.
        ------------------------------------------------------------
        revno: 2555.936.62
        committer: Jorgen Loland <jorgen.loland@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-11-18 14:47:11 +0100
        message:
          Backmerge of BUG#12997905
        ------------------------------------------------------------
        revno: 2555.936.61 [merge]
        committer: Karen Langford <karen.langford@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-11-17 00:26:16 +0100
        message:
          Merge from mysql-5.1.60-release
        ------------------------------------------------------------
        revno: 2555.936.60
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-11-10 16:45:47 +0200
        message:
          Bug #12842206 INNODB LOCKING REGRESSION FOR INSERT IGNORE: Add a test case.
          The bug was accidentally fixed by fixing
          Bug#11759688 52020: InnoDB can still deadlock on just INSERT...ON DUPLICATE KEY
          a.k.a. the reintroduction of
          Bug#7975 deadlock without any locking, simple select and update
        ------------------------------------------------------------
        revno: 2555.936.59
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-11-10 12:49:31 +0200
        message:
          Bug#11759688 52020: InnoDB can still deadlock on just INSERT...ON DUPLICATE KEY
          a.k.a. Bug#7975 deadlock without any locking, simple select and update
          
          Bug#7975 was reintroduced when the storage engine API was made
          pluggable in MySQL 5.1. Instead of looking at thd->lex directly, we
          rely on handler::extra(). But, we were looking at the wrong extra()
          flag, and we were ignoring the TRX_DUP_REPLACE flag in places where we
          should obey it.
          
          innodb_replace.test: Add tests for hopefully all affected statement
          types, so that bug should never ever resurface. This kind of tests
          should have been added when fixing Bug#7975 in MySQL 5.0.3 in the
          first place.
          
          rb:806 approved by Sunny Bains
        ------------------------------------------------------------
        revno: 2555.936.58
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-11-08 14:15:22 +0200
        message:
          Bug#13358468 ASSERTION FAILURE IN BTR_PCUR_GET_BLOCK
          
          btr_pcur_restore_position_func(): When the cursor was positioned at
          the tree infimum or supremum, initialize pos_state and latch_mode. The
          assertion failed, because pos_state was BTR_PCUR_WAS_POSITIONED.  In
          the test failure of WL#5874, the purge thread attempted to restore the
          cursor position on the infimum record (the clustered index was empty).
          
          btr_pcur_detach(), btr_pcur_is_detached(): Unused functions, remove.
          
          rb:804 approved by Inaam Rana
        ------------------------------------------------------------
        revno: 2555.936.57
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-11-07 13:37:19 +0200
        message:
          Add debug assertions to catch Bug#13345378 earlier.
          
          In all callers of row_sel_convert_mysql_key_to_innobase(), assert
          that the converted key is empty or nonempty when it should be.
    ------------------------------------------------------------
    revno: 2555.947.3 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Fri 2011-11-04 14:33:38 +0200
    message:
      auto-merge mysql-5.1->mysql-5.5
        ------------------------------------------------------------
        revno: 2555.936.56
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.1
        timestamp: Tue 2011-11-01 07:50:54 +0100
        message:
          Bug#12406055 post-push fix: unused variable 'num_chars' in optimized build.
          Also fixed possibly uninitialized use of need_copy_table_res.
        ------------------------------------------------------------
        revno: 2555.936.55
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.1
        timestamp: Mon 2011-10-31 10:10:04 +0100
        message:
          Bug#12406055 post-push fix: unused variable 'num_chars' in optimized build.
        ------------------------------------------------------------
        revno: 2555.936.54
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-10-27 14:58:12 +0300
        message:
          Bug #12884631 62146: TABLES ARE LOST FOR DDL
          
          row_rename_table_for_mysql(): Return DB_ERROR instead of DB_SUCCESS
          when fil_rename_tablespace() returns an error. This bug was introduced
          in the InnoDB Plugin.
          
          Approved by Sunny Bains over IM.
    ------------------------------------------------------------
    revno: 2555.947.2 [merge]
    committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Thu 2011-10-27 10:22:19 +0400
    message:
      Empty merge from mysql-5.1.
        ------------------------------------------------------------
        revno: 2555.936.53
        committer: Karen Langford <karen.langford@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-10-26 20:48:42 +0200
        message:
          Increased version number after cloning 5.1.60
    ------------------------------------------------------------
    revno: 2555.947.1
    committer: Karen Langford <karen.langford@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Wed 2011-10-26 17:03:53 +0200
    message:
      Raise version number after cloning 5.1.60
------------------------------------------------------------
revno: 3467 [merge]
committer: jonas oreland <jonas.oreland@oracle.com>
branch nick: telco-6.3
timestamp: Mon 2012-02-13 16:29:06 +0100
message:
  ndb - merge 5.1.60 into 6.3
    ------------------------------------------------------------
    revno: 2555.929.34
    tags: mysql-5.1.60
    committer: Karen Langford <karen.langford@oracle.com>
    branch nick: mysql-5.1.60-release
    timestamp: Sat 2011-10-29 20:08:40 +0200
    message:
      Patch to fix stdint.h missing from pre Solaris 10 versions.
    ------------------------------------------------------------
    revno: 2555.929.33
    committer: Karen Langford <karen.langford@oracle.com>
    branch nick: mysql-5.1.60-release
    timestamp: Fri 2011-10-28 16:40:46 +0200
    message:
      Patch to fix libedit vis.h problem (OSX/FreeBSD)
    ------------------------------------------------------------
    revno: 2555.929.32
    tags: clone-5.1.60-build
    committer: Marko M?kel? <marko.makela@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Wed 2011-10-26 12:23:57 +0300
    message:
      Revert revno:3452.71.32 (Bug#12612184 fix).
      
      Bug#12612184 RACE CONDITION AFTER BTR_CUR_PESSIMISTIC_UPDATE()
      
      The fix introduced potentially more severe crash recovery problems
      than the bug causes. Revert the fix for now.
    ------------------------------------------------------------
    revno: 2555.929.31
    committer: Marko M?kel? <marko.makela@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Wed 2011-10-26 11:44:28 +0300
    message:
      Revert most of revno 3560.9.1 (Bug#12704861)
      
      This was an attempt to address problems with the Bug#12612184 fix.
      Even with this follow-up fix, crash recovery can be broken.
      Let us fix the bug later.
    ------------------------------------------------------------
    revno: 2555.929.30
    committer: Marko M?kel? <marko.makela@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Wed 2011-10-26 09:38:28 +0300
    message:
      Copy and adapt innodb_misc1.test from innodb to innodb_plugin.
    ------------------------------------------------------------
    revno: 2555.929.29
    committer: Marko M?kel? <marko.makela@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Wed 2011-10-26 09:34:32 +0300
    message:
      Fix results after Bug#12661768 fix.
    ------------------------------------------------------------
    revno: 2555.929.28
    committer: Marko M?kel? <marko.makela@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Tue 2011-10-25 17:58:34 +0300
    message:
      Fix results after Bug#12661768 fix.
    ------------------------------------------------------------
    revno: 2555.929.27
    committer: Marko M?kel? <marko.makela@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Tue 2011-10-25 17:33:38 +0300
    message:
      Bug#13002783 PARTIALLY UNINITIALIZED CASCADE UPDATE VECTOR
      
      In the ON UPDATE CASCADE clause of FOREIGN KEY constraints, the
      calculated update vector was not fully initialized. This bug was
      introduced in the InnoDB Plugin when implementing support for
      ROW_FORMAT=DYNAMIC.
      
      Additionally, the data type information was not initialized, but
      apparently it has never been needed in this case.  Nevertheless, it is
      not good programming practice to pass uninitialized values around.
      
      calc_row_difference(): Declare the update field uninitialized in
      Valgrind. Copy the data type information as well, except when the
      field is SQL NULL. In the built-in InnoDB, initialize
      ufield->extern_storage = FALSE (an initialization bug that had gone
      unnoticed this far). The InnoDB Plugin and later have this flag to
      dfield_t and have always initialized it properly.
      
      row_ins_cascade_calc_update_vec(): Reduce the scope of some
      pointers. Initialize orig_len. (This caused the bug in InnoDB Plugin
      and later.)
      
      row_ins_foreign_check_on_constraint(): Simplify a condition. Declare
      the update vector uninitialized.
      
      rb:771 approved by Jimmy Yang
    ------------------------------------------------------------
    revno: 2555.929.26
    committer: Vasil Dimov <vasil.dimov@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Tue 2011-10-25 16:46:38 +0300
    message:
      Fix Bug#12661768 UPDATE IGNORE CRASHES SERVER IF TABLE IS INNODB AND IT IS
      PARENT FOR OTHER ONE
      
      Do not try to lookup key_nr'th key in 'table' because there may not be such
      a key there. key_nr is the number of the key in the _child_ table name, not
      in the parent table.
      
      Instead just print the fields of the record that are covered by the first key
      defined on the parent table.
      
      This bug gets a better fix in MySQL 5.6, which is too risky for 5.1 and 5.5.
      
      Approved by:	Jon Olav Hauglid (via IM)
    ------------------------------------------------------------
    revno: 2555.929.25 [merge]
    committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Mon 2011-10-24 12:44:27 +0400
    message:
      Auto-merge from mysql-5.1.
        ------------------------------------------------------------
        revno: 2555.936.52
        committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-10-24 13:35:28 +0530
        message:
          WL#5945 - Improve libedit library
          
          Fixed a misplaced parenthesis, injected due to
          syncing from libedit CVS head.
        ------------------------------------------------------------
        revno: 2555.936.51
        committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
        branch nick: B13106585-5.1
        timestamp: Fri 2011-10-21 18:10:12 +0530
        message:
          Bug#13106585 PUSH FOR "WL#5945 : IMPROVE LIBEDIT LIBRARY"
                       BREAKS SOURCE RELEASE BUILD
          
          Some of the required files were not getting copied while
          performing 'make dist' and hence the build failed for
          the created distribution source.
          
          Added the missing files to Makefile.am.
        ------------------------------------------------------------
        revno: 2555.936.50 [merge]
        committer: Sergey Vojtovich <sergey.vojtovich@oracle.com>
        branch nick: mysql-5.1-push
        timestamp: Fri 2011-10-21 09:30:56 +0400
        message:
          Merge.
            ------------------------------------------------------------
            revno: 2555.946.1
            committer: Sergey Vojtovich <sergey.vojtovich@oracle.com>
            branch nick: mysql-5.1-bug49030
            timestamp: Thu 2011-10-20 15:03:22 +0400
            message:
              BUG#11757032 - 49030: OPTIMIZE TABLE BREAKS MYISAM TABLE WHEN
                             USING MYISAM_USE_MMAP ON WINDOWS
              
              When OPTIMIZE/REPAIR TABLE is switching to new data file,
              old data file is removed while memory mapping is still
              active.
              
              With 5.1 implementation of nt_share_delete() it is not
              permitted to remove mmaped file.
              
              This fix disables memory mapping for mi_repair() operations.
        ------------------------------------------------------------
        revno: 2555.936.49
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-10-21 06:32:16 +0300
        message:
          Bug#13116045 Compilation failure using GCC 4.6.1 in btr/btr0cur.c
          
          btr_record_not_null_field_in_rec(): Remove the parameter rec.
          Use rec_offs_nth_sql_null() instead of rec_get_nth_field().
          
          rb:788 approved by Jimmy Yang
        ------------------------------------------------------------
        revno: 2555.936.48
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: testcr-51
        timestamp: Wed 2011-10-19 13:36:57 +0200
        message:
          Remove copyright header from parser_stack.test
        ------------------------------------------------------------
        revno: 2555.936.47
        committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
        branch nick: B13102538-5.1
        timestamp: Tue 2011-10-18 22:47:32 +0530
        message:
          Bug#13102538 : COMPILE ERROR ON SOLARIS WHEN COMPILING
                         WITH LIBEDIT
          
          Libedit won't build on platforms that do not provide
          "sys/cdefs.h".
          
          Removed the inclusion of cdefs.h from all files
          other that sys.h, which includes this file only
          when the header is found while configuring.
        ------------------------------------------------------------
        revno: 2555.936.46
        committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-10-14 01:03:25 +0530
        message:
          WL#5945 : Improve libedit library
          
          Updated libedit library.
        ------------------------------------------------------------
        revno: 2555.936.45
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-10-12 09:00:49 +0300
        message:
          Bug#13006367 62487: innodb takes 3 minutes to clean up the adaptive
          hash index at shutdown
          
          btr_search_disable(): Just drop the entire adaptive hash index,
          without dropping every record separately.
          
          buf_pool_clear_hash_index(): Renamed and simplified from
          buf_pool_drop_hash_index(). Set block->index = NULL for every block in
          the buffer pool. Do not release the btr_search_latch. The caller will
          have to adjust other data structures.
          
          Remove block->is_hashed. It is redundant, should be always equal to
          block->index != NULL.
          
          Remove btr_search_fully_disabled, btr_search_enabled_mutex, and
          SYNC_SEARCH_SYS_CONF. We drop the AHI in one pass, without releasing
          the btr_search_latch in between.
          
          Replace void* with const rec_t* and add assertions on btr_search_latch
          and btr_search_enabled to ha0ha.h, ha0ha.ic, ha0ha.c.
          
          page_set_max_trx_id(): Ignore the adaptive hash index. I forgot to
          push this in rb:750.
          
          btr0sea.c: Always after acquiring btr_search_latch, check for
          block->index==NULL or !btr_search_enabled. We can now set
          block->index=NULL while only holding btr_search_latch in exclusive
          mode. Always acquire btr_search_latch before reading block->index,
          except in shortcuts when testing for block->index == NULL.
          
          ha_clear(), ha_search(): Unused function, remove.
          
          buf_page_peek_if_search_hashed(): Remove. This function may avoid
          latching a page at the cost of doing a duplicate buf_pool->page_hash
          lookup.
          
          rb:775 approved by Inaam Rana
    ------------------------------------------------------------
    revno: 2555.929.24
    committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Thu 2011-10-20 18:06:41 +0400
    message:
      Fix Windows-build failure: use my_snprintf() instead of snprintf().
    ------------------------------------------------------------
    revno: 2555.929.23
    committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
    branch nick: 51-11765687t
    timestamp: Wed 2011-10-19 03:21:31 +0100
    message:
      Bug12589870 post-merge fixes for Sparc64 and friends
    ------------------------------------------------------------
    revno: 2555.929.22 [merge]
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.1-security
    timestamp: Fri 2011-10-14 10:44:27 +0200
    message:
      merge 5.0-security => 5.1 security
        ------------------------------------------------------------
        revno: 1810.4002.26
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.0-security
        timestamp: Fri 2011-10-14 10:09:53 +0200
        message:
          Bug#12563865 ROUNDED,TMP_BUF,DECIMAL_VALUE STACK CORRUPTION IN ALL VERSIONS >=5.0
          
          Buffer over-run on all platforms, crash on windows, wrong result on other platforms,
          when rounding numbers which start with 999999999 and have
          precision = 9 or 18 or 27 or 36 ...
    ------------------------------------------------------------
    revno: 2555.929.21 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Wed 2011-10-12 14:42:42 +0300
    message:
      empty weave merge mysql-5.0-security->mysql-5.1-security
        ------------------------------------------------------------
        revno: 1810.4002.25 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.0-security
        timestamp: Wed 2011-10-12 14:33:09 +0300
        message:
          auto-merge mysql-5.0->mysql-5.0-security
    ------------------------------------------------------------
    revno: 2555.929.20 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Wed 2011-10-12 14:34:44 +0300
    message:
      auto-merge mysql-5.1->mysql-5.1-security
        ------------------------------------------------------------
        revno: 2555.936.44
        committer: Vinay Fisrekar <vinay.fisrekar@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-10-12 10:10:52 +0530
        message:
          bug#11766457 - adjusting/modifying the the tests as tests were failing if system time zone is set differently.
        ------------------------------------------------------------
        revno: 2555.936.43 [merge]
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: merge-51
        timestamp: Wed 2011-10-05 22:38:00 +0200
        message:
          merge 5.1-mtr => 5.1
            ------------------------------------------------------------
            revno: 2555.437.251
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: iffcign-51
            timestamp: Mon 2011-10-03 13:41:59 +0200
            message:
              backporting 11766169, fixing 13034450
            ------------------------------------------------------------
            revno: 2555.437.250
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: iffcign-51
            timestamp: Tue 2011-09-27 12:56:05 +0200
            message:
              Bug #12844282 62075: MTR TESTS SHOULD NOT HAVE TO SAVE & RESET INNODB_FILE_FORMAT_CHECK
                Added 'innodb_file_format_check' as variable to ignore change to.
                Tests that had to restore this amended
                Two tests assumed it to be Antelope, make sure these run on a freshly
                  started server
                For 5.5, apparently innodb_file_format_max is the one to ignore
        ------------------------------------------------------------
        revno: 2555.936.42 [merge]
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-10-05 14:22:32 +0400
        message:
          automerge
            ------------------------------------------------------------
            revno: 2555.945.1
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: mysql-5.1
            timestamp: Wed 2011-10-05 12:01:47 +0300
            message:
              Add InnoDB UNIV_SYNC_DEBUG assertions to rw-lock code.
              
              rw_lock_x_lock_func(): Assert that the thread is not already holding
              the lock in a conflicting mode (RW_LOCK_SHARED).
              
              rw_lock_s_lock_func(): Assert that the thread is not already holding
              the lock in a conflicting mode (RW_LOCK_EX).
        ------------------------------------------------------------
        revno: 2555.936.41
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-10-05 13:28:20 +0400
        message:
          Bug#11747970 34660: CRASH WHEN FEDERATED TABLE LOSES CONNECTION DURING INSERT ... SELECT
          Problematic query:
          insert ignore into `t1_federated` (`c1`) select `c1` from  `t1_local` a
          where not exists (select 1 from `t1_federated` b where a.c1 = b.c1);
          When this query is killed in another connection it could lead to crash.
          The problem is follwing:
          An attempt to obtain table statistics for subselect table in killed query
          fails with an error. So JOIN::optimize() for subquery is failed but
          it does not prevent further subquery evaluation.
          At the first subquery execution JOIN::optimize() is called
          (see subselect_single_select_engine::exec()) and fails with
          an error. 'executed' flag is set to TRUE and it prevents
          further subquery evaluation. At the second call
          JOIN::optimize() does not happen as 'JOIN::optimized' is TRUE
          and in case of uncacheable subquery the 'executed' flag is set
          to FALSE before subquery evaluation. So we loose 'optimize stage'
          error indication (see subselect_single_select_engine::exec()).
          In other words 'executed' flag is used for two purposes, for
          error indication at JOIN::optimize() stage and for an
          indication of subquery execution. And it seems it's wrong
          as the flag could be reset.
        ------------------------------------------------------------
        revno: 2555.936.40
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-10-04 21:01:40 +0300
        message:
          Correct the ChangeLog
        ------------------------------------------------------------
        revno: 2555.936.39 [merge]
        committer: kevin.lewis@oracle.com
        branch nick: mysql-5.1
        timestamp: Tue 2011-10-04 10:46:54 -0500
        message:
          Merge to current mysql-5.1
            ------------------------------------------------------------
            revno: 2555.944.1 [merge]
            committer: Joerg Bruehe <joerg.bruehe@oracle.com>
            branch nick: mysql-5.1
            timestamp: Tue 2011-10-04 17:16:32 +0200
            message:
              Merge to main.
                ------------------------------------------------------------
                revno: 2555.943.1
                committer: Joerg Bruehe <joerg.bruehe@oracle.com>
                branch nick: bug11886309-5.1
                timestamp: Tue 2011-10-04 15:58:19 +0200
                message:
                  Fix bug#11886309: RPM UPGRADE OF MYSQL ADVANCED GPL TO MYSQL SERVER ADVANCED DOES NOT WORK
                  
                  Change the RPM spec file so that each RPM "obsoletes" the corresponding RPMs
                  of all (other) configurations, so a "server" RPM of any configuration
                  can replace the "server" RPM of any other configuration on a "rpm -U".
        ------------------------------------------------------------
        revno: 2555.936.38
        committer: kevin.lewis@oracle.com
        branch nick: mysql-5.1
        timestamp: Tue 2011-10-04 09:21:47 -0500
        message:
          Bug#12980094 and Bug#13034534
          
          Bug 12980094 - ASSERTION IN INNODB DETECTED IN RQG_PARTITION_DDL
          Bug 13034534 - RQG TESTS FAIL ON WINDOWS WITH CRASH NEAR RW_LOCK_DEBUG_PRINT
          
          All access to struct rw_lock_debug_struct must be protected by rw_lock_debug_mutex_enter().
        ------------------------------------------------------------
        revno: 2555.936.37
        committer: Raghav Kapoor <raghav.kapoor@oracle.com>
        branch nick: mysql-5.1-bug-11758062
        timestamp: Wed 2011-09-28 15:39:21 +0530
        message:
          BUG#11758062 - 50206: ER_TOO_BIG_SELECT REFERS TO OUTMODED 
          SYSTEM VARIABLE NAME SQL_MAX_JOIN_SI 
          
          BACKGROUND:
          
          ER_TOO_BIG_SELECT refers to SQL_MAX_JOIN_SIZE, which is the
          old name for MAX_JOIN_SIZE.
          
          FIX:
          
          Support for old name SQL_MAX_JOIN_SIZE is removed in MySQL 5.6
          and is renamed as MAX_JOIN_SIZE.So the errmsg.txt 
          and mysql.cc files have been updated and the corresponding result
          files have also been updated.
        ------------------------------------------------------------
        revno: 2555.936.36
        committer: Ashish Agarwal<ashish.y.agarwal@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-09-27 17:38:51 +0530
        message:
          BUG#11759349 - 51655: CREATE TABLE IN MEMORY ENGINE DOESN'T STORE
                                CREATE_TIME IN INFORMATION_SC
          
          It was impossible to determine MEMORY table creation time,
          since it wasn't stored/exposed.
          
          With this patch creation time is saved and it is available via
          I_S.TABLES.CREATE_TIME.
          
          Note: it was decided that additional analysis is required before
          implementing UPDATE_TIME. Thus this patch doesn't store UPDATE_TIME.
        ------------------------------------------------------------
        revno: 2555.936.35 [merge]
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: push-51
        timestamp: Mon 2011-09-26 12:26:16 +0200
        message:
          merge from 5.1-mtr
            ------------------------------------------------------------
            revno: 2555.437.249 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Mon 2011-09-26 10:06:25 +0200
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.248 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Tue 2011-09-20 12:12:46 +0200
            message:
              merge from 5.1 main minus merge jam pushes
            ------------------------------------------------------------
            revno: 2555.437.247
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: cutlog-51
            timestamp: Mon 2011-09-19 16:06:35 +0200
            message:
              Bug #12916194 MTR SHOULD CUT OFF ANALYSIS OF SERVER LOG IF THERE IS TOO MUCH
                Added simple cut-off w/warning if > one million lines
            ------------------------------------------------------------
            revno: 2555.437.246
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: errcomm-51
            timestamp: Thu 2011-09-15 12:20:43 +0200
            message:
              Test federated_plugin must have ps-protocol off
            ------------------------------------------------------------
            revno: 2555.437.245
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: errcomm-51
            timestamp: Wed 2011-09-14 15:26:53 +0200
            message:
              Bug #12912120 MTR SHOULD EXPORT MYSQLD'S PATH TO TEST CASES
                Export $MYSQLD as full path to executable
                $MYSQLD_CMD is executable with minimum required args
            ------------------------------------------------------------
            revno: 2555.437.244
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: errcomm-51
            timestamp: Wed 2011-09-14 15:19:24 +0200
            message:
              Bug #12793118 MYSQLTEST: --ERROR AND --DISABLE_ABORT_ON_ERROR DO NOT WORK FOR SQL IN COMMANDS
                Call handle_error() instead of die() when evaluating these
                Must remember "current command" with link to errors to ignore
                Added test cases to mysqltest.test 
            ------------------------------------------------------------
            revno: 2555.437.243
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: fedplug-51
            timestamp: Mon 2011-09-05 14:38:20 +0200
            message:
              Bug #11750417 40942: UNABLE TO INSTALL FEDERATED PLUGIN
                Link plugin with a copy of string.o
                Copied test from 5.5 but this was dysfunctional, made it work
                Also tested on Windows
        ------------------------------------------------------------
        revno: 2555.936.34
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-09-22 13:35:02 +0300
        message:
          Bug#12963823 CRASH IN PURGE THREAD UNDER UNUSUAL CIRCUMSTANCES
          
          Replace part of the patch that Kevin apparently forgot to push.
          Fix the bug also in the built-in InnoDB of MySQL 5.1.
          
          I cannot explain why the test case was not failing without the
          full patch.
          
          This was rb:762, approved by me.
        ------------------------------------------------------------
        revno: 2555.936.33
        committer: kevin.lewis@oracle.com
        branch nick: mysql-5.1
        timestamp: Tue 2011-09-20 18:12:36 -0600
        message:
          Bug 12963823 - Crash in Purge thread under unusual circumstances.
          The problem occurred when indexes are added between the time that an
          UNDO record is created and the time that the purge thread comes around
          and deletes the old secondary index entries.  The purge thread would
          hit an assert when trying to build a secondary index entry for
          searching.  The problem was that the old value of those fields were not
          in the UNDO record since they were not part of an index when the UPDATE
          occured. 
          A test case was added to innodb-index.test.
        ------------------------------------------------------------
        revno: 2555.936.32 [merge]
        committer: Sergey Vojtovich <sergey.vojtovich@oracle.com>
        branch nick: mysql-5.1-push
        timestamp: Fri 2011-09-16 16:03:08 +0400
        message:
          Merge.
            ------------------------------------------------------------
            revno: 2555.942.1
            committer: Sergey Vojtovich <sergey.vojtovich@oracle.com>
            branch nick: mysql-5.1-bug53646
            timestamp: Fri 2011-09-16 15:30:31 +0400
            message:
              BUG#11761180 - 53646: MYISAMPACK CORRUPTS TABLES WITH
                             FULLTEXT INDEXES
              
              myisamchk may create incorrect fulltext index for compressed
              tables. Incorrect data pointer size was used while creating
              fulltext index.
        ------------------------------------------------------------
        revno: 2555.936.31 [merge]
        author: karen.langford@oracle.com
        committer: Karen Langford <karen.langford@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-09-15 18:48:54 +0200
        message:
          Merge from mysql-5.1.59-release
        ------------------------------------------------------------
        revno: 2555.936.30
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-09-14 15:39:36 +0300
        message:
          Hopefully really final fix of Bug#11766591 59733: Possible deadlock
          when buffered changes are to be discarded
          
          sync_thread_add_level(level = SYNC_IBUF_INDEX_TREE): Relax a too strict
          condition that the thread must not be holding locks below SYNC_FSP_PAGE.
          It is perfectly valid to hold any latch above SYNC_IBUF_INDEX_TREE when
          acquiring the insert buffer tree latch.
        ------------------------------------------------------------
        revno: 2555.936.29
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-09-13 17:18:06 +0300
        message:
          Re-enable the prefetch code in InnoDB internal SQL parser and fix two
          bugs in it - accessing uninitialized ::len member (thanks, Jimmy!)
          and a memory leak.
          
          This is a followup to vasil.dimov@oracle.com-20110909070724-jvirxnpkbxieauz5
          which disabled the prefetch code.
        ------------------------------------------------------------
        revno: 2555.936.28
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-09-13 09:18:34 +0300
        message:
          Hopefully final fix of Bug#11766591 59733: Possible deadlock
          when buffered changes are to be discarded
          
          ibuf_add_free_page(): Lower the latching order of the newly allocated page
          to SYNC_IBUF_TREE_NODE_NEW after latching the insert buffer tree root.
          
          This bug always was bogus UNIV_SYNC_DEBUG alarm. The function
          buf_block_dbg_add_level() is a no-op unless UNIV_SYNC_DEBUG is defined.
        ------------------------------------------------------------
        revno: 2555.936.27
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-09-12 10:12:15 +0300
        message:
          Bug#12601439 CONSISTENT READ FAILURE IN COLUMN PREFIX INDEX
          
          When there is a secondary index on a column prefix of an externally
          stored column and an entry in the secondary index is shorter than the
          reserved prefix length, it should mean that the secondary index entry
          is holding the complete column value. When comparing this secondary
          index column value to the column in the clustered index row, we must
          compare the entire prefix that was fetched from the clustered
          index. The bug was that we would just compare that the column in the
          clustered index starts with the value found in the secondary index
          column.
          
          This bug affects only the InnoDB Barracuda formats (ROW_FORMAT=DYNAMIC
          and ROW_FORMAT=COMPRESSED), in which columns that are stored off-page
          in the clustered index do not contain any prefix in the clustered
          index record.
          
          row_sel_sec_rec_is_for_blob(): Add the parameter prefix_len, for
          ifield->prefix_len. Add some assertions.
          
          Sorry, I did not manage to produce a test case. This patch does
          produce correct results on the data set that Michael isolated on our
          test machine. That was with the purge and background rollback
          suspended, because they would make the bug go away.
          
          rb:760 approved by Sunny Bains
        ------------------------------------------------------------
        revno: 2555.936.26
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-09-09 10:07:24 +0300
        message:
          Disable the prefetch code in the InnoDB internal SQL parser.
          
          This change is a followup to
          vasil.dimov@oracle.com-20110907145810-v98kldmho23vhhic
          which triggered the usage of the prefetch and valgrind tests spat lots of
          warnings.
          
          The prefetch code will be removed.
          
          Discussed with:	Marko (over IM)
        ------------------------------------------------------------
        revno: 2555.936.25
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-09-08 16:10:24 +0300
        message:
          Bug#12948130 UNNECESSARY X-LOCKING OF ADAPTIVE HASH INDEX (BTR_SEARCH_LATCH)
          
          InnoDB acquires an x-latch on btr_search_latch for certain in-place updates
          that do affect the adaptive hash index. These operations do not really need
          to be protected by the btr_search_latch:
          
          * updating DB_TRX_ID
          * updating DB_ROLL_PTR
          * updating PAGE_MAX_TRX_ID
          * updating the delete-mark flag
          
          rb:750 approved by Sunny Bains
        ------------------------------------------------------------
        revno: 2555.936.24
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-09-08 15:54:15 +0300
        message:
          Bug#11766591 59733: POSSIBLE DEADLOCK WHEN BUFFERED CHANGES ARE DISCARDED
          
          Tweak the faulty UNIV_SYNC_DEBUG diagnostics a little bit more.
          
          ibuf_add_free_page(): Lower the latching order of the newly allocated page
          only after acquiring the ibuf_mutex.
        ------------------------------------------------------------
        revno: 2555.936.23
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-09-07 17:58:10 +0300
        message:
          Use cursors for seeking records in SYS_FOREIGN and SYS_INDEXES from
          DROP_TABLE_PROC().
          
          With this change I observe a speedup from 6.2s to 0.1s when executing
          DROP_TABLE_PROC() during DROP TABLE with 512 foreign keys, like what
          is being done in innodb_bug56143.test
          
          This fixes "Bug#11765460 DROP TABLE USES INEFFICIENT METHODS TO REMOVE
          FKS/INDEXES FROM INNODB SYS TABLES"
          
          Reviewed by:	Marko
        ------------------------------------------------------------
        revno: 2555.936.22
        committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-09-06 21:50:04 +0530
        message:
          Bug#11765888 58898: MYSQL_INSTALL_DB: NOT ALL OPTIONS DOCUMENTED
                                      (EG: --DEFAULTS-FILE )
            
          Updating help message in scripts/mysql_install_db.pl.in file.
        ------------------------------------------------------------
        revno: 2555.936.21
        committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-09-06 21:25:28 +0530
        message:
          Removing a stray line, went into the last push.
        ------------------------------------------------------------
        revno: 2555.936.20
        committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
        branch nick: B11765888-5.1
        timestamp: Tue 2011-09-06 21:06:09 +0530
        message:
          Bug#11765888 58898: MYSQL_INSTALL_DB: NOT ALL OPTIONS DOCUMENTED
                              (EG: --DEFAULTS-FILE )
          
          Added help message for the missing options (--no-defaults,
          --defaults-file and --defaults-extra-file).
        ------------------------------------------------------------
        revno: 2555.936.19
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-09-06 10:08:52 +0300
        message:
          Bug #12950803 62294: BUF_BUDDY_RELOCATE CALLS GETTIMEOFDAY ...
          
          buf_buddy_relocate(): The ut_time_us() function is needed for
          statistics, calculating the total time spent on relocating blocks.
          Until now, we invoked ut_time_us() every time buf_buddy_relocate() was
          called. Fix: Only call ut_time_us() when the block can be relocated.
          After this fix, the reported relocated_usec will no longer include the
          time for the page_hash lookup and for acquiring the block mutex.
          
          Approved by Sunny Bains on IM
        ------------------------------------------------------------
        revno: 2555.936.18
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-09-06 10:04:21 +0300
        message:
          Bug#12547647 UPDATE LOGGING COULD EXCEED LOG PAGE SIZE - take 2
          
          The original fix was accidentally pushed to mysql-5.1 after the 5.1.59
          clone-off in bzr revision id
          marko.makela@oracle.com-20110829081642-z0w992a0mrc62s6w with thne fix
          of Bug#12704861 Corruption after a crash during BLOB update.
          It was pushed separately to mysql-5.5 in bzr revision id
          marko.makela@oracle.com-20110901184804-2901f6qmuro3jas8.
          
          trx_undo_report_row_operation(): If the page for which the undo log
          was too big was empty, commit and start the mini-transaction before
          acquiring the rollback segment mutex and freeing the undo page. This
          is necessary, because the mini-transaction may be holding lower-order
          latches in the levels SYNC_FSP and SYNC_FSP_PAGE.
          
          trx_undo_erase_page_end(): Erase also empty pages, because
          trx_undo_report_row_operation() needs to commit the mini-transaction
          before freeing the empty page.
          
          rb:756 approved by Sunny Bains
        ------------------------------------------------------------
        revno: 2555.936.17 [merge]
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: merge-51
        timestamp: Tue 2011-08-30 22:34:14 +0200
        message:
          merge from 5.1-mtr
            ------------------------------------------------------------
            revno: 2555.437.242 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Tue 2011-08-30 11:33:19 +0200
            message:
              new merge from 5.1
            ------------------------------------------------------------
            revno: 2555.437.241 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Mon 2011-08-29 22:47:08 +0200
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.240 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: forcer-51
            timestamp: Mon 2011-08-22 13:36:31 +0200
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.239
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: forcer-51
            timestamp: Wed 2011-08-17 14:42:18 +0200
            message:
              Bug #11766654 59811: RE-INSTATE PROCEDURE MTR.FORCE_RESTART IN MTR, REMOVED BY 49978
              
              Just put it back in where it was.
            ------------------------------------------------------------
            revno: 2555.437.238
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: disab-51
            timestamp: Thu 2011-07-28 13:01:51 +0200
            message:
              Fixed test ndb.ndb_partition_error2, didn't include have_ndb.inc
            ------------------------------------------------------------
            revno: 2555.437.237
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: disab-51
            timestamp: Thu 2011-07-28 12:54:02 +0200
            message:
              Bug #12726039 MTR SHOULD PROVIDE ABILITY TO DISABLE TEST ON SELECTED PLATFORMS
                Add extra patterns to look for @<platform>
            ------------------------------------------------------------
            revno: 2555.437.236 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Fri 2011-07-22 10:21:39 +0200
            message:
              merge from 5.1 main
        ------------------------------------------------------------
        revno: 2555.936.16 [merge]
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.1
        timestamp: Tue 2011-08-30 11:10:01 +0200
        message:
          local merge
            ------------------------------------------------------------
            revno: 2555.941.1
            committer: Norvald H. Ryeng <norvald.ryeng@oracle.com>
            branch nick: mysql-5.1-11765254
            timestamp: Tue 2011-08-30 09:56:07 +0200
            message:
              Bug#11765254 - 58200: ASSERTION FAILED: PARAM.SORT_LENGTH WHEN
              GROUPING BY FUNCTIONS.... (PART
              
              The bug was introduced in a patch for bug 49897.
              
              Problem: The assertion inserted by the original patch to guard against
              zero-lenght sort keys during merge phase triggers also when the whole
              set fits in memory.
              
              Fix: Move assert so that it does not trigger if the whole set is in
              memory.
        ------------------------------------------------------------
        revno: 2555.936.15
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.1
        timestamp: Tue 2011-08-30 10:19:36 +0200
        message:
          Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX
          
          Post-push fix:
          The functions write_keys() and find_all_keys() may have a slightly
          different function signature, depending on compiler/platform/flags.
        ------------------------------------------------------------
        revno: 2555.936.14
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.1
        timestamp: Mon 2011-08-29 11:24:36 +0200
        message:
          BUG#12911710 - VALGRIND FAILURE IN ROW-DEBUG:PERFSCHEMA.SOCKET_SUMMARY_BY_INSTANCE_FUNC 
          
          Converting the number zero to binary and back yielded the number zero,
          but with no digits, i.e. zero precision.
          This made the multiply algorithm go haywire in various ways.
        ------------------------------------------------------------
        revno: 2555.936.13 [merge]
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.1-bug12856915-valgrind
        timestamp: Mon 2011-08-29 11:17:33 +0200
        message:
          local merge
            ------------------------------------------------------------
            revno: 2555.940.1
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: mysql-5.1
            timestamp: Mon 2011-08-29 11:16:42 +0300
            message:
              Bug#12704861 Corruption after a crash during BLOB update
              
              The fix of Bug#12612184 broke crash recovery. When a record that
              contains off-page columns (BLOBs) is updated, we must first write redo
              log about the BLOB page writes, and only after that write the redo log
              about the B-tree changes. The buggy fix would log the B-tree changes
              first, meaning that after recovery, we could end up having a record
              that contains a null BLOB pointer.
              
              Because we will be redo logging the writes off the off-page columns
              before the B-tree changes, we must make sure that the pages chosen for
              the off-page columns are free both before and after the B-tree
              changes. In this way, the worst thing that can happen in crash
              recovery is that the BLOBs are written to free pages, but the B-tree
              changes are not applied. The BLOB pages would correctly remain free in
              this case. To achieve this, we must allocate the BLOB pages in the
              mini-transaction of the B-tree operation. A further quirk is that BLOB
              pages are allocated from the same file segment as leaf pages. Because
              of this, we must temporarily "hide" any leaf pages that were freed
              during the B-tree operation by "fake allocating" them prior to writing
              the BLOBs, and freeing them again before the mtr_commit() of the
              B-tree operation, in btr_mark_freed_leaves().
              
              btr_cur_mtr_commit_and_start(): Remove this faulty function that was
              introduced in the Bug#12612184 fix. The problem that this function was
              trying to address was that when we did mtr_commit() the BLOB writes
              before the mtr_commit() of the update, the new BLOB pages could have
              overwritten clustered index B-tree leaf pages that were freed during
              the update. If recovery applied the redo log of the BLOB writes but
              did not see the log of the record update, the index tree would be
              corrupted. The correct solution is to make the freed clustered index
              pages unavailable to the BLOB allocation. This function is also a
              likely culprit of InnoDB hangs that were observed when testing the
              Bug#12612184 fix.
              
              btr_mark_freed_leaves(): Mark all freed clustered index leaf pages of
              a mini-transaction allocated (nonfree=TRUE) before storing the BLOBs,
              or freed (nonfree=FALSE) before committing the mini-transaction.
              
              btr_freed_leaves_validate(): A debug function for checking that all
              clustered index leaf pages that have been marked free in the
              mini-transaction are consistent (have not been zeroed out).
              
              btr_page_alloc_low(): Refactored from btr_page_alloc(). Return the
              number of the allocated page, or FIL_NULL if out of space. Add the
              parameter "mtr_t* init_mtr" for specifying the mini-transaction where
              the page should be initialized, or if this is a "fake allocation"
              (init_mtr=NULL) by btr_mark_freed_leaves(nonfree=TRUE).
              
              btr_page_alloc(): Add the parameter init_mtr, allowing the page to be
              initialized and X-latched in a different mini-transaction than the one
              that is used for the allocation. Invoke btr_page_alloc_low(). If a
              clustered index leaf page was previously freed in mtr, remove it from
              the memo of previously freed pages.
              
              btr_page_free(): Assert that the page is a B-tree page and it has been
              X-latched by the mini-transaction. If the freed page was a leaf page
              of a clustered index, link it by a MTR_MEMO_FREE_CLUST_LEAF marker to
              the mini-transaction.
              
              btr_store_big_rec_extern_fields_func(): Add the parameter alloc_mtr,
              which is NULL (old behaviour in inserts) and the same as local_mtr in
              updates. If alloc_mtr!=NULL, the BLOB pages will be allocated from it
              instead of the mini-transaction that is used for writing the BLOBs.
              
              fsp_alloc_from_free_frag(): Refactored from
              fsp_alloc_free_page(). Allocate the specified page from a partially
              free extent.
              
              fseg_alloc_free_page_low(), fseg_alloc_free_page_general(): Add the
              parameter "mtr_t* init_mtr" for specifying the mini-transaction where
              the page should be initialized, or NULL if this is a "fake allocation"
              that prevents the reuse of a previously freed B-tree page for BLOB
              storage. If init_mtr==NULL, try harder to reallocate the specified page
              and assert that it succeeded.
              
              fsp_alloc_free_page(): Add the parameter "mtr_t* init_mtr" for
              specifying the mini-transaction where the page should be initialized.
              Do not allow init_mtr == NULL, because this function is never to be
              used for "fake allocations".
              
              mtr_t: Add the operation MTR_MEMO_FREE_CLUST_LEAF and the flag
              mtr->freed_clust_leaf for quickly determining if any
              MTR_MEMO_FREE_CLUST_LEAF operations have been posted.
              
              row_ins_index_entry_low(): When columns are being made off-page in
              insert-by-update, invoke btr_mark_freed_leaves(nonfree=TRUE) and pass
              the mini-transaction as the alloc_mtr to
              btr_store_big_rec_extern_fields(). Finally, invoke
              btr_mark_freed_leaves(nonfree=FALSE) to avoid leaking pages.
              
              row_build(): Correct a comment, and add a debug assertion that a
              record that contains NULL BLOB pointers must be a fresh insert.
              
              row_upd_clust_rec(): When columns are being moved off-page, invoke
              btr_mark_freed_leaves(nonfree=TRUE) and pass the mini-transaction as
              the alloc_mtr to btr_store_big_rec_extern_fields(). Finally, invoke
              btr_mark_freed_leaves(nonfree=FALSE) to avoid leaking pages.
              
              buf_reset_check_index_page_at_flush(): Remove. The function
              fsp_init_file_page_low() already sets
              bpage->check_index_page_at_flush=FALSE.
              
              There is a known issue in tablespace extension. If the request to
              allocate a BLOB page leads to the tablespace being extended, crash
              recovery could see BLOB writes to pages that are off the tablespace
              file bounds. This should trigger an assertion failure in fil_io() at
              crash recovery. The safe thing would be to write redo log about the
              tablespace extension to the mini-transaction of the BLOB write, not to
              the mini-transaction of the record update. However, there is no redo
              log record for file extension in the current redo log format.
              
              rb:693 approved by Sunny Bains
        ------------------------------------------------------------
        revno: 2555.936.12
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.1-bug12856915-valgrind
        timestamp: Thu 2011-08-25 10:38:07 +0200
        message:
          Bug#12856915 VALGRIND FAILURE IN FILESORT/CREATE_SORT_INDEX
          
          Suppress the known warnings generated by filesort().
          
          The real fix belongs to worklog 1509:
          Pack values of non-sorted fields in the sort buffer
          (which is basically the same issue, but in an optimization context:
           We are writing the entire sort buffer to disk, 
           including un-used space for varchar columns.)
        ------------------------------------------------------------
        revno: 2555.936.11
        committer: Rohit Kalhans<rohit.kalhans@oracle.com>
        branch nick: mysql-5.1_b11878104
        timestamp: Fri 2011-08-26 15:27:29 +0530
        message:
          BUG#11878104: FIXES OF BUG 11752963 - 44312 TO BACKPORT TO MYSQL-5.1
          Background: Backporting fix for BUG 11752963 to Mysql5.1 branch.
          Problem: Fix of bug 11752963 was only available for trunk and 5.5 branch.
          Partial fix has been pushed to 5.1 branch as well. 
          Fix: backporting the fixes of bug 11752963 to 5.1 branch. 
          1. Made all major changes to make 5.1 branch in line with 5.5 and the trunk.
          2. skipped the partial patch that was already applied to the 5.1 branch. 
        ------------------------------------------------------------
        revno: 2555.936.10 [merge]
        committer: Sergey Vojtovich <sergey.vojtovich@oracle.com>
        branch nick: mysql-5.1-push
        timestamp: Wed 2011-08-24 11:18:00 +0400
        message:
          Merge.
            ------------------------------------------------------------
            revno: 2555.939.1
            committer: Sergey Vojtovich <sergey.vojtovich@oracle.com>
            branch nick: mysql-5.1-bug56458
            timestamp: Thu 2011-08-18 10:38:51 +0400
            message:
              BUG#11763712 - 56458: KILLING A FLUSH TABLE FOR A MERGE/CHILD
                                    CRASHES SERVER
              
              Flushing of MERGE table or one of its child tables, which was
              locked by flushing thread using LOCK TABLES, might have caused
              crashes or assertion failures if the thread failed to reopen
              child or parent table.
              Particularly, this might have happened when another connection
              killed this FLUSH TABLE statement/connection.
              Also this problem might have occurred when we failed to reopen
              MERGE table or one of its children when executing DDL statement
              under LOCK TABLES.
              
              The problem was caused by the fact that reopen_tables() might
              have failed to reopen child table but still tried to reopen,
              reattach children for and re-lock its parent. Vice versa it
              might have failed to reopen parent but kept references from
              children to parent around. Since reopen_tables() closes table
              it has failed to reopen and therefore frees all associated
              memory such dangling references led to crashes when followed.
              
              This patch solves this problem by ensuring that we always close
              parent table and all its children if we fail to reopen this
              table or one of its children. Same happens if we fail to reattach
              children to parent.
              
              Affects 5.1 only.
        ------------------------------------------------------------
        revno: 2555.936.9
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-08-22 17:03:07 +0300
        message:
          Bug #11766591  59733: POSSIBLE DEADLOCK WHEN BUFFERED CHANGES ARE TO BE DISCARDED
          
          The fix in revision id marko.makela@oracle.com-20110815091143-h3zbvm0pv8ni3qql
          introduced a false UNIV_SYNC_DEBUG alarm. Relax the assertion.
        ------------------------------------------------------------
        revno: 2555.936.8 [merge]
        committer: Joerg Bruehe <joerg.bruehe@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-08-19 19:35:58 +0200
        message:
          Merge bug fix to main.
            ------------------------------------------------------------
            revno: 2555.938.1
            committer: Joerg Bruehe <joerg.bruehe@oracle.com>
            branch nick: bug37165-2-5.1
            timestamp: Fri 2011-08-19 18:48:14 +0200
            message:
              Fix bug#37165 "((Generic rpm)) fail to install on Fedora 9 x86_64"
              
              On Fedora, certain accesses to "/var/lib/mysql/HOSTNAME.err" were blocked
              by SELinux policy, this made the server start fail with the message
                  Manager of pid-file quit without updating file
              Calling "/sbin/restorecon -R /var/lib/mysql" fixes this.
        ------------------------------------------------------------
        revno: 2555.936.7
        author: hery.ramilison@oracle.com
        committer: Hery Ramilison <hery.ramilison@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-08-17 00:34:11 +0200
        message:
          2nd fix for Bug #55713  innochecksum is NOT built with large file support enabled
        ------------------------------------------------------------
        revno: 2555.936.6
        author: hery.ramilison@oracle.com
        committer: Hery Ramilison <hery.ramilison@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-08-16 19:29:06 +0200
        message:
          fix for bug 55713   innochecksum is NOT built with large file support enabled
        ------------------------------------------------------------
        revno: 2555.936.5 [merge]
        committer: Joerg Bruehe <joerg.bruehe@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-08-15 20:41:17 +0200
        message:
          Merge bug#47337 for pushing into 5.1
            ------------------------------------------------------------
            revno: 2555.937.1
            committer: Joerg Bruehe <joerg.bruehe@oracle.com>
            branch nick: bug47337-5.1
            timestamp: Fri 2011-07-08 16:25:32 +0200
            message:
              Fix Bug #47337:
              innochecksum not built for --with-plugin-innodb_plugin --without-plugin-innobase
              
              In 5.1, we can have the traditional "innobase" code
              (built-in) or the new version "innodb" (plugin).
              The help tool "innochecksum" is useful for both,
              but its generation was coupled to "innobase" only.
              
              Fix this by treating both "innobase" and "innodb"
              equivalent in the configure phase,
              this affects both "innochecksum" and the InnoDB documentation.
              
              This patch was proposed by Mark Callaghan.
        ------------------------------------------------------------
        revno: 2555.936.4
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-08-15 12:11:43 +0300
        message:
          Bug #11766591 59733: Possible deadlock when buffered changes are to be
          discarded in buf_page_create()
          
          This bug turned out to be a false alarm, a bug in the UNIV_SYNC_DEBUG
          diagnostic code. Because of this, the patch was not backported to the
          built-in InnoDB in MySQL 5.1. Furthermore, there is no test case for
          InnoDB Plugin in MySQL 5.1, because the delete buffering in MySQL 5.5
          makes triggering the failure much easier.
          
          When a freed page for which there exist orphaned buffered changes is
          allocated and reused for something else, buf_page_create() will discard
          the buffered changes by invoking ibuf_merge_or_delete_for_page().
          This would violate the InnoDB latching order.
          
          Tweak the latching order as follows. Move SYNC_IBUF_MUTEX below
          SYNC_FSP_PAGE, where it logically belongs, and assign new latching
          levels for the ibuf->index->lock and the insert buffer B-tree pages:
          
          #define SYNC_IBUF_MUTEX		370	/* ibuf_mutex */
          #define SYNC_IBUF_INDEX_TREE	360
          #define SYNC_IBUF_TREE_NODE_NEW	359
          #define SYNC_IBUF_TREE_NODE	358
          
          btr_block_get(), btr_page_get(): In UNIV_SYNC_DEBUG, add the parameter
          "index" for determining the appropriate latching order
          (SYNC_IBUF_TREE_NODE or SYNC_TREE_NODE).
          
          btr_page_alloc_for_ibuf(), btr_create(): Use SYNC_IBUF_TREE_NODE_NEW
          instead of SYNC_TREE_NODE_NEW for insert buffer pages.
          
          btr_cur_search_to_nth_level(), btr_pcur_restore_position_func(): Use
          SYNC_IBUF_TREE_NODE instead of SYNC_TREE_NODE for insert buffer pages.
          
          btr_search_guess_on_hash(): Assert that the index is not an insert buffer tree.
          
          dict_index_add_to_cache(): Use SYNC_IBUF_INDEX_TREE for the insert
          buffer tree (ibuf->index->lock).
          
          ibuf0ibuf.c: Use SYNC_IBUF_TREE_NODE or SYNC_IBUF_TREE_NODE_NEW for
          all B-tree pages.
          
          ibuf_merge_or_delete_for_page(): Assert that the user page is
          BUF_IO_READ fixed. Only in this way it is OK to latch it as
          SYNC_IBUF_TREE_NODE instead of the proper SYNC_TREE_NODE (which would
          violate the changed latching order).
          
          sync_thread_add_level(): Remove the special tweak for
          SYNC_IBUF_MUTEX. Add rules for the added latching levels.
          
          rb:591 approved by Jimmy Yang
        ------------------------------------------------------------
        revno: 2555.936.3
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-08-12 14:20:17 +0300
        message:
          bumped the version to 5.1.60
        ------------------------------------------------------------
        revno: 2555.936.2 [merge]
        committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
        branch nick: 51-9
        timestamp: Thu 2011-08-11 13:11:34 +0100
        message:
          auto-merge
        ------------------------------------------------------------
        revno: 2555.936.1 [merge]
        committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
        branch nick: 51-9
        timestamp: Thu 2011-08-11 12:21:50 +0100
        message:
          auto-merge
            ------------------------------------------------------------
            revno: 2555.935.1 [merge]
            committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
            branch nick: 51-2
            timestamp: Mon 2011-08-08 17:24:43 +0100
            message:
              auto merge
                ------------------------------------------------------------
                revno: 2555.934.1 [merge]
                committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
                branch nick: 51-1
                timestamp: Mon 2011-08-08 13:17:01 +0100
                message:
                  merge
                    ------------------------------------------------------------
                    revno: 2555.933.1
                    committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
                    branch nick: 51-11758414
                    timestamp: Tue 2011-07-12 06:08:52 +0100
                    message:
                      Bug#11758414/Bug#50614: Default storage_engine not honored when set from within a stored procedure
                      
                      When CREATE TABLE wasn't given ENGINE=... it would determine
                      the default ENGINE at parse-time rather than at execution
                      time, leading to incorrect behaviour (namely, later changes
                      to the default engine being ignore) when calling CREATE TABLE
                      from a stored procedure.
                      
                      We now defer working out the default engine till execution of
                      CREATE TABLE.
    ------------------------------------------------------------
    revno: 2555.929.19 [merge]
    committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
    branch nick: 51-11765687z
    timestamp: Mon 2011-10-10 15:34:29 +0100
    message:
      auto-merge
        ------------------------------------------------------------
        revno: 2555.932.1
        committer: Magne Mahre <magne.mahre@oracle.com>
        branch nick: mysql-5.1-security
        timestamp: Fri 2011-10-07 14:08:31 +0200
        message:
          BUG#12589870 CRASHES WITH MULTIQUERY PACKET + USE<DB>  + QUERY CACHE
           
          A buffer large enough to hold the query _plus_ some additional
          data is allocated before parsing is started.   The additional data 
          is used by the query cache, and consists of the name of the current 
          database and a set of flags.
           
          When a packet containing multiple SQL statements is sent to the
          server and one of the statements changes the current database
          (a "USE <db>" statement), and the name of the new current database 
          is longer than of the previous,  there is not enough space in the 
          buffer for the new name, and we write out over the buffer boundary.
          
          The fix adds an extra field to store the number of bytes
          allocated to the database name in the buffer.  If the current
          database name changes, and the new name is longer than the
          previous one, we refuse to cache the query.
    ------------------------------------------------------------
    revno: 2555.929.18 [merge]
    committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
    branch nick: 51-11765687z
    timestamp: Thu 2011-10-06 11:35:01 +0100
    message:
      manual merge
        ------------------------------------------------------------
        revno: 1810.4002.24
        committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
        branch nick: 50-11765687z
        timestamp: Thu 2011-10-06 11:23:46 +0100
        message:
          additional clean-up for 11765687
    ------------------------------------------------------------
    revno: 2555.929.17 [merge]
    committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
    branch nick: 51-11765687z
    timestamp: Thu 2011-09-29 10:56:21 +0100
    message:
      manual merge
        ------------------------------------------------------------
        revno: 1810.4002.23
        committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
        branch nick: 50-11765687z
        timestamp: Thu 2011-09-29 10:47:11 +0100
        message:
          Bug#11765687 (MySQL58677): No privilege on table / view, but can know #rows / underlying table's name
          
          1 - If a user had SHOW VIEW and SELECT privileges on a view and
          this view was referencing another view, EXPLAIN SELECT on the outer
          view (that the user had privileges on) could reveal the structure
          of the underlying "inner" view as well as the number of rows in
          the underlying tables, even if the user had privileges on none of
          these referenced objects.
          
          This happened because we used DEFINER's UID ("SUID") not just for
          the view given in EXPLAIN, but also when checking privileges on
          the underlying views (where we should use the UID of the EXPLAIN's
          INVOKER instead).
          
          We no longer run the EXPLAIN SUID (with DEFINER's privileges).
          This prevents a possible exploit and makes permissions more
          orthogonal.
          
          2 - EXPLAIN SELECT would reveal a view's structure even if the user
          did not have SHOW VIEW privileges for that view, as long as they
          had SELECT privilege on the underlying tables.
          
          Instead of requiring both SHOW VIEW privilege on a view and SELECT
          privilege on all underlying tables, we were checking for presence
          of either of them.
          
          We now explicitly require SHOW VIEW and SELECT privileges on
          the view we run EXPLAIN SELECT on, as well as all its
          underlying views. We also require SELECT on all relevant
          tables. 
    ------------------------------------------------------------
    revno: 2555.929.16
    committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Thu 2011-09-22 18:31:16 +0400
    message:
      Fix for Bug#13001491: MYSQL_REFRESH CRASHES WHEN STORED ROUTINES ARE RUN CONCURRENTLY.
      
      The main problem was that lex_start() was forgotten to be called before processing
      COM_REFRESH.
      
      Another problem discovered was that if failures to flush the error log were not properly
      handled, which resulted in the server crash.
      
      The user-visible effect of these problems were:
        - if COM_REFRESH command was sent after SQL-queries of some sort,
          the server would crash.
        - if COM_REFRESH was requested with REFRESH_LOG only, and the error log
          failed to flush, the server would crash. The error log fails to flush
          when it points to unavailable file (for example, due to restricted
          permissions).
      
      The fixes are:
        - call lex_start() in the beginning of COM_REFRESH;
        - handle failures to flush the error log properly, i.e. raise ER_UNKNOWN_ERROR.
    ------------------------------------------------------------
    revno: 2555.929.15 [merge]
    committer: Mattias Jonsson <mattias.jonsson@oracle.com>
    branch nick: topush-5.1-sec
    timestamp: Thu 2011-09-15 19:26:38 +0200
    message:
      merge into 5.1-sec of bug#11766879.
        ------------------------------------------------------------
        revno: 2555.931.1
        committer: Mattias Jonsson <mattias.jonsson@oracle.com>
        branch nick: b11766879-51
        timestamp: Tue 2011-08-23 15:13:17 +0200
        message:
          Bug#11766879/Bug#60106: DIFF BETWEEN # OF INDEXES IN MYSQL VS INNODB,
          PARTITONING, ON INDEX CREATE
          
          If the first partition succeeded in adding a index, but a successive partition failed,
          then the first partition had still the new index.
          
          The fix reverts the added indexes from previous partitions on failure.
    ------------------------------------------------------------
    revno: 2555.929.14 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Wed 2011-08-17 13:25:33 +0300
    message:
      merge mysql-5.0-security->mysql-5.1-security
        ------------------------------------------------------------
        revno: 1810.4002.22
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: mysql-5.0-security
        timestamp: Wed 2011-08-17 13:13:44 +0300
        message:
          changed the old @sun.com address of security trees.
    ------------------------------------------------------------
    revno: 2555.929.13
    committer: Karen Langford <karen.langford@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Thu 2011-08-11 15:31:25 +0200
    message:
      Raise version number after cloning 5.1.59
------------------------------------------------------------
revno: 3466 [merge]
committer: jonas oreland <jonas.oreland@oracle.com>
branch nick: telco-6.3
timestamp: Mon 2012-02-13 14:30:54 +0100
message:
  ndb - merge 5.1.59 into 6.3
    ------------------------------------------------------------
    revno: 2555.929.12
    tags: mysql-5.1.59, clone-5.1.59-build
    committer: Marko M?kel? <marko.makela@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Wed 2011-08-10 14:56:14 +0300
    message:
      Bug#12626794 61240: UNUSED FUNCTIONS ...
    ------------------------------------------------------------
    revno: 2555.929.11 [merge]
    committer: Marko M?kel? <marko.makela@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Wed 2011-08-10 14:24:22 +0300
    message:
      Merge mysql-5.1 to mysql-5.1-security.
        ------------------------------------------------------------
        revno: 2555.891.30
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-08-10 12:25:24 +0300
        message:
          Bug#12835650 VARCHAR maximum length performance impact
          
          row_sel_field_store_in_mysql_format(): Do not pad the unused part of
          the buffer reserved for a True VARCHAR column (introduced in 5.0.3).
          Add Valgrind instrumentation ensuring that the unused part will be
          flagged uninitialized.
          
          row_sel_copy_cached_field_for_mysql(): New function: Copy a field
          that is in the MySQL row format, not copying the unused tail of
          VARCHAR columns.
          
          row_sel_pop_cached_row_for_mysql(): Invoke
          row_sel_copy_cached_field_for_mysql() for copying fields.
          When the row is long, copy it field-by-field.
          
          rb:715 approved by Inaam Rana
    ------------------------------------------------------------
    revno: 2555.929.10 [merge]
    committer: Ramil Kalimullin <ramil@mysql.com>
    branch nick: mysql-5.1-security
    timestamp: Tue 2011-08-09 11:42:07 +0400
    message:
      Manual merge from mysql-5.1.
        ------------------------------------------------------------
        revno: 2555.891.29
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-08-08 11:22:18 +0300
        message:
          Bug#12770537 I_S.TABLES.DATA_LENGTH does not show on-disk size
          for compressed InnoDB tables
          
          ha_innodb::info_low(): For calculating data_length or index_length,
          use the compressed page size for compressed tables instead of UNIV_PAGE_SIZE.
          
          rb:714 approved by Sunny Bains
        ------------------------------------------------------------
        revno: 2555.891.28
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-08-02 11:33:45 +0400
        message:
          Bug#11766594 59736: SELECT DISTINCT.. INCORRECT RESULT WITH DETERMINISTIC FUNCTION IN WHERE C
          There is an optimization of DISTINCT in JOIN::optimize()
          which depends on THD::used_tables value. Each SELECT statement
          inside SP resets used_tables value(see mysql_select()) and it
          leads to wrong result. The fix is to replace THD::used_tables
          with LEX::used_tables.
        ------------------------------------------------------------
        revno: 2555.891.27
        committer: Sven Sandberg <sven.sandberg@oracle.com>
        branch nick: 5.1
        timestamp: Wed 2011-07-27 12:35:44 +0200
        message:
          Updated default.experimental; now rpl tests are up to date as of 2011-07-25.
        ------------------------------------------------------------
        revno: 2555.891.26
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-07-27 12:34:25 +0400
        message:
          Bug#12584302 AFTER FIX FOR #12403504: ASSERTION FAILED: DELSUM+(INT) Y/4-TEMP > 0,
          The problem is that TIME_FUZZY_DATE is explicitly used for get_arg0_date()
          function in Item_date_typecast::get_date method. The fix is to use real
          fuzzy_date value.
        ------------------------------------------------------------
        revno: 2555.891.25 [merge]
        committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-07-22 11:46:45 +0400
        message:
          Manual merge from mysql-5.0.
            ------------------------------------------------------------
            revno: 1810.3999.15
            committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
            branch nick: mysql-5.0
            timestamp: Fri 2011-07-22 11:45:15 +0400
            message:
              For for Bug#12696072: FIX OUTDATED COPYRIGHT NOTICES IN RUNTIME RELATED CLIENT
              TOOLS
              
              Backport a fix for Bug 57094 from 5.5.
              The following revision was backported:
              
              # revision-id: alexander.nozdrin@oracle.com-20101006150613-ls60rb2tq5dpyb5c
              # parent: bar@mysql.com-20101006121559-am1e05ykeicwnx48
              # committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
              # branch nick: mysql-5.5-bugteam-bug57094
              # timestamp: Wed 2010-10-06 19:06:13 +0400
              # message:
              #   Fix for Bug 57094 (Copyright notice incorrect?).
              #   
              #   The fix is to:
              #     - introduce ORACLE_WELCOME_COPYRIGHT_NOTICE define to have a single place
              #       to specify copyright notice;
              #     - replace custom copyright notices with ORACLE_WELCOME_COPYRIGHT_NOTICE
              #       in programs.
        ------------------------------------------------------------
        revno: 2555.891.24
        committer: Inaam Rana <inaam.rana@oracle.com>
        branch nick: rnd_ra
        timestamp: Tue 2011-07-19 10:37:37 -0400
        message:
          Bug 12356373 - PERFORMANCE REGRESSION FROM 5.1 TO 5.5 : GROUP BY:
          
          The title of the bug is a little confusing. The actual fix is to
          reintroduce random readahead inside InnoDB with a dynamic, global
          switch innodb_random_read_ahead [default = off].
          
          Approved by: Sunny Bains
          rb://696
        ------------------------------------------------------------
        revno: 2555.891.23 [merge]
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: merge-51
        timestamp: Mon 2011-07-18 11:01:31 +0200
        message:
          merge from 5.1-mtr
            ------------------------------------------------------------
            revno: 2555.437.235 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Fri 2011-07-15 17:10:05 +0200
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.234 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Mon 2011-07-04 11:17:43 +0200
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.233
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: ndbc-51
            timestamp: Fri 2011-07-01 13:10:04 +0200
            message:
              Bug #11757091 49093: 5.1 CONFIGURE SCRIPT SHOULD WARN ABOUT MYSQL CLUSTER NOT BEING MAINTAINED
              Added a conditional echo at end of configure.in
            ------------------------------------------------------------
            revno: 2555.437.232 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Wed 2011-06-29 16:06:07 +0200
            message:
              merge from 5.1 main
        ------------------------------------------------------------
        revno: 2555.891.22
        committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-07-15 16:25:00 +0400
        message:
          Backport a fix for Bug#59060 (Valgrind warning in Protocol_text::store()).
          
          Original changeset:
          revision-id: alexander.nozdrin@oracle.com-20101221122349-6h8ammcro70a4pac
          parent: sven.sandberg@oracle.com-20101221121948-hnivuulyohzch1v4
          committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
          branch nick: mysql-trunk-bugfixing
          timestamp: Tue 2010-12-21 15:23:49 +0300
          message:
            A patch for Bug#59060 (Valgrind warning in Protocol_text::store()).
            
            We should not assume to have zero-terminated strings.
        ------------------------------------------------------------
        revno: 2555.891.21
        committer: Luis Soares <luis.soares@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-07-15 12:42:06 +0100
        message:
          DBUG_PRINT in solaris does not work well with NULL parameters.
          HA_ERR was returning 0 (null string) when no error happened 
          (error=0). Since HA_ERR is used in DBUG_PRINT, regardless there 
          was an error or not, the server could crash in solaris debug
          builds.
          
          We fix this by:
          
            - deploying an assertion that ensures that the function 
              is not called when no error has happened;
            - making sure that HA_ERR is only called when an error 
              happened;
            - making HA_ERR return "No Error", instead of 0, for 
              non-debug builds if it is called when no error happened.
          
          This will make HA_ERR return values to work with DBUG_PRINT on
          solaris debug builds.
        ------------------------------------------------------------
        revno: 2555.891.20
        committer: Luis Soares <luis.soares@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-07-14 12:15:24 +0100
        message:
          BUG#11753004: 44360: REPLICATION FAILED
                            
          The server crashes if it processes table map events that are
          corrupted, especially if they map different tables to the same
          identifier. This could happen, for instance, due to BUG 56226.
                            
          We fix this by checking whether the table map has already been
          mapped before actually applying the event. If it has been mapped
          with different settings an error is raised and the slave SQL
          thread stops. If it has been mapped with same settings the event
          is skipped. If the table is set to be ignored by the filtering
          rules, there is no change in behavior: the event is skipped and
          ids are not checked.
        ------------------------------------------------------------
        revno: 2555.891.19 [merge]
        committer: Luis Soares <luis.soares@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-07-12 02:13:36 +0100
        message:
          BUG#12695969
          
          Manually merged from mysql-5.0 into mysql-5.1.
          
          conflicts
          =========
          
          include/Makefile.am
            ------------------------------------------------------------
            revno: 1810.3999.14
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-5.0
            timestamp: Tue 2011-07-12 02:10:28 +0100
            message:
              BUG#12695969
              
              Follow-up patch that adds the newly added header file to
              Makefile.am noinst_HEADERS.
        ------------------------------------------------------------
        revno: 2555.891.18 [merge]
        committer: Luis Soares <luis.soares@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-07-11 17:13:27 +0100
        message:
          BUG#12695969
          
          Manually merged mysql-5.0 into mysql-5.1.
          
          conflicts
          =========
          client/mysqlibinlog.cc
            ------------------------------------------------------------
            revno: 1810.3999.13
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-5.0
            timestamp: Mon 2011-07-11 17:11:41 +0100
            message:
              BUG#12695969: FIX OUTDATED COPYRIGHT NOTICES IN REPLACTION
              CLIENT TOOLS
                    
              The fix is to backport part of revision:
                      
                - alexander.nozdrin@oracle.com-20101006150613-ls60rb2tq5dpyb5c
                    
              from mysql-5.5. In detail, we add the oracle welcome notice
              header file proposed in the original patch and include/use it
              in client/mysqlbinlog.cc, replacing the existing and obsolete
              notice.
        ------------------------------------------------------------
        revno: 2555.891.17
        committer: kevin.lewis@oracle.com
        branch nick: mysql-5.1
        timestamp: Thu 2011-07-07 16:29:30 -0500
        message:
          Bug#12637786 was fixed with rb:692 by marko.  But that fix has a remaining
          bug.  It added this assert;
              ut_ad(ind_field->prefix_len);
          before a section of code that assumes there is a prefix_len.  
          
          The patch replaced code that explicitly avoided this with a check for
          prefix_len.  It turns out that the purge thread can get to that assert
          without a prefix_len because it does not use a row_ext_t* .
          When UNIV_DEBUG is not defined, the affect of this is that the purge thread
          sets the dfield->len to zero and then cannot find the entry in the index to
          purge.  So secondary index entries remain unpurged.
          
          This patch does not do the assert.  Instead, it uses
              'if (ind_field->prefix_len) {...}'
          around the section of code that assumes a prefix_len.  This is the way the
          patch I provided to Marko did it.
          
          The test case is simply modified to do a sleep(10) in order to give the
          purge thread a chance to run. Without the code change to row0row.c, this
          modified testcase will assert if InnoDB was compiled with UNIV_DEBUG.
          I tried to sleep(5), but it did not always assert.
        ------------------------------------------------------------
        revno: 2555.891.16
        committer: Joerg Bruehe <joerg.bruehe@oracle.com>
        branch nick: bug45415-5.1
        timestamp: Thu 2011-07-07 17:22:24 +0200
        message:
          Fix bug#45415: "rpm upgrade recreates test database"
          
          Let the creation of the "test" database happen only during a new
          installation, not in an RPM upgrade.
    ------------------------------------------------------------
    revno: 2555.929.9 [merge]
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.1-security
    timestamp: Mon 2011-07-18 09:08:19 +0200
    message:
      automerge 5.0->security => 5.1-security
        ------------------------------------------------------------
        revno: 1810.4002.21
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.0-security-bug12406055set_real
        timestamp: Mon 2011-07-18 09:06:59 +0200
        message:
          Bug#12406055 post-push fix: ignore float output
    ------------------------------------------------------------
    revno: 2555.929.8 [merge]
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.1-security
    timestamp: Fri 2011-07-15 14:08:14 +0200
    message:
      merge 5.0-security => 5.1-security
        ------------------------------------------------------------
        revno: 1810.4002.20
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.0-security-bug12406055set_real
        timestamp: Fri 2011-07-15 14:07:38 +0200
        message:
          Bug#12406055 BUFFER OVERFLOW OF VARIABLE 'BUFF' IN STRING::SET_REAL
          
          The buffer was simply too small.
          In 5.5 and trunk, the size is 311 + 31,
          in 5.1 and below, the size is 331
    ------------------------------------------------------------
    revno: 2555.929.7
    committer: Tor Didriksen <tor.didriksen@oracle.com>
    branch nick: 5.1-security
    timestamp: Mon 2011-07-11 11:20:19 +0200
    message:
      Bug#11765255 - 58201: VALGRIND/CRASH WHEN ORDERING BY MULTIPLE AGGREGATE FUNCTIONS
      
      We must allocate a larger ref_pointer_array. We failed to account for extra
      items allocated here:
      #0  find_order_in_list 
        uint el= all_fields.elements;
        all_fields.push_front(order_item); /* Add new field to field list. */
        ref_pointer_array[el]= order_item;
        order->item= ref_pointer_array + el;
      #1  setup_order
      #2  setup_without_group
      #3  JOIN::prepare
    ------------------------------------------------------------
    revno: 2555.929.6 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Thu 2011-07-07 14:29:42 +0300
    message:
      empty weave merge mysql-5.0-security->mysql-5.1-security
        ------------------------------------------------------------
        revno: 1810.4002.19 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.0-security
        timestamp: Thu 2011-07-07 14:27:20 +0300
        message:
          weave merge of mysql-5.0->mysql-5.0-security
    ------------------------------------------------------------
    revno: 2555.929.5 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Thu 2011-07-07 14:27:26 +0300
    message:
      weave merge of mysql-5.1->mysql-5.1-security
        ------------------------------------------------------------
        revno: 2555.891.15 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.1
        timestamp: Thu 2011-07-07 11:06:59 +0300
        message:
          empty weave merge from mysql-5.0
            ------------------------------------------------------------
            revno: 1810.3999.12 [merge]
            committer: Sunanda Menon <sunanda.menon@oracle.com>
            branch nick: mysql-5.0
            timestamp: Wed 2011-07-06 11:36:39 +0200
            message:
              Merge from mysql-5.0.94-release
        ------------------------------------------------------------
        revno: 2555.891.14 [merge]
        committer: Karen Langford <karen.langford@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-07-06 00:56:51 +0200
        message:
          Merge from mysql-5.1.58-release
        ------------------------------------------------------------
        revno: 2555.891.13
        committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
        branch nick: mysql-5.1-test
        timestamp: Mon 2011-07-04 09:33:16 +0200
        message:
          Fix MTR broken by last push.
        ------------------------------------------------------------
        revno: 2555.891.12 [merge]
        committer: Kent Boortz <kent.boortz@oracle.com>
        branch nick: mysql-5.1
        timestamp: Sun 2011-07-03 20:08:47 +0200
        message:
          Updated/added copyright headers
            ------------------------------------------------------------
            revno: 1810.3999.11 [merge]
            committer: Kent Boortz <kent.boortz@oracle.com>
            branch nick: mysql-5.0
            timestamp: Thu 2011-06-30 21:27:04 +0200
            message:
              Updated/added copyright headers
        ------------------------------------------------------------
        revno: 2555.891.11 [merge]
        committer: Kent Boortz <kent.boortz@oracle.com>
        branch nick: mysql-5.1
        timestamp: Sun 2011-07-03 17:47:37 +0200
        message:
          Updated/added copyright headers
            ------------------------------------------------------------
            revno: 2555.924.46
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: B12589928-5.1
            timestamp: Tue 2011-06-07 15:43:16 +0300
            message:
              Bug #12589928: MEMORY LEAK WHEN RUNNING SYS_VARS.SECURE_FILE_PRIV
              
              This is the 5.1 version of the fix.
                    
              Need to free the memory allocated by the option parsing code for empty 
              strings when resetting the pointer to NULL.
              No test case needed, as the existing ones already cover this path.
            ------------------------------------------------------------
            revno: 2555.924.45
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-06-30 13:18:54 +0300
            message:
              Bug#12637786 Wrong secondary index entries on CHAR and VARCHAR columns
              
              row_build_index_entry(): In innodb_file_format=Barracuda
              (ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED), a secondary index on a
              full column can refer to a field that is stored off-page in the
              clustered index record. Take that into account.
              
              rb:692 approved by Jimmy Yang
            ------------------------------------------------------------
            revno: 2555.924.44
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: mysql-5.1
            timestamp: Wed 2011-06-29 16:48:41 +0300
            message:
              Bug #12612184 BLOB debug code cleanup: Forgot an #if
              around the declaration of trx_assert_recovered().
            ------------------------------------------------------------
            revno: 2555.924.43 [merge]
            committer: Vasil Dimov <vasil.dimov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Wed 2011-06-29 14:29:45 +0300
            message:
              Merge mysql-5.0 -> mysql-5.1
                ------------------------------------------------------------
                revno: 1810.4000.24
                committer: Vasil Dimov <vasil.dimov@oracle.com>
                branch nick: mysql-5.0
                timestamp: Wed 2011-06-29 14:28:30 +0300
                message:
                  Bug #12696083 	FIX OUTDATED COPYRIGHT NOTICES IN INNODB RELATED CLIENT TOOLS
                  
                  Update copyright comment in innochecksum.
            ------------------------------------------------------------
            revno: 2555.924.42
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: mysql-5.1
            timestamp: Wed 2011-06-29 09:57:15 +0300
            message:
              Bug #12612184 BLOB debug code cleanup:
              Refactor the !rec_offs_any_extern relaxation in row_build().
              
              trx_assert_active(trx_id): Assert that the given transaction is active.
              (In the 5.1 built-in InnoDB, there is no trx->is_recovered field.)
              
              trx_assert_recovered(trx_id): Assert that the given transaction is
              active and has been recovered after a crash.
              
              row_build(): Replace a bunch of code with an assertion that invokes
              trx_assert_active() or trx_assert_recovered() and row_get_rec_trx_id().
              
              row_get_trx_id_offset(): Make the function inlined. Remove the unused
              parameter rec, and make all parameters const.
              
              row_get_rec_trx_id(), row_get_rec_roll_ptr(): Make all parameters const.
              
              rb:691 approved by Jimmy Yang
            ------------------------------------------------------------
            revno: 2555.924.41
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: mysql-5.1
            timestamp: Tue 2011-06-28 11:57:09 +0300
            message:
              Bug#12595087 - 61191: Question about page_zip_available (clean up page0zip.c)
              
              page_zip_dir_elems(): New function, refactored from page_zip_dir_size().
              
              page_zip_dir_size(): Use page_zip_dir_elems()
              
              page_zip_dir_start_offs(): New function: Gets an offset to the
              compressed page trailer (the dense page directory), including deleted
              records (the free list)
              
              page_zip_dir_start_low(page_zip, n_dense): Constness-preserving
              wrapper macro for page_zip_dir_start_offs().
              
              page_zip_dir_start(page_zip): Constness-preserving
              wrapper macro for page_zip_dir_start_offs().
              
              page_zip_decompress_node_ptrs(), page_zip_decompress_clust(): Replace
              a formula with a fully equivalent page_zip_dir_start_low() call.
              
              page_zip_write_rec(), page_zip_parse_write_node_ptr(),
              page_zip_write_node_ptr(), page_zip_write_trx_id_and_roll_ptr(),
              page_zip_clear_rec(): Replace a formula with an almost equivalent
              page_zip_dir_start() call.
              It is OK to replace page_dir_get_n_heap(page) with
              page_dir_get_n_heap(page_zip->data), because
              ut_ad(page_zip_header_cmp(page_zip, page)) or
              page_zip_validate(page_zip, page) asserts that the
              page headers are identical.
              
              rb:687 approved by Jimmy Yang
            ------------------------------------------------------------
            revno: 2555.924.40
            committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
            branch nick: mysql-5.1-bug11756013
            timestamp: Thu 2011-06-23 20:41:04 +0700
            message:
              Fixed Bug#11756013 (formerly known as bug#47870):
              BOGUS "THE TABLE MYSQL.PROC IS MISSING,..."
              
              There was a race condition between loading a stored routine
              (function/procedure/trigger) specified by fully qualified name
              SCHEMA_NAME.PROC_NAME and dropping the stored routine database.
              
              The problem was that there is a window for race condition when one server
              thread tries to load a stored routine being executed and the other thread
              tries to drop the stored routine schema.
              
              This condition race window exists in implementation of function
              mysql_change_db() called by db_load_routine() during loading of stored
              routine to cache. Function mysql_change_db() calls check_db_dir_existence()
              that might failed because specified database was dropped during concurrent
              execution of DROP SCHEMA statement. db_load_routine() calls mysql_change_db()
              with flag 'force_switch' set to 'true' value so when referenced db is not found
              then my_error() is not called and function mysql_change_db() returns ok.
              This shadows information about schema opening error in db_load_routine().
              Then db_load_routine() makes attempt to parse stored routine that is failed.
              This makes to return error to sp_cache_routines_and_add_tables_aux() but since
              during error generation a call to my_error wasn't made and hence
              THD::main_da wasn't set we set the generic "mysql.proc table corrupt" error
              when running sp_cache_routines_and_add_tables_aux().
              
              The fix is to install an error handler inside db_load_routine() for
              the mysql_op_change_db() call, and check later if the ER_BAD_DB_ERROR
              was caught.
            ------------------------------------------------------------
            revno: 2555.924.39
            committer: Inaam Rana <inaam.rana@oracle.com>
            branch nick: buf_page_t_alloc
            timestamp: Fri 2011-06-17 16:20:20 -0400
            message:
              Bug 12635227 - 61188: DROP TABLE EXTREMELY SLOW
              
              approved by: Marko
              rb://681
              
              Coalescing of free buf_page_t descriptors can prove to be one severe
              bottleneck in performance of compression. One such workload where it
              hurts badly is DROP TABLE. This patch removes buf_page_t allocations
              from buf_buddy and uses ut_malloc instead.
              In order to further reduce overhead of colaescing we no longer attempt
              to coalesce a block if the corresponding free_list is less than 16 in
              size.
            ------------------------------------------------------------
            revno: 2555.924.38
            committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
            branch nick: mysql-5.1-test
            timestamp: Fri 2011-06-17 09:51:34 +0200
            message:
              Bug#12657095 YASSL ERROR MESSAGE CONTAINS TYPO 
              
              This patch fixes a typo in a YaSSL error message.
            ------------------------------------------------------------
            revno: 2555.924.37
            committer: Dmitry Lenev <Dmitry.Lenev@oracle.com>
            branch nick: mysql-5.1-12652385
            timestamp: Fri 2011-06-17 02:02:52 +0400
            message:
              Fix for bug #12652385 - "61493: REORDERING COLUMNS 
              TO POSITION FIRST CAN CAUSE DATA TO BE CORRUPTED".
               
              ALTER TABLE MODIFY/CHANGE ... FIRST did nothing except renaming
              columns if new version of the table had exactly the same 
              structure as the old one (i.e. as result of such statement, names 
              of columns changed their order as specified but data in columns 
              didn't). The same thing happened for ALTER TABLE DROP COLUMN/ADD 
              COLUMN statements which were supposed to produce new version of
              table with exactly the same structure as the old version of table.
              I.e. in the latter case the result was the same as if old column 
              was renamed instead of being dropped and new column with default
              as value being created.
               
              Both these problems were caused by the fact that ALTER TABLE
              implementation incorrectly interpreted both these situations as 
              simple renaming of columns and assumed that in-place ALTER TABLE
              algorithm could have been used for them.
               
              This patch fixes this problem by ensuring that in cases when some
              column is moved to the first position or some column is dropped
              the default ALTER TABLE algorithm involving table copying is 
              always used. This is achieved by detecting such situations in
              mysql_prepare_alter_table() and setting Alter_info::change_level
              to ALTER_TABLE_DATA_CHANGED for them.
            ------------------------------------------------------------
            revno: 2555.924.36
            committer: Vasil Dimov <vasil.dimov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-06-16 16:11:43 +0300
            message:
              Silence bogus compiler warning introduced in
              marko.makela@oracle.com-20110616072721-8bo92ctixq6eqavr
            ------------------------------------------------------------
            revno: 2555.924.35
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-06-16 14:55:46 +0300
            message:
              Bug #61341 buf_LRU_insert_zip_clean can be O(N) on LRU length
              
              The buf_pool->zip_clean list is only needed for debugging, or for
              recomputing buf_pool->page_hash when resizing the buffer pool. Buffer
              pool resizing was never fully implemented. Remove the resizing code,
              and define buf_pool->zip_clean only in debug builds.
              
              buf_pool->zip_clean, buf_LRU_insert_zip_clean(): Enclose in
              #if defined UNIV_DEBUG || UNIV_BUF_DEBUG.
              
              buf_chunk_free(), buf_chunk_all_free(), buf_pool_shrink(),
              buf_pool_page_hash_rebuild(), buf_pool_resize(): Remove (unreachable code).
              
              rb:671 approved by Inaam Rana
            ------------------------------------------------------------
            revno: 2555.924.34
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-06-16 14:22:12 +0300
            message:
              Bug#12595087 - 61191: Question about page_zip_available
              
              There is an apparent problem with page_zip_clear_rec().
              In btr_cur_optimistic_update() we do this:
              
              	page_cur_delete_rec(page_cursor, index, offsets, mtr);
              ...
              	rec = btr_cur_insert_if_possible(cursor, new_entry, 0/*n_ext*/, mtr);
              	ut_a(rec); /* <- We calculated above the insert would fit */
              
              The problem is that page_cur_delete_rec() could fill the modification
              log while doing page_zip_clear_rec(), requiring recompression for the
              btr_cur_insert_if_possible(). In a pathological case, the data could
              fail to recompress.
              
              page_zip_clear_rec(): Leave the page modification log alone. Only
              clear the necessary fields.
              
              rb:673 approved by Jimmy Yang
            ------------------------------------------------------------
            revno: 2555.924.33
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-06-16 11:51:04 +0300
            message:
              Re-enable the debug assertions for Bug#12650861.
              Replace UNIV_BLOB_NULL_DEBUG with UNIV_DEBUG||UNIV_BLOB_LIGHT_DEBUG. 
              Fix known bogus failures.
              
              btr_cur_optimistic_update(): If rec_offs_any_null_extern(), assert that
              the current transaction is an incomplete transaction that is being
              rolled back in crash recovery.
              
              row_build(): If rec_offs_any_null_extern(), assert that the transaction
              that last updated the record was recovered during crash recovery
              (and will soon be rolled back).
            ------------------------------------------------------------
            revno: 2555.924.32
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-06-16 10:27:21 +0300
            message:
              Bug#12612184 Race condition after btr_cur_pessimistic_update()
              
              btr_cur_compress_if_useful(), btr_compress(): Add the parameter ibool
              adjust. If adjust=TRUE, adjust the cursor position after compressing
              the page.
              
              btr_lift_page_up(): Return a pointer to the father page.
              
              BTR_KEEP_POS_FLAG: A new flag for btr_cur_pessimistic_update().
              
              btr_cur_pessimistic_update(): If *big_rec != NULL and flags &
              BTR_KEEP_POS_FLAG, keep the cursor positioned on the updated record.
              Also, do not release the index tree x-lock if *big_rec != NULL.
              
              btr_cur_mtr_commit_and_start(): Commits and restarts a
              mini-transaction so that it will retain an x-lock on index->lock and
              the page of the cursor. This is invoked when
              btr_cur_pessimistic_update() returns *big_rec != NULL.
              
              In all callers of btr_cur_pessimistic_update() that do not pass
              BTR_KEEP_POS_FLAG, assert that *big_rec == NULL.
              
              btr_cur_compress(): Unused function [in the built-in MySQL 5.1], remove.
              
              page_rec_get_nth(): Return the nth record on the page (an inverse
              function of page_rec_get_n_recs_before()). Refactored from
              page_get_middle_rec().
              
              page_get_middle_rec(): Invoke page_rec_get_nth().
              
              page_cur_insert_rec_zip_reorg(): Make use of the page directory
              shortcuts in page_rec_get_nth() instead of scanning the whole list of
              records.
              
              row_ins_clust_index_entry_by_modify(): Pass BTR_KEEP_POS_FLAG to
              btr_cur_pessimistic_update().
              
              row_ins_index_entry_low(): If row_ins_clust_index_entry_by_modify()
              returns a big_rec, invoke btr_cur_mtr_commit_and_start() in order to
              commit and start the mini-transaction without releasing the x-locks on
              index->lock and the cursor page, and write the big_rec. Releasing the
              page latch in mtr_commit() caused a race condition.
              
              row_upd_clust_rec(): Pass BTR_KEEP_POS_FLAG to
              btr_cur_pessimistic_update(). If it returns a big_rec, invoke
              btr_cur_mtr_commit_and_start() in order to commit and start the
              mini-transaction without releasing the x-locks on index->lock and the
              cursor page, and write the big_rec. Releasing the page latch in
              mtr_commit() caused a race condition.
              
              sync_thread_add_level(): Add the parameter ibool relock. When TRUE,
              bypass the latching order rules.
              
              rw_lock_add_debug_info(): For nested X-lock requests, pass relock=TRUE
              to sync_thread_add_level().
              
              rb:678 approved by Jimmy Yang
    ------------------------------------------------------------
    revno: 2555.929.4 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Thu 2011-06-16 12:23:23 +0300
    message:
      empty weave merge mysql-5.0-security->mysql-5.1-security
        ------------------------------------------------------------
        revno: 1810.4002.18 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.0-security
        timestamp: Thu 2011-06-16 12:20:14 +0300
        message:
          auto-merge of version update from mysql-5.0 to mysql-5.0-security
        ------------------------------------------------------------
        revno: 1810.4002.17
        committer: Sunanda Menon <sunanda.menon@oracle.com>
        branch nick: mysql-5.0-security
        timestamp: Fri 2011-06-10 07:38:09 +0200
        message:
          Raise version number after cloning 5.0.94
    ------------------------------------------------------------
    revno: 2555.929.3 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Thu 2011-06-16 12:21:53 +0300
    message:
      auto-merge of mysql-5.1->mysql-5.1-security
        ------------------------------------------------------------
        revno: 2555.924.31
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-06-15 10:16:59 +0300
        message:
          Introduce UNIV_BLOB_NULL_DEBUG for temporarily hiding Bug#12650861.
          Some ut_a(!rec_offs_any_null_extern()) assertion failures are indicating
          genuine BLOB bugs, others are bogus failures when rolling back incomplete
          transactions at crash recovery. This needs more work, and until I get a
          chance to work on it, other testing must not be disrupted by this.
        ------------------------------------------------------------
        revno: 2555.924.30
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-06-14 08:40:32 +0300
        message:
          Merge a fix from mysql-5.5 to mysql-5.1:
          
          revno 2995.37.209
          revision id marko.makela@oracle.com-20110518120508-qhn7vz814vn77v5k
          parent marko.makela@oracle.com-20110517121555-lmple24qzxqkzep4
          timestamp: Wed 2011-05-18 15:05:08 +0300
          message:
            Fix a bogus UNIV_SYNC_DEBUG failure in the fix of Bug #59641
            or Oracle Bug #11766513.
          
            trx_undo_free_prepared(): Do not acquire or release trx->rseg->mutex.
            This code is invoked in the single-threaded part of shutdown, therefore
            a mutex is not needed.
        ------------------------------------------------------------
        revno: 2555.924.29 [merge]
        committer: Mattias Jonsson <mattias.jonsson@oracle.com>
        branch nick: topush-5.1
        timestamp: Mon 2011-06-13 11:09:56 +0200
        message:
          merge
            ------------------------------------------------------------
            revno: 2555.930.1
            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
            branch nick: b11765667-51
            timestamp: Fri 2011-04-29 13:00:16 +0200
            message:
              bug#11765667: bug#58655: ASSERTION FAILED, SERVER CRASHES WITH MYSQLD GOT SIGNAL 6
              
              The partitioning engine checked the auto_increment column even if it was not to be written,
              triggering a DBUG_ASSERT.
              
              Fixed by checking if table->write_set for that column was set.
        ------------------------------------------------------------
        revno: 2555.924.28 [merge]
        committer: Karen Langford <karen.langford@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-06-10 18:22:24 +0200
        message:
          Merged from mysql-5.0
            ------------------------------------------------------------
            revno: 1810.4000.23
            committer: Karen Langford <karen.langford@oracle.com>
            branch nick: mysql-5.0
            timestamp: Fri 2011-06-10 18:12:18 +0200
            message:
              increase version number to 5.0.95
        ------------------------------------------------------------
        revno: 2555.924.27
        committer: Karen Langford <karen.langford@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-06-10 16:37:11 +0200
        message:
          Raise version number after cloning 5.1.58
        ------------------------------------------------------------
        revno: 2555.924.26
        committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
        branch nick: mysql-5.1-bug11753738
        timestamp: Fri 2011-06-10 10:52:39 +0700
        message:
          Fixed bug#11753738 (formely known as bug#45235) - 5.1 DOES NOT SUPPORT 5.0-ONLY
          SYNTAX TRIGGERS IN ANY WAY
          
          Table with triggers which were using deprecated (5.0-only) syntax became
          unavailable for any DML and DDL after upgrade to 5.1 version of server.
          Attempt to execute any statement on such a table resulted in parsing
          error reported. Since this included DROP TRIGGER and DROP TABLE
          statements (actually, the latter was allowed but was not functioning
          properly for such tables) it was impossible to fix the problem without
          manual operations on .TRG and .TRN files in data directory.
          
          The problem was that failure to parse trigger body (due to 5.0-only
          syntax) when opening trigger file for a table prevented the table
          from being open. This made all operations on the table impossible
          (except DROP TABLE which due to peculiarity in its implementation
          dropped the table but left trigger files around).
          
          This patch solves this problem by silencing error which occurs when
          we parse trigger body during table open. Error message is preserved
          for the future use and table is marked as having a broken trigger.
          We also try to analyze parse tree to recover trigger name, which
          will be needed in order to drop the broken trigger. DML statements
          which invoke triggers on the table marked as having broken trigger
          are prohibited and emit saved error message. The same happens for
          DDL which change triggers except DROP TRIGGER and DROP TABLE which
          try their best to do what was requested. Table becomes no longer
          marked as having broken trigger when last such trigger is dropped.
        ------------------------------------------------------------
        revno: 2555.924.25
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-06-09 21:50:41 +0300
        message:
          Disable a debug assertion that was added to track down Bug#12612184.
          
          row_build(): The record may contain null BLOB pointers when the server
          is rolling back an insert that was interrupted by a server crash.
        ------------------------------------------------------------
        revno: 2555.924.24
        committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
        branch nick: mysql-5.1-bug11764334
        timestamp: Fri 2011-06-10 01:05:10 +0700
        message:
          Follow-up for patch of bug#11764334.
        ------------------------------------------------------------
        revno: 2555.924.23
        committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
        branch nick: mysql-5.1-bug11764334
        timestamp: Fri 2011-06-10 00:03:17 +0700
        message:
          Fixed bug#11764334 (formerly bug#57156): ALTER EVENT CHANGES
          THE EVENT STATUS.
          
          Any ALTER EVENT statement on a disabled event enabled it back
          (unless this ALTER EVENT statement explicitly disabled the event).
          
          The problem was that during processing of an ALTER EVENT statement
          value of status field was overwritten unconditionally even if new
          value was not specified explicitly. As a consequence this field
          was set to default value for status which corresponds to ENABLE.
          
          The solution is to check if status field was explicitly specified in
          ALTER EVENT statement before assigning new value to status field.
        ------------------------------------------------------------
        revno: 2555.924.22
        committer: Marko M?kel? <marko.makela@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-06-09 13:31:15 +0300
        message:
          BLOB instrumentation for Bug#12612184 Race condition in row_upd_clust_rec()
          
          If UNIV_DEBUG or UNIV_BLOB_LIGHT_DEBUG is enabled, add
          !rec_offs_any_null_extern() assertions, ensuring that records do not
          contain null pointers to externally stored columns in inappropriate
          places.
          
          btr_cur_optimistic_update(): Assert !rec_offs_any_null_extern().
          Incomplete records must never be updated or deleted. This assertion
          will cover also the pessimistic route.
          
          row_build(): Assert !rec_offs_any_null_extern(). Search tuples must
          never be built from incomplete index entries.
          
          row_rec_to_index_entry(): Assert !rec_offs_any_null_extern() unless
          ROW_COPY_DATA is requested. ROW_COPY_DATA is used for
          multi-versioning, and therefore it might be valid to copy the most
          recent (uncommitted) version while it contains a null pointer to
          off-page columns.
          
          row_vers_build_for_consistent_read(),
          row_vers_build_for_semi_consistent_read(): Assert !rec_offs_any_null_extern()
          on all versions except the most recent one.
          
          trx_undo_prev_version_build(): Assert !rec_offs_any_null_extern() on
          the previous version.
          
          rb:682 approved by Sunny Bains
        ------------------------------------------------------------
        revno: 2555.924.21
        committer: Ramil Kalimullin <ramil@mysql.com>
        branch nick: b11764487-5.1
        timestamp: Tue 2011-06-07 19:30:43 +0400
        message:
          Bug#11764487: myisam corruption with insert ignore and invalid spatial data
          
          Problem: in case of wrong data insert into indexed GEOMETRY fields 
          (e.g. NULL value for a not NULL field) MyISAM reported 
          "ERROR 126 (HY000): Incorrect key file for table; try to repair it"
          due to misuse of the key deletion function.
          
          Fix: always use R-tree key functions for R-tree based indexes
          and B-tree key functions for B-tree based indexes.
    ------------------------------------------------------------
    revno: 2555.929.2
    committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
    branch nick: mysql-5.1-security-bug12428824
    timestamp: Thu 2011-06-09 23:30:52 +0700
    message:
      Fixed bug#11840395 (formerly known as bug#60347: THE STRING "VERSIONDATA"
      SEEMS TO BE 'LEAKING' INTO THE SCHEMA NAME SPACE)
      and bug#12428824 (Parser stack overflow and crash in sp_add_used_routine
      with obscure query).
      
      The first problem was that attempts to call a stored function by
      its fully qualified name ended up with unwarranted error "ERROR 1305
      (42000): FUNCTION someMixedCaseDb.my_function_name does not exist"
      if this function belonged to a schema that had uppercase letters in
      its name AND --lower_case_table_names was equal to either 1 or 2.
      
      The second problem was that 5.5 version of MySQL server might have
      crashed when a user tried to call stored function with too long name
      or too long database name (i.e if a function and database name combined
      occupied more than 2*3*64 bytes in utf8). This issue didn't affect
      versions of server < 5.5.
       
      The first problem was caused by the fact that in cases when a stored
      function was called by its fully qualified name we didn't lowercase
      name of its schema before performing look up of the function in
      mysql.proc table even although lower_case_table_names mode was on.
      As result we were unable to find this function since during its
      creation we store lowercased version of schema name in the system
      table in this mode and field for schema name uses binary collation.
      
      Calls to stored functions were unaffected by this problem since for
      them schema name is converted to lowercase as necessary.
      
      The reason for the second bug was that MySQL Server didn't check length
      of function name and database name before proceeding with execution of
      stored function. As a consequence too long database name or function
      name caused buffer overruns in places where the code assumes that their
      length is within fixed limits, like mdl_key_init() in 5.5.
      
      Again this issue didn't affect calls to stored procedures as for them
      length of schema name and procedure name are properly checked.
      
      This patch fixes both these bugs by adding calls to check_db_name()
      and check_routine_name() to grammar rule which corresponds to a call
      to a stored function. These functions ensure that length of database
      name and function name for routine called is within standard limit.
      Moreover call to check_db_name() handles conversion of database name
      to lowercase if --lower_case_table_names mode is on.
      
      Note that even although the second issue seems to be only reproducible
      in 5.5 we still add code fixing it to 5.1 to be on the safe side (and
      make code a bit more robust against possible future changes).
    ------------------------------------------------------------
    revno: 2555.929.1
    committer: Karen Langford <karen.langford@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Thu 2011-06-09 17:41:20 +0200
    message:
      Raise version number after cloning 5.1.58
------------------------------------------------------------
revno: 3465 [merge]
committer: jonas oreland <jonas.oreland@oracle.com>
branch nick: telco-6.3
timestamp: Mon 2012-02-13 13:45:46 +0100
message:
  ndb - merge 63-main
    ------------------------------------------------------------
    revno: 3463.1.1
    committer: jonas oreland <jonas.oreland@oracle.com>
    branch nick: 63-merge
    timestamp: Mon 2012-02-13 12:12:03 +0100
    message:
      ndb - merge 5.1.57 into 6.3 - post merge fix
------------------------------------------------------------
revno: 3464 [merge]
committer: jonas oreland <jonas.oreland@oracle.com>
branch nick: telco-6.3
timestamp: Mon 2012-02-13 13:43:04 +0100
message:
  ndb - merge 5.1.58 into 6.3
    ------------------------------------------------------------
    revno: 2555.915.13
    tags: mysql-5.1.58
    committer: Karen Langford <karen.langford@oracle.com>
    branch nick: mysql-5.1.58-release
    timestamp: Fri 2011-07-01 17:18:27 +0200
    message:
      Small update to Patch to fix SS #12698716
    ------------------------------------------------------------
    revno: 2555.915.12
    committer: Karen Langford <karen.langford@oracle.com>
    branch nick: mysql-5.1.58-release
    timestamp: Fri 2011-07-01 16:15:50 +0200
    message:
      Patch to fix SS #12698716 : Java/ConnectorJ regression problem
    ------------------------------------------------------------
    revno: 2555.915.11 [merge]
    tags: clone-5.1.58-build
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Mon 2011-06-06 16:53:46 +0300
    message:
      merge of mysql-5.1->mysql-5.1-security
        ------------------------------------------------------------
        revno: 2555.924.20
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: B11749418-5.1
        timestamp: Mon 2011-06-06 13:13:54 +0300
        message:
          Bug #11749418: 38965: TEST CASES GIS-RTREE, TYPE_FLOAT, TYPE_NEWDECIMAL 
            FAIL IN EMBEDDED SERVER
          
          FreeBSD 64 bit needs the FP_X_DNML to fpsetmask() to prevent exceptions from
          propagating into mysql (as a threaded application).
          However fpsetmask() itself is deprecated in favor of fedisableexcept().
          1. Fixed the #ifdef to check for FP_X_DNML instead of i386.
          2. Added a configure.in check for fedisableexcept() and, if present,
             this function is called insted of the fpsetmask().
          No need for new tests, as the existing tests cover this already.
          Removed the affected tests from the experimental list.
        ------------------------------------------------------------
        revno: 2555.924.19
        committer: Anitha Gopi <anitha.gopi@oracle.com>
        branch nick: mysql-5.1-mod
        timestamp: Fri 2011-06-03 14:13:10 +0530
        message:
          Bug#11756699 : Move test to disabled group
        ------------------------------------------------------------
        revno: 2555.924.18 [merge]
        committer: Sergey Vojtovich <sergey.vojtovich@oracle.com>
        branch nick: mysql-5.1-push
        timestamp: Fri 2011-06-03 11:31:13 +0400
        message:
          Merge.
            ------------------------------------------------------------
            revno: 2555.928.1
            committer: Sergey Vojtovich <sergey.vojtovich@oracle.com>
            branch nick: mysql-5.1-bug60976
            timestamp: Wed 2011-05-18 14:01:43 +0400
            message:
              BUG#12402794 - 60976: CRASH, VALGRIND WARNING AND MEMORY
                             LEAK WITH PARTITIONED ARCHIVE TABLES
              
              CHECK TABLE against archive table, when file descriptors
              are exhausted, caused server crash.
              
              Archive didn't handle errors when opening data file for
              CHECK TABLE.
        ------------------------------------------------------------
        revno: 2555.924.17
        committer: Davi Arnaut <davi.arnaut@oracle.com>
        branch nick: 12563279-5.1
        timestamp: Mon 2011-05-30 07:42:30 -0300
        message:
          Bug#12563279: REGRESSION IN HANDLING PRE-4.1 AUTHENTICATION PACKET
          
          The problem is that clients implementing the 4.0 version of the
          protocol (that is, mysql-4.0) do not null terminate a string
          at the end of the authentication packet. These clients denote
          the end of the string with the end of the packet.
          
          Although this goes against the documented (see MySQL Internals
          ClientServer Protocol wiki) description of the protocol, these
          old clients still need to be supported.
          
          The solution is to support the documented and actual behavior
          of the clients. If a client is using the pre-4.1 version of
          the protocol, the end of a string in the authentication packet
          can either be denoted with a null character or by the end of
          the packet. This restores backwards compatibility with old
          clients implementing either the documented or actual behavior.
        ------------------------------------------------------------
        revno: 2555.924.16
        committer: Davi Arnaut <davi.arnaut@oracle.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-05-27 08:09:25 -0300
        message:
          BUG 11763056 - 55721: AIX 5.1.50 build failing, cannot locate bzero
          
          The problem is that although AIX implements bzero, its prototype
          is not declared by default. Since AC_CHECK_FUNC(bzero) succeeds
          even though a prototype is not declared, this breaks compilation
          in C++ files where a prototype is required.
          
          The solution is to only use bzero if a prototype is also declared.
        ------------------------------------------------------------
        revno: 2555.924.15
        committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
        branch nick: mysql-5.1-bug12546938
        timestamp: Fri 2011-05-27 16:23:08 +0700
        message:
          Fixed bug#12546938 (formerly known as 61005) - CREATE IF NOT EXIST EVENT
          will create multiple running events.
          
          A CREATE IF NOT EXIST on an event that existed and was enabled caused
          multiple instances of the event to run. Disabling the event didn't  help.
          If the event was  dropped, the event stopped running, but when created
          again, multiple instances of the event were still running. The only way
          to get out of this situation was  to restart the server.
          
          The problem was that Event_db_repository::create_event() didn't return
          enough information to discriminate between situation when event didn't
          exist and was created and when event did exist and was not created
          (but a warning was emitted). As result in the latter case event
          was added to in-memory queue of events second time. And this led to
          unwarranted multiple executions of the same event.
          
          The solution is to add out-parameter to Event_db_repository::create_event()
          method which will signal that event was not created because it already
          exists and so it should not be added to the in-memory queue.
        ------------------------------------------------------------
        revno: 2555.924.14
        committer: Dmitry Lenev <Dmitry.Lenev@oracle.com>
        branch nick: mysql-5.1-11762012
        timestamp: Thu 2011-05-26 17:14:47 +0400
        message:
          Fix for bug #11762012 - "54553: INNODB ASSERTS IN 
          HA_INNOBASE::UPDATE_ROW, TEMPORARY TABLE, TABLE LOCK".
          
          Attempt to update an InnoDB temporary table under LOCK TABLES
          led to assertion failure in both debug and production builds
          if this temporary table was explicitly locked for READ. The 
          same scenario works fine for MyISAM temporary tables.
          
          The assertion failure was caused by discrepancy between lock 
          that was requested on the rows of temporary table at LOCK TABLES
          time and by update operation. Since SQL-layer requested a 
          read-lock at LOCK TABLES time InnoDB engine assumed that upcoming
          statements which are going to be executed under LOCK TABLES will 
          only read table and therefore should acquire only S-lock.
          An update operation broken this assumption by requesting X-lock.
          
          Possible approaches to fixing this problem are:
          
          1) Skip locking of temporary tables as locking doesn't make any
             sense for connection-local objects.
          2) Prohibit changing of temporary table locked by LOCK TABLES ... 
             READ.
          
          Unfortunately both of these approaches have drawbacks which make 
          them unviable for stable versions of server.
          
          So this patch takes another approach and changes code in such way
          that LOCK TABLES for a temporary table will always request write
          lock. In 5.1 version of this patch switch from read lock to write
          lock is done inside of InnoDBs handler methods as doing it on 
          SQL-layer causes compatibility troubles with FLUSH TABLES WITH
          READ LOCK.
        ------------------------------------------------------------
        revno: 2555.924.13
        committer: Sven Sandberg <sven.sandberg@oracle.com>
        branch nick: 5.1
        timestamp: Thu 2011-05-26 12:50:43 +0200
        message:
          BUG#12574820: binlog.binlog_tmp_table timing out in daily and weekly trunk run
          Problem: MYSQL_BIN_LOG::reset_logs acquires mutexes in wrong order.
          The correct order is first LOCK_thread_count and then LOCK_log. This function
          does it the other way around. This leads to deadlock when run in parallel
          with a thread that takes the two locks in correct order. For example, a thread
          that disconnects will take the locks in the correct order.
          Fix: change order of the locks in MYSQL_BIN_LOG::reset_logs:
          first LOCK_thread_count and then LOCK_log.
        ------------------------------------------------------------
        revno: 2555.924.12
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-05-26 14:06:39 +0400
        message:
          Bug#12392636 ASSERTION FAILED: SCALE >= 0 && PRECISION > 0 && SCALE <= PRECISION
          Assertion happens due to missing NULL value check in
          Item_func_round::fix_length_and_dec() function.
          The fix: added NULL value check for second parameter.
        ------------------------------------------------------------
        revno: 2555.924.11
        committer: Anitha Gopi <anitha.gopi@oracle.com>
        branch nick: mysql-5.1-mod
        timestamp: Tue 2011-05-24 15:46:14 +0530
        message:
          BUG#12371924 # Bug is fixed. Move test out of experimental group
        ------------------------------------------------------------
        revno: 2555.924.10
        committer: Anitha Gopi <anitha.gopi@oracle.com>
        branch nick: mysql-5.1-mod
        timestamp: Tue 2011-05-24 12:08:13 +0530
        message:
          Changed to Oracle bug numbers
        ------------------------------------------------------------
        revno: 2555.924.9
        committer: Anitha Gopi <anitha.gopi@oracle.com>
        branch nick: mysql-5.1-mod
        timestamp: Tue 2011-05-24 10:22:00 +0530
        message:
          Bug#11756699: Move test from disabled to experimental group
        ------------------------------------------------------------
        revno: 2555.924.8
        committer: Anitha Gopi <anitha.gopi@oracle.com>
        branch nick: mysql-5.1-mod
        timestamp: Tue 2011-05-24 09:56:24 +0530
        message:
          Bug#12584161 - Moved test from disabled to experimental group
        ------------------------------------------------------------
        revno: 2555.924.7 [merge]
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Sun 2011-05-22 23:11:02 +0300
        message:
          Merge mysql-5.1-innodb -> mysql-5.1
            ------------------------------------------------------------
            revno: 2555.738.366
            committer: Vasil Dimov <vasil.dimov@oracle.com>
            branch nick: mysql-5.1-innodb
            timestamp: Tue 2011-05-10 15:43:30 +0300
            message:
              Increment InnoDB Plugin version from 1.0.16 to 1.0.17.
              InnoDB Plugin 1.0.16 has been released with MySQL 5.1.57.
            ------------------------------------------------------------
            revno: 2555.738.365
            committer: Jimmy Yang <jimmy.yang@oracle.com>
            branch nick: mysql-5.1-innodb
            timestamp: Wed 2011-05-04 03:06:21 -0700
            message:
              Fix bug #11796673 address backward compatibility on index with
              large prefix (>=768). Table with such large prefix index will not
              be loaded into memory (for its metadata), unless innodb_force_recovery
              is on.
              
              rb://604 Approved by Marko
            ------------------------------------------------------------
            revno: 2555.738.364 [merge]
            committer: Vasil Dimov <vasil.dimov@oracle.com>
            branch nick: mysql-5.1-innodb
            timestamp: Mon 2011-05-02 12:57:05 +0300
            message:
              Merge mysql-5.1 -> mysql-5.1-innodb
        ------------------------------------------------------------
        revno: 2555.924.6 [merge]
        committer: Guilhem Bichot <guilhem.bichot@oracle.com>
        branch nick: 5.1-2
        timestamp: Sat 2011-05-21 10:43:54 +0200
        message:
          merge from latest 5.1
            ------------------------------------------------------------
            revno: 2555.926.4
            committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
            branch nick: mysql-5.1-bug11749345
            timestamp: Fri 2011-05-20 23:52:52 +0700
            message:
              Fixed bug#11749345 (formerly bug#38813) - increasing memory consumption
              when selecting from I_S and views exist, in SP.
              
              Symptoms: re-execution of prepared statement (or statement in a stored
              routine) which read from one of I_S tables and which in order to fill
              this I_S table had to open a view led to increasing memory consumption.
              
              What happened in this situation was that during the process of view
              opening for purpose of I_S filling view-related structures (like its
              LEX) were allocated on persistent MEM_ROOT of prepared statement (or 
              stored routine). Since this MEM_ROOT is not freed until prepared
              statement deallocation (or expulsion of stored routine from the cache)
              and code responsible for filling I_S is not able to re-use results of
              view opening from previous executions this allocation ended up in
              memory hogging.
              
              This patch solves the problem by ensuring that when a view opened
              for the purpose of I_S filling all its structures are allocated on
              non-persistent runtime MEM_ROOT. This is achieved by activating a
              temporary Query_arena bound to this MEM_ROOT.
              Since this step makes impossible linking of view structures into
              LEX of our prepared statement (or stored routine statement) this
              patch also changes code filling I_S table to install a proxy LEX
              before trying to open a view or a table. Consequently some code
              which was responsible for backing-up/restoring parts of LEX when
              view/table was opened during filling of I_S table became redundant
              and was removed.
              
              This patch doesn't contain test case for this bug as it is hard
              to test memory hogging in our test suite.
            ------------------------------------------------------------
            revno: 2555.926.3 [merge]
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-05-19 16:46:26 +0100
            message:
              BUG#11746302
              
              Automerge mysql-5.1-gca into latest mysql-5.1.
                ------------------------------------------------------------
                revno: 2555.927.1
                committer: Luis Soares <luis.soares@oracle.com>
                branch nick: mysql-5.1-gca
                timestamp: Thu 2011-05-19 16:45:45 +0100
                message:
                  BUG#11746302: 25228: RPL_RELAYSPACE.TEST FAILS ON POWERMACG5, 
                                VM-WIN2003-32-A, SLES10-IA64-A 
                        
                  The test case waits for master_pos_wait not to timeout, which
                  means that the deadlock between SQL and IO threads was 
                  succesfully and automatically dealt with.
                        
                  However, very rarely, master_pos_wait reports a timeout. This
                  happens because the time set for master_pos_wait to wait was
                  too small (6 seconds). On slow test env this could be a 
                  problem.
                        
                  We fix this by setting the timeout inline with the one used
                  in sync_slave_with_master (300 seconds). In addition we 
                  refactored the test case and refined some comments.
            ------------------------------------------------------------
            revno: 2555.926.2
            committer: Mayank Prasad <mayank.prasad@oracle.com
            branch nick: 5.1_11764633_3
            timestamp: Wed 2011-05-18 20:10:01 +0530
            message:
              Bug#11764633 : 57491: THD->MAIN_DA.IS_OK() ASSERT IN EMBEDDED
              
              Issue:
              While running embedded server, if client issues TEE command (\T foo/bar) and
              "foo/bar" directory doesn't exist, it is suppose to give error. But it was
              aborting.  This was happening because wrong error handler was being called.
              
              Solution:
              Modified calls to correct error handler. In embedded server case, there are 
              two error handler (client and server) which are supposed to be called based 
              on which context code is in. If it is in client context, client error handler
              should be called otherwise server.
              
              Test case:
              Test case automation is not possible as current (following) code doesn't 
              allow '\T' to be executed from command line (OR command read from a file):
              [client/mysql.cc]
              ...
               static int
               com_tee(String *buffer __attribute__((unused)),
                       char *line __attribute__((unused)))
               {
                 char file_name[FN_REFLEN], *end, *param;
              
                 if (status.batch) << THIS IS TRUE WHILE EXECUTING FROM COMMAND LINE.
                    return 0;
               ...
              So, not adding test case in GA. WIll add a test case in mysql-trunk after 
              removing above code so that this could be properly tested before GA.
            ------------------------------------------------------------
            revno: 2555.926.1
            committer: Sergey Glukhov <sergey.glukhov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Wed 2011-05-18 10:47:43 +0400
            message:
              Bug#12403504 AFTER FIX FOR #11889186 : ASSERTION FAILED: DELSUM+(INT) Y/4-TEMP > 0
              There are two problems:
              1. There is a missing check for 'year' parameter(year can not be greater than 9999) in
                 makedate function. fix: added check that year can not be greater than 9999.
              2. There is a missing check for zero date in from_days() function.
                 fix: added zero date check into Item_func_from_days::get_date()
                 function.
        ------------------------------------------------------------
        revno: 2555.924.5
        committer: Guilhem Bichot <guilhem.bichot@oracle.com>
        branch nick: 5.1-2
        timestamp: Mon 2011-05-16 22:04:01 +0200
        message:
          Fix for BUG#11755168 '46895: test "outfile_loaddata" fails (reproducible)'.
          In sql_class.cc, 'row_count', of type 'ha_rows', was used as last argument for
          ER_TRUNCATED_WRONG_VALUE_FOR_FIELD which is
          "Incorrect %-.32s value: '%-.128s' for column '%.192s' at row %ld".
          So 'ha_rows' was used as 'long'.
          On SPARC32 Solaris builds, 'long' is 4 bytes and 'ha_rows' is 'longlong' i.e. 8 bytes.
          So the printf-like code was reading only the first 4 bytes.
          Because the CPU is big-endian, 1LL is 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01
          so the first four bytes yield 0. So the warning message had "row 0" instead of
          "row 1" in test outfile_loaddata.test:
          -Warning	1366	Incorrect string value: '\xE1\xE2\xF7' for column 'b' at row 1
          +Warning	1366	Incorrect string value: '\xE1\xE2\xF7' for column 'b' at row 0
          
          All error-messaging functions which internally invoke some printf-life function
          are potential candidate for such mistakes.
          One apparently easy way to catch such mistakes is to use
          ATTRIBUTE_FORMAT (from my_attribute.h).
          But this works only when call site has both:
          a) the format as a string literal
          b) the types of arguments.
          So:
            func(ER(ER_BLAH), 10);
          will silently not be checked, because ER(ER_BLAH) is not known at
          compile time (it is known at run-time, and depends on the chosen
          language).
          And
            func("%s", a va_list argument);
          has the same problem, as the *real* type of arguments is not
          known at this site at compile time (it's known in some caller).
          Moreover,
            func(ER(ER_BLAH));
          though possibly correct (if ER(ER_BLAH) has no '%' markers), will not
          compile (gcc says "error: format not a string literal and no format
          arguments").
          
          Consequences:
          1) ATTRIBUTE_FORMAT is here added only to functions which in practice
          take "string literal" formats: "my_error_reporter" and "print_admin_msg".
          2) it cannot be added to the other functions: my_error(),
          push_warning_printf(), Table_check_intact::report_error(),
          general_log_print().
          
          To do a one-time check of functions listed in (2), the following
          "static code analysis" has been done:
          1) replace
            my_error(ER_xxx, arguments for substitution in format)
          with the equivalent
            my_printf_error(ER_xxx,ER(ER_xxx), arguments for substitution in
          format),
          so that we have ER(ER_xxx) and the arguments *in the same call site*
          2) add ATTRIBUTE_FORMAT to push_warning_printf(),
          Table_check_intact::report_error(), general_log_print()
          3) replace ER(xxx) with the hard-coded English text found in
          errmsg.txt (like: ER(ER_UNKNOWN_ERROR) is replaced with
          "Unknown error"), so that a call site has the format as string literal
          4) this way, ATTRIBUTE_FORMAT can effectively do its job
          5) compile, fix errors detected by ATTRIBUTE_FORMAT
          6) revert steps 1-2-3.
          The present patch has no compiler error when submitted again to the
          static code analysis above.
          It cannot catch all problems though: see Field::set_warning(), in
          which a call to push_warning_printf() has a variable error
          (thus, not replacable by a string literal); I checked set_warning() calls
          by hand though.
          
          See also WL 5883 for one proposal to avoid such bugs from appearing
          again in the future.
          
          The issues fixed in the patch are:
          a) mismatch in types (like 'int' passed to '%ld')
          b) more arguments passed than specified in the format.
          This patch resolves mismatches by changing the type/number of arguments,
          not by changing error messages of sql/share/errmsg.txt. The latter would be wrong,
          per the following old rule: errmsg.txt must be as stable as possible; no insertions
          or deletions of messages, no changes of type or number of printf-like format specifiers,
          are allowed, as long as the change impacts a message already released in a GA version.
          If this rule is not followed:
          - Connectors, which use error message numbers, will be confused (by insertions/deletions
          of messages)
          - using errmsg.sys of MySQL 5.1.n with mysqld of MySQL 5.1.(n+1)
          could produce wrong messages or crash; such usage can easily happen if
          installing 5.1.(n+1) while /etc/my.cnf still has --language=/path/to/5.1.n/xxx;
          or if copying mysqld from 5.1.(n+1) into a 5.1.n installation.
          When fixing b), I have verified that the superfluous arguments were not used in the format
          in the first 5.1 GA (5.1.30 'bteam@astra04-20081114162938-z8mctjp6st27uobm').
          Had they been used, then passing them today, even if the message doesn't use them
          anymore, would have been necessary, as explained above.
        ------------------------------------------------------------
        revno: 2555.924.4
        committer: Vinay Fisrekar <vinay.fisrekar@oracle.com>
        branch nick: mysql-5.1
        timestamp: Sat 2011-05-14 21:44:49 +0530
        message:
          Adding bug scenario for data types in main suite
                
          Impementing Test Review Comment.
                
          Bug test scenario:      
          SELECT is not returning result set for "equal" (=) and "NULL safe equal
          operator"  (<=>) on BIT data type. Extending this scenario for all data types
        ------------------------------------------------------------
        revno: 2555.924.3 [merge]
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: merge-51
        timestamp: Fri 2011-05-13 13:04:01 +0200
        message:
          merge from 5.1-mtr
            ------------------------------------------------------------
            revno: 2555.437.231 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Thu 2011-05-12 14:08:47 +0200
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.230
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: itf-51
            timestamp: Tue 2011-05-03 16:08:25 +0200
            message:
              Bug #11752142 43247: SUITE/<SUITE NAME>/INCLUDE: NO SUCH FILE OR DIRECTORY
              The originally reported dirs have been removed
              But found suite/bugs, removed from mysql-test/Makefile.am
        ------------------------------------------------------------
        revno: 2555.924.2 [merge]
        committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
        branch nick: 51-11762799_
        timestamp: Thu 2011-05-12 05:43:53 +0100
        message:
          auto-merge
            ------------------------------------------------------------
            revno: 2555.925.2 [merge]
            committer: Serge Kozlov <Serge.Kozlov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Tue 2011-05-10 17:50:30 +0400
            message:
              automerge
            ------------------------------------------------------------
            revno: 2555.925.1
            committer: Serge Kozlov <Serge.Kozlov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Mon 2011-05-09 23:14:24 +0400
            message:
              WL#5867
              Replaced the error code by error name
        ------------------------------------------------------------
        revno: 2555.924.1 [merge]
        committer: Tatjana Azundris Nuernberg <tatjana.nuernberg@oracle.com>
        branch nick: 51-11762799_
        timestamp: Thu 2011-05-12 03:41:51 +0100
        message:
          auto-merge Bug#11762799/Bug#55436
            ------------------------------------------------------------
            revno: 2555.887.10 [merge]
            committer: Tatiana Azundris Nurnberg <azundris@sun.com>
            branch nick: 51-11762799
            timestamp: Thu 2011-05-05 06:39:38 +0100
            message:
              auto-merge conservative fix for Bug#55436/Bug#11762799
                ------------------------------------------------------------
                revno: 2555.923.1
                committer: Tatiana A. Nurnberg <azundris@mysql.com>
                branch nick: 51-55436_
                timestamp: Thu 2010-11-11 09:46:49 +0000
                message:
                  Bug#55436: buffer overflow in debug binary of dbug_buff in Field_new_decimal::store_value
                  
                  There were some misunderstandings about parameters pertaining to buffer-size.
                  
                  Patches fixes the reported off by one and
                  clarifies the documentation.
    ------------------------------------------------------------
    revno: 2555.915.10
    committer: Marko M?kel? <marko.makela@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Thu 2011-05-19 16:12:27 +0300
    message:
      Bug#12429576 Assertion failure on purge of column prefix index
    ------------------------------------------------------------
    revno: 2555.915.9 [merge]
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Tue 2011-05-10 18:12:48 +0200
    message:
      Automerge
        ------------------------------------------------------------
        revno: 2555.916.9 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.1-security
        timestamp: Tue 2011-05-10 17:12:13 +0300
        message:
          empty weave merge mysql-5.0-security->mysql-5.1-security 
            ------------------------------------------------------------
            revno: 1810.4002.16 [merge]
            tags: mysql-5.0.94, clone-5.0.94-build
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: merge-5.0-security
            timestamp: Tue 2011-05-10 16:49:13 +0300
            message:
              weave merge of 5.0->5.0-security
        ------------------------------------------------------------
        revno: 2555.916.8 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.1-security
        timestamp: Tue 2011-05-10 16:57:40 +0300
        message:
          weave merge of mysql-5.1->mysql-5.1-security
            ------------------------------------------------------------
            revno: 2555.917.32 [merge]
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: merge-5.1
            timestamp: Tue 2011-05-10 16:21:44 +0300
            message:
              weave merge mysql-5.0->mysql-5.1
                ------------------------------------------------------------
                revno: 1810.4000.22 [merge]
                committer: Sunanda Menon <sunanda.menon@oracle.com>
                branch nick: mysql-5.0
                timestamp: Fri 2011-05-06 10:36:30 +0200
                message:
                  Merge from mysql-5.0.93-release
            ------------------------------------------------------------
            revno: 2555.917.31 [merge]
            committer: Karen Langford <karen.langford@oracle.com>
            branch nick: mysql-5.1
            timestamp: Fri 2011-05-06 10:03:02 +0200
            message:
              Merge from mysql-5.1.57-release
            ------------------------------------------------------------
            revno: 2555.917.30 [merge]
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-5.1
            timestamp: Fri 2011-05-06 00:54:36 +0100
            message:
              BUG#12354268
              
              Automerged bzr bundle from bug report:
              luis.soares@oracle.com-20110505224815-6ob90n7suxsoizvs.bundle
                ------------------------------------------------------------
                revno: 2555.922.1
                committer: Luis Soares <luis.soares@oracle.com>
                branch nick: mysql-5.1
                timestamp: Thu 2011-05-05 23:48:15 +0100
                message:
                  BUG#12354268: MYSQLBINLOG --BASE64-OUTPUT=DECODE-ROWS DOES NOT
                  WORK WITH --START-POSITION
                        
                  If setting --start-position to start after the FD event, mysqlbinlog
                  will output an error stating that it has not found an FD event.
                  However, its not that mysqlbinlog does not find it but rather that it
                  does not processes it in the regular way (i.e., it does not print it).
                  Given that one is using --base64-output=DECODE-ROWS then not printing
                  it is actually fine.
                        
                  To fix this, we make mysqlbinlog not to complain when it has not
                  printed the FD event, is outputing in base64, but is decoding the
                  rows.
            ------------------------------------------------------------
            revno: 2555.917.29
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-5.1
            timestamp: Fri 2011-05-06 00:46:53 +0100
            message:
              BUG#11762616: BUG#55229: 'POSTION' 
                          
              Fix for all "postion" in Oracle files (s/postion/position). 
              Updated the copyright notices where needed.
            ------------------------------------------------------------
            revno: 2555.917.28
            committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
            branch nick: mysql-5.1
            timestamp: Wed 2011-05-04 16:59:24 +0400
            message:
              Patch for Bug#12394306: the sever may crash if mysql.event is corrupted.
              
              The problem was that wrong structure of mysql.event was not detected and
              the server continued to use wrongly-structured data.
              
              The fix is to check the structure of mysql.event after opening before
              any use. That makes operations with events more strict -- some operations
              that might work before throw errors now. That seems to be Ok.
              
              Another side-effect of the patch is that if mysql.event is corrupted,
              unrelated DROP DATABASE statements issue an SQL warning about inability
              to open mysql.event table. 
            ------------------------------------------------------------
            revno: 2555.917.27
            committer: Kent Boortz <kent.boortz@oracle.com>
            branch nick: mysql-5.1
            timestamp: Tue 2011-05-03 16:02:31 +0200
            message:
              Remove soft links in the build directory, not the source directory (Bug#43312)
            ------------------------------------------------------------
            revno: 2555.917.26 [merge]
            committer: Vasil Dimov <vasil.dimov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Mon 2011-05-02 12:49:19 +0300
            message:
              Merge mysql-5.1-innodb -> mysql-5.1
                ------------------------------------------------------------
                revno: 2555.738.363
                committer: Vasil Dimov <vasil.dimov@oracle.com>
                branch nick: mysql-5.1-innodb
                timestamp: Fri 2011-04-29 14:04:28 +0300
                message:
                  Sync 5.1 .inc file with 5.5 due to a missing changeset
                  
                  Add extra codes to wait_until_disconnected.inc that are present in 5.5,
                  but not in 5.1. The missing codes cause innodb_bug59641 to fail in 5.1 on
                  Windows PB2 runs. The addition of those codes in 5.5 was done in
                  luis.soares@sun.com-20090930233215-aup3kxy4j6ltvjfp
                ------------------------------------------------------------
                revno: 2555.738.362 [merge]
                committer: Vasil Dimov <vasil.dimov@oracle.com>
                branch nick: mysql-5.1-innodb
                timestamp: Thu 2011-04-21 11:08:05 +0300
                message:
                  Merge mysql-5.1 -> mysql-5.1-innodb
                ------------------------------------------------------------
                revno: 2555.738.361
                committer: Marko M?kel? <marko.makela@oracle.com>
                branch nick: 5.1-innodb
                timestamp: Mon 2011-04-11 16:40:28 +0300
                message:
                  Bug #11760042 - 52409: Assertion failure: long semaphore wait
                  
                  In ha_innobase::create(), we check some things while holding an
                  exclusive lock on the data dictionary. Defer the locking and the
                  creation of transactions until after the checks have passed. The
                  THDVAR could hang due to a mutex wait (see Bug #11750569 - 41163:
                  deadlock in mysqld: LOCK_global_system_variables and LOCK_open), and
                  we want to avoid waiting while holding InnoDB mutexes.
                  
                  innobase_index_name_is_reserved(): Replace the parameter trx_t with
                  THD, so that the test can be performed before starting an InnoDB
                  transaction. We only needed trx->mysql_thd.
                  
                  ha_innobase::create(): Create transaction and lock the data dictionary
                  only after passing the basic tests.
                  
                  create_table_def(): Move the IS_MAGIC_TABLE_AND_USER_DENIED_ACCESS
                  check to ha_innobase::create(). Assign to srv_lower_case_table_names
                  while holding dict_sys->mutex.
                  
                  ha_innobase::delete_table(), ha_innobase::rename_table(),
                  innobase_rename_table(): Assign srv_lower_case_table_names as late as
                  possible. Here, the variable is not necessarily protected by
                  dict_sys->mutex.
                  
                  ha_innobase::add_index(): Invoke innobase_index_name_is_reserved() and
                  innobase_check_index_keys() before allocating anything.
                  
                  rb:618 approved by Jimmy Yang
                ------------------------------------------------------------
                revno: 2555.738.360
                committer: Marko M?kel? <marko.makela@oracle.com>
                branch nick: 5.1-innodb
                timestamp: Thu 2011-04-07 21:12:54 +0300
                message:
                  Bug #11766513 - 59641: Prepared XA transaction in system after hard crash
                  causes future shutdown hang
                  
                  InnoDB would hang on shutdown if any XA transactions exist in the
                  system in the PREPARED state. This has been masked by the fact that
                  MySQL would roll back any PREPARED transaction on shutdown, in the
                  spirit of Bug #12161 Xa recovery and client disconnection.
                  
                  [mysql-test-run] do_shutdown_server: Interpret --shutdown_server 0 as
                  a request to kill the server immediately without initiating a
                  shutdown procedure.
                  
                  xid_cache_insert(): Initialize XID_STATE::rm_error in order to avoid a
                  bogus error message on XA ROLLBACK of a recovered PREPARED transaction.
                  
                  innobase_commit_by_xid(), innobase_rollback_by_xid(): Free the InnoDB
                  transaction object after rolling back a PREPARED transaction.
                  
                  trx_get_trx_by_xid(): Only consider transactions whose
                  trx->is_prepared flag is set. The MySQL layer seems to prevent
                  attempts to roll back connected transactions that are in the PREPARED
                  state from another connection, but it is better to play it safe. The
                  is_prepared flag was introduced in the InnoDB Plugin.
                  
                  trx_n_prepared: A new counter, counting the number of InnoDB
                  transactions in the PREPARED state.
                  
                  logs_empty_and_mark_files_at_shutdown(): On shutdown, allow
                  trx_n_prepared transactions to exist in the system.
                  
                  trx_undo_free_prepared(), trx_free_prepared(): New functions, to free
                  the memory objects of PREPARED transactions on shutdown. This is not
                  needed in the built-in InnoDB, because it would collect all allocated
                  memory on shutdown. The InnoDB Plugin needs this because of
                  innodb_use_sys_malloc.
                  
                  trx_sys_close(): Invoke trx_free_prepared() on all remaining
                  transactions.
                ------------------------------------------------------------
                revno: 2555.738.359
                committer: Vasil Dimov <vasil.dimov@oracle.com>
                branch nick: mysql-5.1-innodb
                timestamp: Wed 2011-04-06 14:38:24 +0300
                message:
                  Load the innodb plugin instead of builtin in innodb_plugin.innodb_bug59410
                  
                  Spotted by:	Marko
                ------------------------------------------------------------
                revno: 2555.738.358
                committer: Vasil Dimov <vasil.dimov@oracle.com>
                branch nick: mysql-5.1-innodb
                timestamp: Tue 2011-04-05 11:20:20 +0300
                message:
                  Add the testcase for Bug#59410 to 5.1/InnoDB Plugin
                  
                  Bug#59410 read uncommitted: unlock row could not find a 3 mode lock
                  on the record
                  
                  This bug is present only in 5.6 but I am adding the test case to earlier
                  versions to ensure it never appears in earlier versions too.
                ------------------------------------------------------------
                revno: 2555.738.357
                committer: Vasil Dimov <vasil.dimov@oracle.com>
                branch nick: mysql-5.1-innodb
                timestamp: Tue 2011-04-05 11:08:36 +0300
                message:
                  Add the testcase for Bug#59410 to 5.1/builtin
                  
                  Bug#59410 read uncommitted: unlock row could not find a 3 mode lock
                  on the record
                  
                  This bug is present only in 5.6 but I am adding the test case to earlier
                  versions to ensure it never appears in earlier versions too.
                ------------------------------------------------------------
                revno: 2555.738.356 [merge]
                committer: Vasil Dimov <vasil.dimov@oracle.com>
                branch nick: mysql-5.1-innodb
                timestamp: Mon 2011-04-04 09:24:55 +0300
                message:
                  Merge mysql-5.1 -> mysql-5.1-innodb
            ------------------------------------------------------------
            revno: 2555.917.25
            committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
            branch nick: mysql-5.1.49967
            timestamp: Fri 2011-04-29 18:52:46 +0530
            message:
              Bug#11757855 - 49967: built-in libedit doesn't read
                                    .editrc on linux.
              
              MySQL client when build with libedit support ignores
              .editrc at startup.
              
              The reason for this regression was the incluison of a
              safety check, issetugid(), which is not available on
              some linux platforms.
              
              Fixed by adding an equivalent check for platforms which
              have get[e][u|g]id() set of functions.
            ------------------------------------------------------------
            revno: 2555.917.24 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Fri 2011-04-29 13:48:57 +0200
            message:
              merge from 5.1-mtr
                ------------------------------------------------------------
                revno: 2555.437.229 [merge]
                committer: Bjorn Munch <bjorn.munch@oracle.com>
                branch nick: merge-51
                timestamp: Fri 2011-04-29 10:55:08 +0200
                message:
                  merge from 5.1 main
                ------------------------------------------------------------
                revno: 2555.437.228
                committer: Bjorn Munch <bjorn.munch@oracle.com>
                branch nick: kill-51
                timestamp: Wed 2011-04-20 14:58:53 +0200
                message:
                  Bug #12379923 60907: MYSQL-TEST/LIB/MY/SAFEPROCESS/SAFE_PROCESS.PL USES HARDCODED SIGNAL NUMBE
                  Replaced the hardcoded 9 with 'KILL'
                ------------------------------------------------------------
                revno: 2555.437.227
                committer: Bjorn Munch <bjorn.munch@oracle.com>
                branch nick: dbgwrn-51
                timestamp: Mon 2011-04-18 15:35:14 +0200
                message:
                  Bug #12365486 MTR FAILS TO FIND WARNINGS IN SERVER LOG WITH --VALGRIND COMBINED WITH --DEBUG
                  With this combination, outoput was directed to .trace but not all
                        parts of MTR was aware of this.
                  Replace .err with .trace at the earliest possible place
            ------------------------------------------------------------
            revno: 2555.917.23
            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
            branch nick: topush-5.1
            timestamp: Fri 2011-04-29 09:48:26 +0200
            message:
              removed dead obsolete code
            ------------------------------------------------------------
            revno: 2555.917.22
            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
            branch nick: topush-5.1
            timestamp: Wed 2011-04-27 17:51:06 +0200
            message:
              Post push fix for bug#11766249 bug#59316
              
              Partitions can have different ref_length (position data length).
              Removed DBUG_ASSERT which crashed debug builds when using
              MAX_ROWS on some partitions.
            ------------------------------------------------------------
            revno: 2555.917.21
            committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
            branch nick: mysql-5.1.12329909
            timestamp: Wed 2011-04-27 17:24:10 +0530
            message:
              BUG#12329909 - BUILDING MYSQL WITH DEBUG SUPPORT
                             FAILS WITH LIBEDIT
              
              Fixed by checking the return value of the write()
              function calls and handling the open files and fd
              appropriately.
            ------------------------------------------------------------
            revno: 2555.917.20
            committer: Sergey Glukhov <sergey.glukhov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Wed 2011-04-27 11:35:57 +0400
            message:
              Bug#11889186  60503: CRASH IN MAKE_DATE_TIME WITH DATE_FORMAT / STR_TO_DATE COMBINATION
              calc_daynr() function returns negative result
              if malformed date with zero year and month is used.
              Attempt to calculate week day on negative value
              leads to crash. The fix is return NULL for
              'W', 'a', 'w' specifiers if zero year and month is used.
              Additional fix for calc_daynr():
              --added assertion that result can not be negative
              --return 0 if zero year and month is used
            ------------------------------------------------------------
            revno: 2555.917.19 [merge]
            committer: Guilhem Bichot <guilhem.bichot@oracle.com>
            branch nick: mysql-5.1
            timestamp: Tue 2011-04-26 13:06:44 +0200
            message:
              merge from 5.1
                ------------------------------------------------------------
                revno: 2555.921.2 [merge]
                committer: Mattias Jonsson <mattias.jonsson@oracle.com>
                branch nick: topush-5.1
                timestamp: Tue 2011-04-26 12:07:14 +0200
                message:
                  merge
                ------------------------------------------------------------
                revno: 2555.921.1
                committer: Mattias Jonsson <mattias.jonsson@oracle.com>
                branch nick: topush-5.1
                timestamp: Tue 2011-04-26 10:21:09 +0200
                message:
                  post fix for werror build for bug#11766249.
            ------------------------------------------------------------
            revno: 2555.917.18
            committer: Guilhem Bichot <guilhem.bichot@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-04-07 15:09:19 +0200
            message:
              Fix for Bug#11765141 - "58072: LOAD DATA INFILE: LEAKS IO CACHE MEMORY WHEN ERROR OCCURS"
            ------------------------------------------------------------
            revno: 2555.917.17
            committer: Serge Kozlov <Serge.Kozlov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Mon 2011-04-25 23:49:56 +0400
            message:
              BUG#12371924. Fxi test case
            ------------------------------------------------------------
            revno: 2555.917.16 [merge]
            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
            branch nick: topush-5.1
            timestamp: Sat 2011-04-23 16:57:24 +0200
            message:
              merge
                ------------------------------------------------------------
                revno: 2555.920.1 [merge]
                committer: Mattias Jonsson <mattias.jonsson@oracle.com>
                branch nick: topush-5.1_2
                timestamp: Wed 2011-04-20 18:10:15 +0200
                message:
                  merge
                    ------------------------------------------------------------
                    revno: 2555.919.1 [merge]
                    committer: Mattias Jonsson <mattias.jonsson@oracle.com>
                    branch nick: topush-5.1
                    timestamp: Wed 2011-04-20 18:00:50 +0200
                    message:
                      merge
                        ------------------------------------------------------------
                        revno: 2555.918.2
                        committer: Mattias Jonsson <mattias.jonsson@oracle.com>
                        branch nick: b59316-5.1
                        timestamp: Wed 2011-04-20 17:52:33 +0200
                        message:
                          Bug#11766249 bug#59316: PARTITIONING AND INDEX_MERGE MEMORY LEAK
                          
                          Update for previous patch according to reviewers comments.
                          
                          Updated the constructors for ha_partitions to use the common
                          init_handler_variables functions
                          
                          Added use of defines for size and offset to get better readability for the code that reads
                          and writes the .par file. Also refactored the get_from_handler_file function.
                        ------------------------------------------------------------
                        revno: 2555.918.1
                        committer: Mattias Jonsson <mattias.jonsson@oracle.com>
                        branch nick: b59316-5.1
                        timestamp: Fri 2011-03-25 12:36:02 +0100
                        message:
                          Bug#11766249 bug#59316: PARTITIONING AND INDEX_MERGE MEMORY LEAK
                          
                          When executing row-ordered-retrieval index merge,
                          the handler was cloned, but it used the wrong
                          memory root, so instead of allocating memory
                          on the thread/query's mem_root, it used the table's
                          mem_root, resulting in non released memory in the
                          table object, and was not freed until the table was
                          closed.
                          
                          Solution was to ensure that memory used during cloning
                          of a handler was allocated from the correct memory root.
                          
                          This was implemented by fixing handler::clone() to also
                          take a name argument, so it can be used with partitioning.
                          And in ha_partition only allocate the ha_partition's ref, and
                          call the original ha_partition partitions clone() and set at cloned
                          partitions.
                          
                          Fix of .bzrignore on Windows with VS 2010
            ------------------------------------------------------------
            revno: 2555.917.15
            committer: Sergey Glukhov <sergey.glukhov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Fri 2011-04-22 11:20:55 +0400
            message:
              Bug#11756928  48916: SERVER INCORRECTLY PROCESSING HAVING CLAUSES WITH AN ORDER BY CLAUSE
              Before sorting HAVING condition is split into two parts,
              first part is a table related condition and the rest of is
              HAVING part. Extraction of HAVING part does not take into account
              the fact that some of conditions might be non-const but
              have 'used_tables' == 0 (independent subqueries)
              and because of that these conditions are cut off by
              make_cond_for_table() function.
              The fix is to use (table_map) 0 instead of used_tables in
              third argument for make_cond_for_table() function.
              It allows to extract elements which belong to sorted
              table and in addition elements which are independend
              subqueries.
            ------------------------------------------------------------
            revno: 2555.917.14
            committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
            branch nick: mysql-5.1-bug12377872
            timestamp: Wed 2011-04-20 11:32:28 +0200
            message:
              BUG#12377872 ASSERTION FAILED: !_ENTERED WHEN GETHOSTBYADDR_R
                           FAILS ON SOLARIS
              
              This assertion was triggered if gethostbyaddr_r cannot do a
              reverse lookup on an ip address. The reason was a missing
              DBUG_RETURN macro. The problem affected only debug versions of
              the server.
              
              This patch fixes the problem by replacing return with DBUG_RETURN.
              No test case added.
            ------------------------------------------------------------
            revno: 2555.917.13
            committer: Sergey Glukhov <sergey.glukhov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Wed 2011-04-20 11:39:20 +0400
            message:
              Bug#11765923  58937: MANY VALGRIND ERRORS AFTER GROUPING BY RESULT OF DECIMAL COLUMN FUNCTION
              Bug#11764671  57533: UNINITIALISED VALUES IN COPY_AND_CONVERT (SQL_STRING.CC) WITH CERTAIN CHA
              When ROUND evaluates decimal result it uses Item::decimal
              value as fraction value for the result. In some cases
              Item::decimal is greater than real result fraction value
              and uninitialised memory of result(decimal) buffer can be
              used in further calculations. Issue is introduced by
              Bug33143 fix. The fix is to remove erroneous assignment.
            ------------------------------------------------------------
            revno: 2555.917.12
            committer: Serge Kozlov <Serge.Kozlov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Mon 2011-04-18 23:59:15 +0400
            message:
              BUG#12371924
              Update test case
            ------------------------------------------------------------
            revno: 2555.917.11
            committer: Sven Sandberg <sven.sandberg@oracle.com>
            branch nick: 5.1
            timestamp: Mon 2011-04-18 14:42:14 +0200
            message:
              test fails on more platforms, removed @freebsd from default.experimental.
            ------------------------------------------------------------
            revno: 2555.917.10
            committer: Martin Hansson <martin.hansson@oracle.com>
            branch nick: mysql-5.1
            timestamp: Mon 2011-04-18 10:44:41 +0200
            message:
              Bug 11758558 - 50774: WRONG RESULTSET WHEN TIMESTAMP VALUES ARE APPENDED WITH
              .0
              
              The bug was fixed by the patch for bug number BUG 11763109 - 55779: SELECT
              DOES NOT WORK PROPERLY IN MYSQL SERVER VERSION "5.1.42 SUSE MYSQL (Exact same
              fix as was proposed for this bug.) Since the motivation for the two bug
              reports was completely different, however, it still makes sense to push the
              test case.
              
              This patch contains only the test case.
            ------------------------------------------------------------
            revno: 2555.917.9 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Sat 2011-04-16 16:46:51 +0200
            message:
              merge from 5.1-mtr
                ------------------------------------------------------------
                revno: 2555.437.226 [merge]
                committer: Bjorn Munch <bjorn.munch@oracle.com>
                branch nick: merge-51
                timestamp: Fri 2011-04-15 15:51:31 +0200
                message:
                  merge from 5.1 main
                ------------------------------------------------------------
                revno: 2555.437.225
                committer: Bjorn Munch <bjorn.munch@oracle.com>
                branch nick: vsconf-51
                timestamp: Fri 2011-04-15 10:30:52 +0200
                message:
                  Bug #12360195 MTR DOES NOT IGNORE TABS IN EXPERIMENTAL FILE
                  Instead of just filtering space, filter white space (\s)
                  I left the default.experimental file as is, with tabs.
                ------------------------------------------------------------
                revno: 2555.437.224
                committer: Bjorn Munch <bjorn.munch@oracle.com>
                branch nick: vsconf-51
                timestamp: Thu 2011-04-14 16:17:58 +0200
                message:
                  Bug #12351213 MTR --VS-CONFIG DOES NOT WORK LIKE MTR_VS_CONFIG
                  Fix for --vs-config applied
                  Find.pm incorrectly tested an unitialized local variable instead
                    of the global, corrected.
                  Find.pm is also wrong in 5.5: uses a non-existent global variable. Fix when
                    merging up.
            ------------------------------------------------------------
            revno: 2555.917.8
            committer: Sergey Glukhov <sergey.glukhov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Fri 2011-04-15 12:51:34 +0400
            message:
              Bug#11765139  58069: LOAD DATA INFILE: VALGRIND REPORTS INVALID MEMORY READS AND WRITES WITH U
              Some multibyte sequences could be considered by my_mbcharlen() functions
              as multibyte character but more exact my_ismbchar() does not think so.
              In such a case this multibyte sequences is pushed into 'stack' buffer which
              is too small to accommodate the sequence.
              The fix is to allocate stack buffer in
              compliance with max character length.
            ------------------------------------------------------------
            revno: 2555.917.7
            committer: Tor Didriksen <tor.didriksen@oracle.com>
            branch nick: 5.1-foo
            timestamp: Thu 2011-04-14 16:35:24 +0200
            message:
              Bug#11765713 58705: OPTIMIZER LET ENGINE DEPEND ON UNINITIALIZED VALUES CREATED BY OPT_SUM_QU
              
              Valgrind warnings were caused by comparing index values to an un-initialized field.
            ------------------------------------------------------------
            revno: 2555.917.6
            committer: Serge Kozlov <Serge.Kozlov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-04-14 15:24:11 +0400
            message:
              WL#5867, postfix for binlog_bug23533
            ------------------------------------------------------------
            revno: 2555.917.5
            committer: Sergey Glukhov <sergey.glukhov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-04-14 12:11:57 +0400
            message:
              Bug#11756242  48137: PROCEDURE ANALYSE() LEAKS MEMORY WHEN RETURNING NULL
              There are two problems with ANALYSE():
              
              1. Memory leak 
                 it happens because do_select() can overwrite
                 JOIN::procedure field(with zero value in our case) and
                 JOIN destructor don't free the memory allocated for
                 JOIN::procedure. The fix is to save original JOIN::procedure
                 before do_select() call and restore it after do_select
                 execution.
              
              2. Wrong result
                 If ANALYSE() procedure is used for the statement with LIMIT clause
                 it could retrun empty result set. It happens because of missing 
                 analyse::end_of_records() call. First end_send() function call
                 returns NESTED_LOOP_QUERY_LIMIT and second call of end_send() with
                 end_of_records flag enabled does not happen. The fix is to return
                 NESTED_LOOP_OK from end_send() if procedure is active.
            ------------------------------------------------------------
            revno: 2555.917.4
            committer: Serge Kozlov <Serge.Kozlov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-04-14 00:18:08 +0400
            message:
              WL#5867, reorganize test cases of bugs suite
            ------------------------------------------------------------
            revno: 2555.917.3
            committer: Sven Sandberg <sven.sandberg@oracle.com>
            branch nick: 5.1
            timestamp: Tue 2011-04-12 13:14:49 +0200
            message:
              marked rpl_stop_slave experimental due to BUG#12345981
            ------------------------------------------------------------
            revno: 2555.917.2
            committer: Sergey Glukhov <sergey.glukhov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Tue 2011-04-12 14:01:33 +0400
            message:
              Bug#11766270 59343: YEAR(4): INCORRECT RESULT AND VALGRIND WARNINGS WITH MIN/MAX, UNION
              When we create temporary result table for UNION
              incorrect max_length for YEAR field is used and
              it leads to incorrect field value and incorrect
              result string length as YEAR field value calculation
              depends on field length.
              The fix is to use underlying item max_length for
              Item_sum_hybrid::max_length intialization.
            ------------------------------------------------------------
            revno: 2555.917.1
            committer: Sergey Glukhov <sergey.glukhov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Tue 2011-04-12 13:51:36 +0400
            message:
              Bug#11766212  59270: NOT IN (YEAR( ... ), ... ) PRODUCES MANY VALGRIND WARNINGS
              Valgrind warning happens due to early null values check
              in Item_func_in::fix_length_and_dec(before item evaluation).
              As result null value items with uninitialized values are
              placed into array and it leads to valgrind warnings during
              value array sorting.
              The fix is to check null value after item evaluation, item
              is evaluated in in_array::set() method.
        ------------------------------------------------------------
        revno: 2555.916.7 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: fix-5.1-security
        timestamp: Thu 2011-05-05 12:15:35 +0300
        message:
          null-merge of mysql-5.0-security
            ------------------------------------------------------------
            revno: 1810.4002.15
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: fix-5.0-security
            timestamp: Thu 2011-05-05 12:10:49 +0300
            message:
              Addendum 3 for bug #BUG#11764517 : expand secure_file_priv to the real
              patch so that it can later be compared with patchs with expanded symlinks 
        ------------------------------------------------------------
        revno: 2555.916.6 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: fix-5.1-security
        timestamp: Thu 2011-05-05 10:55:38 +0300
        message:
          null merge to 5.1-security
            ------------------------------------------------------------
            revno: 1810.4002.14
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: fix-5.0-security
            timestamp: Wed 2011-05-04 19:23:23 +0300
            message:
              Addendum to bug #11764517 : don't create links for --mem directory, move the --vardir instead.
              
              The new --secure-file-priv checks dereference any symlinks in the paths and compare the 
              resolved paths.
              Thus the 5.0 test suite must do as the 5.1 and up and avoid using symlinks.
        ------------------------------------------------------------
        revno: 2555.916.5 [merge]
        committer: Tor Didriksen <tor.didriksen@oracle.com>
        branch nick: 5.1-security
        timestamp: Wed 2011-05-04 17:12:45 +0200
        message:
          merge 5.0 => 5.1 : Bug#12329653
            ------------------------------------------------------------
            revno: 1810.4002.13
            committer: Tor Didriksen <tor.didriksen@oracle.com>
            branch nick: 5.0-security
            timestamp: Wed 2011-05-04 16:18:21 +0200
            message:
              Bug#12329653 - EXPLAIN, UNION, PREPARED STATEMENT, CRASH, SQL_FULL_GROUP_BY
              
              The query was re-written *after* we had tagged it with NON_AGG_FIELD_USED.
              Remove the flag before continuing.
        ------------------------------------------------------------
        revno: 2555.916.4 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: B11764517-5.1-security
        timestamp: Wed 2011-05-04 15:49:30 +0300
        message:
          merge mysql-5.0-security->mysql-5.1-security
            ------------------------------------------------------------
            revno: 1810.4002.12
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: B11764517-5.0-security
            timestamp: Wed 2011-05-04 15:47:29 +0300
            message:
              Addendum to the fix for bug #11764517 : replaced an absolute path.
        ------------------------------------------------------------
        revno: 2555.916.3 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: B11764517-5.1-security
        timestamp: Wed 2011-05-04 14:29:23 +0300
        message:
          Merged 5.0-security->5.1-security
            ------------------------------------------------------------
            revno: 1810.4002.11
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: B11764517-5.0-security
            timestamp: Thu 2011-04-28 12:22:41 +0300
            message:
              Bug #11764517: 57359: POSSIBLE TO CIRCUMVENT SECURE_FILE_PRIV 
                USING '..' ON WINDOWS
              
              Backport of the fix to 5.0 (to be null-merged to 5.1).
              Moved the test into the main test suite. 
              Made mysql-test-run.pl to not use symlinks for sdtdata as the symlinks
              are now properly recognized by secure_file_priv.
              Made sure the paths in load_file(), LOAD DATA and SELECT .. INTO OUTFILE 
              that are checked against secure_file_priv in a correct way similarly to 5.1 
              by the extended is_secure_file_path() backport before the comparison.
              Added an extensive test with all the variants of upper/lower case, 
              slash/backslash and case sensitivity.
              Added few comments to the code.
        ------------------------------------------------------------
        revno: 2555.916.2 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: B11810224-5.1-security
        timestamp: Mon 2011-04-18 17:14:34 +0300
        message:
          Bug #11810224: CORRECT INVALID LGPL NOTICE IN CLUSTER FILES 
          
          The 5.1 part of the of the fix.
            ------------------------------------------------------------
            revno: 1810.4002.10
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: B11810224-5.0-security
            timestamp: Mon 2011-04-18 17:04:01 +0300
            message:
              Bug #11810224: CORRECT INVALID LGPL NOTICE IN CLUSTER FILES
              
              The 5.0 fix. Removed unreferenced files and the directory 
              that has them.
        ------------------------------------------------------------
        revno: 2555.916.1 [merge]
        committer: Mattias Jonsson <mattias.jonsson@oracle.com>
        branch nick: topush-5.1-sec
        timestamp: Fri 2011-04-15 13:49:52 +0200
        message:
          merge
            ------------------------------------------------------------
            revno: 2555.911.38
            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
            branch nick: b11867664-51
            timestamp: Mon 2011-04-11 18:09:23 +0200
            message:
              backport of Bug#11867664 from mysql-5.5
              
               3381 Mattias Jonsson	2011-03-18
                    Bug#11867664:  SERVER CRASHES ON UPDATE WITH JOIN ON PARTITIONED TABLE
                    
                    Regression from bug#11766232.
                    m_last_part could be set beyond the last partition.
                    Fixed by only setting it if within the limit.
                    Also added check in print_error.
            ------------------------------------------------------------
            revno: 2555.911.37
            committer: Sven Sandberg <sven.sandberg@oracle.com>
            branch nick: 5.1
            timestamp: Mon 2011-04-11 16:01:46 +0200
            message:
              corrected bug reference for experimental test
    ------------------------------------------------------------
    revno: 2555.915.8
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Mon 2011-05-09 12:57:17 +0200
    message:
      bug#10064164
      Certain fields in the protcol required a strict formatting. If
      off bound values were sent to the server this could under some
      circumstances lead to a crash on the Windows platform.
    ------------------------------------------------------------
    revno: 2555.915.7 [merge]
    committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Wed 2011-04-13 09:57:16 +0200
    message:
      Merge from mysql-5.0-security to mysql-5.1-security
      Text conflict in mysql-test/r/sp-security.result
        ------------------------------------------------------------
        revno: 1810.4002.9
        committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
        branch nick: mysql-5.0-security
        timestamp: Wed 2011-04-13 09:54:51 +0200
        message:
          Bug#11882603 SELECT_ACL ON ANY COLUMN IN MYSQL.PROC ALLOWS TO SEE
                       DEFINITION OF ANY ROUTINE.
          
          This follow-up patch removes SHOW PROCEDURE CODE from the test
          case as this command is only available on debug versions of the
          server and therefore caused the test to fail on release builds.
    ------------------------------------------------------------
    revno: 2555.915.6 [merge]
    committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Mon 2011-04-11 12:38:03 +0200
    message:
      Merge from mysql-5.0-security to mysql-5.1-security
      Text conflict in sql/sp_head.cc
        ------------------------------------------------------------
        revno: 1810.4002.8
        committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
        branch nick: mysql-5.0-security-bug11882603
        timestamp: Mon 2011-04-11 12:24:50 +0200
        message:
          Bug#11882603 SELECT_ACL ON ANY COLUMN IN MYSQL.PROC ALLOWS TO SEE
                       DEFINITION OF ANY ROUTINE.
          
          The problem was that having the SELECT privilege any column of the
          mysql.proc table by mistake allowed the user to see the definition
          of all routines (using SHOW CREATE PROCEDURE/FUNCTION and SHOW
          PROCEDURE/FUNCTION CODE).
          
          This patch fixes the problem by making sure that those commands
          are only allowed if the user has the SELECT privilege on the
          mysql.proc table itself.
          
          Test case added to sp-security.test.
    ------------------------------------------------------------
    revno: 2555.915.5 [merge]
    committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Mon 2011-04-11 14:06:20 +0400
    message:
      Empty-merge from mysql-5.0-security.
        ------------------------------------------------------------
        revno: 1810.4002.7 [merge]
        committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
        branch nick: mysql-5.0-security
        timestamp: Mon 2011-04-11 14:05:08 +0400
        message:
          Empty merge from mysql-5.0.
    ------------------------------------------------------------
    revno: 2555.915.4 [merge]
    committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Mon 2011-04-11 14:05:56 +0400
    message:
      Empty-merge from mysql-5.1.
        ------------------------------------------------------------
        revno: 2555.911.36 [merge]
        committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-04-11 13:58:44 +0400
        message:
          Null-merge from mysql-5.0.
            ------------------------------------------------------------
            revno: 1810.4000.21
            committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
            branch nick: mysql-5.0
            timestamp: Mon 2011-04-11 13:57:45 +0400
            message:
              Bump NDB-version.
    ------------------------------------------------------------
    revno: 2555.915.3 [merge]
    committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Mon 2011-04-11 13:55:04 +0400
    message:
      Null-merge from mysql-5.0-security.
        ------------------------------------------------------------
        revno: 1810.4002.6 [merge]
        committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
        branch nick: mysql-5.0-security
        timestamp: Mon 2011-04-11 13:51:02 +0400
        message:
          Empty merge from mysql-5.0 (bump the version).
        ------------------------------------------------------------
        revno: 1810.4002.5
        committer: Sunanda Menon <sunanda.menon@oracle.com>
        branch nick: mysql-5.0-security
        timestamp: Mon 2011-04-11 09:27:07 +0200
        message:
          Raise version number after cloning 5.0.93
    ------------------------------------------------------------
    revno: 2555.915.2 [merge]
    committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Mon 2011-04-11 13:51:27 +0400
    message:
      Empty merge from mysql-5.1 (bump the version).
        ------------------------------------------------------------
        revno: 2555.911.35 [merge]
        committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-04-11 13:47:15 +0400
        message:
          Merge from mysql-5.0 (bump the version).
            ------------------------------------------------------------
            revno: 1810.4000.20
            committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
            branch nick: mysql-5.0
            timestamp: Mon 2011-04-11 13:45:41 +0400
            message:
              Bump version.
    ------------------------------------------------------------
    revno: 2555.915.1
    committer: Karen Langford <karen.langford@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Sun 2011-04-10 23:58:04 +0200
    message:
      Raise version number after cloning 5.1.57
------------------------------------------------------------
revno: 3463 [merge]
committer: jonas oreland <jonas.oreland@oracle.com>
branch nick: telco-6.3
timestamp: Mon 2012-02-13 10:39:05 +0100
message:
  ndb - merge 5.1.57 into 6.3
    ------------------------------------------------------------
    revno: 2555.907.13
    tags: mysql-5.1.57
    author: karen.langford@oracle.com
    committer: Karen Langford <karen.langford@oracle.com>
    branch nick: mysql-5.1.57-release
    timestamp: Tue 2011-04-12 01:36:38 +0200
    message:
      Bug#11867664: Fix server crashes on update with join on partitioned table.
    ------------------------------------------------------------
    revno: 2555.907.12 [merge]
    tags: clone-5.1.57-build
    committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Fri 2011-04-08 14:49:41 +0400
    message:
      Auto-merge from mysql-5.1.
        ------------------------------------------------------------
        revno: 2555.911.34
        committer: Gleb Shchepa <gleb.shchepa@oracle.com>
        branch nick: bug11829681-5.1
        timestamp: Fri 2011-04-08 12:05:20 +0400
        message:
          Bug #11829681 - 60295: ERROR 1356 ON VIEW THAT EXECUTES FINE AS A QUERY
          
          Select from a view with the underlying HAVING clause failed with a
          message: "1356: View '...' references invalid table(s) or column(s)
          or function(s) or definer/invoker of view lack rights to use them"
          
          The bug is a regression of the fix for bug 11750328 - 40825 (similar
          case, but the HAVING cause references an aliased field).
          In the old fix for bug 40825 the Item_field::name_length value has
          been used in place of the real length of Item_field::name. However,
          in some cases Item_field::name_length is not in sync with the
          actual name length (TODO: combine name and name_length into a
          solid String field).
          
          The Item_ref::print() method has been modified to calculate actual
          name length every time.
        ------------------------------------------------------------
        revno: 2555.911.33
        committer: Nirbhay Choubey <nirbhay.choubey@oracle.com>
        branch nick: mysql-5.1.58090
        timestamp: Fri 2011-04-08 12:22:44 +0530
        message:
          Bug#11765157 - 58090: mysqlslap drops schema specified in
                         create_schema if auto-generate-sql also set.
          
          mysqlslap uses a schema to run its tests on and later
          drops it if auto-generate-sql is used. This can be a
          problem, if the schema is an already existing one.
          
          If create-schema is used with auto-generate-sql option,
          mysqlslap while performing the cleanup, drops the specified
          database.
          
          Fixed by introducing an option --no-drop, which, if used,
          will prevent the dropping of schema at the end of the test.
        ------------------------------------------------------------
        revno: 2555.911.32 [merge]
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: merge-51
        timestamp: Thu 2011-04-07 13:15:24 +0200
        message:
          merge from 5.1-mtr
            ------------------------------------------------------------
            revno: 2555.437.223 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Tue 2011-04-05 15:02:01 +0200
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.222
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: supp-51
            timestamp: Thu 2011-03-31 15:48:05 +0200
            message:
              One more test suppression for rpl_extra_col_master tests
            ------------------------------------------------------------
            revno: 2555.437.221 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: supp-51
            timestamp: Thu 2011-03-31 11:22:54 +0200
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.220
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: supp-51
            timestamp: Thu 2011-03-31 10:33:07 +0200
            message:
              Small followup fix after MTR warning cleanup
            ------------------------------------------------------------
            revno: 2555.437.219
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: supp-51
            timestamp: Wed 2011-03-30 14:33:53 +0200
            message:
              mtr: cleaned up some superfluos global warning suppressions
    ------------------------------------------------------------
    revno: 2555.907.11
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Thu 2011-04-07 14:44:26 +0300
    message:
      fixed a missing warning
    ------------------------------------------------------------
    revno: 2555.907.10 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Thu 2011-04-07 12:31:25 +0300
    message:
      merge mysql-5.0-security->mysql-5.1-security
        ------------------------------------------------------------
        revno: 1810.4002.4 [merge]
        tags: mysql-5.0.93, clone-5.0.93-build
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.0-security
        timestamp: Thu 2011-04-07 12:17:36 +0300
        message:
          merge mysql-5.0->mysql-5.0-security
    ------------------------------------------------------------
    revno: 2555.907.9 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Thu 2011-04-07 12:24:10 +0300
    message:
      merged mysql-5.1->mysql-5.1-security
        ------------------------------------------------------------
        revno: 2555.911.31
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: B11758687-5.1
        timestamp: Mon 2011-04-04 16:04:15 +0300
        message:
          Bug #11758687: 50924: object names not resolved correctly 
             on lctn2 systems
          
          There was a local variable in get_all_tables() to store the 
          "original" value of the database name as it can get lowercased
          depending on the lower_case_table_name value.
          get_all_tables() iterates over database names and for each 
          database iterates over the tables in it.
          The "original" db name was assigned in the table names loop.
          Thus the first table is ok, but the second and subsequent tables
          get the lowercased name from processing the first table.
          Fixed by moving the assignment of the original database name
          from the inner (table name) to the outer (database name) loop.
          Test suite added.
        ------------------------------------------------------------
        revno: 2555.911.30 [merge]
        committer: Vasil Dimov <vasil.dimov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-04-04 09:06:08 +0300
        message:
          Merge mysql-5.1-innodb -> mysql-5.1
            ------------------------------------------------------------
            revno: 2555.738.355
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: 5.1-innodb
            timestamp: Wed 2011-03-30 14:25:58 +0300
            message:
              Bug#11877216 InnoDB too eager to commit suicide on a busy server
              
              sync_array_print_long_waits(): Return the longest waiting thread ID
              and the longest waited-for lock. Only if those remain unchanged
              between calls in srv_error_monitor_thread(), increment
              fatal_cnt. Otherwise, reset fatal_cnt.
              
              Background: There is a built-in watchdog in InnoDB whose purpose is to
              kill the server when some thread is stuck waiting for a mutex or
              rw-lock. Before this fix, the logic was flawed.
              
              The function sync_array_print_long_waits() returns TRUE if it finds a
              lock wait that exceeds 10 minutes (srv_fatal_semaphore_wait_threshold).
              The function srv_error_monitor_thread() will kill the server if this
              happens 10 times in a row (fatal_cnt reaches 10), checked every 30
              seconds. This is wrong, because this situation does not mean that the
              server is hung. If the server is very busy for a little over 15
              minutes, it will be killed.
              
              Consider this example. Thread T1 is waiting for mutex M. Some time
              later, threads T2..Tn start waiting for the same mutex M. If T1 keeps
              waiting for 600 seconds, fatal_cnt will be incremented to 1. So far,
              so good. Now, if M is granted to T1, the server was obviously not
              stuck. But, T2..Tn keeps waiting, and their wait time will be longer
              than 600 seconds. If 5 minutes later, some Tn has still been waiting
              for more than 10 minutes for the mutex M, the server can be killed,
              even though it is not stuck.
              
              rb:622 approved by Jimmy Yang
            ------------------------------------------------------------
            revno: 2555.738.354
            committer: Vasil Dimov <vasil.dimov@oracle.com>
            branch nick: mysql-5.1-innodb
            timestamp: Mon 2011-03-28 11:34:12 +0300
            message:
              Store the '\0'-terminated query in row->trx_query
              
              This problem was introduced in
              marko.makela@oracle.com-20100514130815-ym7j7cfu88ro6km4
              and is probably the reason for the following valgrind warning:
              
              from http://bugs.mysql.com/52691 , http://bugs.mysql.com/file.php?id=16880 :
              
              Version: '5.6.3-m5-valgrind-max-debug'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
              ==14947== Thread 18:
              ==14947== Conditional jump or move depends on uninitialised value(s)
              ==14947==    at 0x4A06318: __GI_strlen (mc_replace_strmem.c:284)
              ==14947==    by 0x9F3D7A: fill_innodb_trx_from_cache(trx_i_s_cache_struct*, THD*, TABLE*) (i_s.cc:591)
              ==14947==    by 0x9F4D7D: trx_i_s_common_fill_table(THD*, TABLE_LIST*, Item*) (i_s.cc:1238)
              ==14947==    by 0x7689F3: get_schema_tables_result(JOIN*, enum_schema_table_state) (sql_show.cc:6745)
              ==14947==    by 0x715A75: JOIN::exec() (sql_select.cc:2861)
              ==14947==    by 0x7185BD: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:3609)
              ==14947==    by 0x70E823: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:319)
              ==14947==    by 0x6F2305: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4557)
              ==14947==    by 0x6EAED4: mysql_execute_command(THD*) (sql_parse.cc:2135)
              ==14947==    by 0x6F44C9: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5597)
              ==14947==    by 0x6E864B: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1093)
              ==14947==    by 0x6E785E: do_command(THD*) (sql_parse.cc:815)
              ==14947==    by 0x6C18DD: do_handle_one_connection(THD*) (sql_connect.cc:771)
              ==14947==    by 0x6C146E: handle_one_connection (sql_connect.cc:707)
              ==14947==    by 0x30E1807760: start_thread (pthread_create.c:301)
              ==14947==    by 0x35EA670F: ???
              ==14947==  Uninitialised value was created by a heap allocation
              ==14947==    at 0x4A0515D: malloc (vg_replace_malloc.c:195)
              ==14947==    by 0xB4B948: mem_area_alloc (mem0pool.c:385)
              ==14947==    by 0xB4A27C: mem_heap_create_block (mem0mem.c:333)
              ==14947==    by 0xB4A530: mem_heap_add_block (mem0mem.c:446)
              ==14947==    by 0xB0D2A4: mem_heap_alloc (mem0mem.ic:186)
              ==14947==    by 0xB0D9C2: ha_storage_put_memlim (ha0storage.c:118)
              ==14947==    by 0xA479D8: fill_trx_row (trx0i_s.c:521)
              ==14947==    by 0xA490E9: fetch_data_into_cache (trx0i_s.c:1319)
              ==14947==    by 0xA491BA: trx_i_s_possibly_fetch_data_into_cache (trx0i_s.c:1352)
              ==14947==    by 0x9F4CE7: trx_i_s_common_fill_table(THD*, TABLE_LIST*, Item*) (i_s.cc:1221)
              ==14947==    by 0x7689F3: get_schema_tables_result(JOIN*, enum_schema_table_state) (sql_show.cc:6745)
              ==14947==    by 0x715A75: JOIN::exec() (sql_select.cc:2861)
              ==14947==    by 0x7185BD: mysql_select(THD*, Item***, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) (sql_select.cc:3609)
              ==14947==    by 0x70E823: handle_select(THD*, LEX*, select_result*, unsigned long) (sql_select.cc:319)
              ==14947==    by 0x6F2305: execute_sqlcom_select(THD*, TABLE_LIST*) (sql_parse.cc:4557)
              ==14947==    by 0x6EAED4: mysql_execute_command(THD*) (sql_parse.cc:2135)
              ==14947==    by 0x6F44C9: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:5597)
              ==14947==    by 0x6E864B: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1093)
              ==14947==    by 0x6E785E: do_command(THD*) (sql_parse.cc:815)
              ==14947==    by 0x6C18DD: do_handle_one_connection(THD*) (sql_connect.cc:771)
              ==14947==    by 0x6C146E: handle_one_connection (sql_connect.cc:707)
              ==14947==    by 0x30E1807760: start_thread (pthread_create.c:301)
              ==14947==    by 0x35EA670F: ???
              
              
              (gdb) bt
              #0  0x0000000004a06318 in _vgrZU_libcZdsoZa___GI_strlen (str=0x3026bfa0 "insert into `blobtest` set `data`='pkefxxpkalpabzgrczlxefkreqljeqbvzrcnhvhsjsfnvxzjsltfuincffigdkmhvvcmnseluzgbtedrfmxvnrdmzesbinjgwvharkpgjplrlnqudfidbqwgbykupycxzyikzqincnsjrxgncqzlgyqwjdbjulztgsffxpjgymsnntdibvklwqylmwhsmdskmllxuwafabdjnwlyofknwuixiyrgnplmerfdewgizkdhznitesfqepsqbbwkdepkmjoseyxjofmmjaqdipwopfrwidmhqbtovdslvayxcnpewzhppeetblccppniamezibuoinvlxkafpcmozawtplfpepxwlwhymsuraezcwvjqzwogsozodlsfzjiyrcaljjhqwdrcjawvelhefzzaexvcbyorlcyupqwgjuamiqpiputtndjwcsuyzdfhuxswuowhrzdvriwrxqmcqthvzzzvivbabbnhdbtcfdtgssvmirrcddnytnctcvqplwytxxzxelldhwahalzxvgynaiwjyezhxqhlsqudngekocfvlbqprxqhyhwbaomgqiwkpfguohuvlnhtrsszgacxhhzeppyqwfwabiqzgyzkperiidyunrykopysvlcxwhrcboetjltawdjergalsfvaxncmzoznryumrjmncvhvxqvqhhbznnifkguuiffmlrbmgwtzvnuwlaguixqadkupfhasbbxnwkrvsfhrqanfmvjtzfqodtutkjlxfcogtsjywrdgmzgszjtsmimaelsveayqrwviqwwefeziuaqsqpauxpnzhaxjtkdfvvodniwezskbxfxszyniyzkzxngcfwgjlyrlskmrzxqnptwlilsxybuguafxxkvryyjrnkhhcmxuusitaflaiuxjhyfnzkahlgmaszujqmfdhyppdnpweqanmvzgjfyzjolbmprhnuuxextcaxzicfvsuochprmlf"...) at mc_replace_strmem.c:284
              #1  0x00000000009f3d7b in fill_innodb_trx_from_cache (cache=0x1462440, thd=0x2a495000, table=0x2a422500) at /home/sbester/build/bzr/mysql-trunk/storage/innobase/handler/i_s.cc:591
              #2  0x00000000009f4d7e in trx_i_s_common_fill_table (thd=0x2a495000, tables=0x2a4c3ec0) at /home/sbester/build/bzr/mysql-trunk/storage/innobase/handler/i_s.cc:1238
              #3  0x00000000007689f4 in get_schema_tables_result (join=0x30f90c40, executed_place=PROCESSED_BY_JOIN_EXEC) at /home/sbester/build/bzr/mysql-trunk/sql/sql_show.cc:6745
              #4  0x0000000000715a76 in JOIN::exec (this=0x30f90c40) at /home/sbester/build/bzr/mysql-trunk/sql/sql_select.cc:2861
              #5  0x00000000007185be in mysql_select (thd=0x2a495000, rref_pointer_array=0x2a497590, tables=0x2a4c3ec0, wild_num=1, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2684619520, result=0x30319720, unit=0x2a496d28, select_lex=0x2a497378) at /home/sbester/build/bzr/mysql-trunk/sql/sql_select.cc:3609
              #6  0x000000000070e824 in handle_select (thd=0x2a495000, lex=0x2a496c78, result=0x30319720, setup_tables_done_option=0) at /home/sbester/build/bzr/mysql-trunk/sql/sql_select.cc:319
              #7  0x00000000006f2306 in execute_sqlcom_select (thd=0x2a495000, all_tables=0x2a4c3ec0) at /home/sbester/build/bzr/mysql-trunk/sql/sql_parse.cc:4557
              #8  0x00000000006eaed5 in mysql_execute_command (thd=0x2a495000) at /home/sbester/build/bzr/mysql-trunk/sql/sql_parse.cc:2135
              #9  0x00000000006f44ca in mysql_parse (thd=0x2a495000, rawbuf=0x30d80060 "select * from innodb_trx", length=24, parser_state=0x35ea5540) at /home/sbester/build/bzr/mysql-trunk/sql/sql_parse.cc:5597
              #10 0x00000000006e864c in dispatch_command (command=COM_QUERY, thd=0x2a495000, packet=0x30bb4e31 "select * from innodb_trx", packet_length=24) at /home/sbester/build/bzr/mysql-trunk/sql/sql_parse.cc:1093
              #11 0x00000000006e785f in do_command (thd=0x2a495000) at /home/sbester/build/bzr/mysql-trunk/sql/sql_parse.cc:815
              #12 0x00000000006c18de in do_handle_one_connection (thd_arg=0x2a495000) at /home/sbester/build/bzr/mysql-trunk/sql/sql_connect.cc:771
              #13 0x00000000006c146f in handle_one_connection (arg=0x2a495000) at /home/sbester/build/bzr/mysql-trunk/sql/sql_connect.cc:707
              #14 0x00000030e1807761 in start_thread (arg=0x35ea6710) at pthread_create.c:301
              #15 0x00000030e14e14ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
              (gdb) frame 1
              #1  0x00000000009f3d7b in fill_innodb_trx_from_cache (cache=0x1462440, thd=0x2a495000, table=0x2a422500) at /home/sbester/build/bzr/mysql-trunk/storage/innobase/handler/i_s.cc:591
              591                                     row->trx_query_cs);
              (gdb) list
              586                     if (row->trx_query) {
              587                             /* store will do appropriate character set
              588                             conversion check */
              589                             fields[IDX_TRX_QUERY]->store(
              590                                     row->trx_query, strlen(row->trx_query),
              591                                     row->trx_query_cs);
              592                             fields[IDX_TRX_QUERY]->set_notnull();
              593                     } else {
              594                             fields[IDX_TRX_QUERY]->set_null();
              595                     }
            ------------------------------------------------------------
            revno: 2555.738.353
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: 5.1-innodb
            timestamp: Tue 2011-03-15 12:01:02 +0200
            message:
              Bug#11849231 inflateInit() invoked without initializing all memory
              
              According to the zlib documentation, next_in and avail_in
              must be initialized before invoking inflateInit or inflateInit2.
              Furthermore, the zalloc function must clear the allocated memory.
              
              btr_copy_zblob_prefix(): Replace the d_stream parameter with buf,len
              and return the copied length.
              
              page_zip_decompress(): Invoke inflateInit2 a little later.
              
              page_zip_zalloc(): Rename from page_zip_alloc().
              Invoke mem_heap_zalloc() instead of mem_heap_alloc().
              
              rb:619 approved by Jimmy Yang
            ------------------------------------------------------------
            revno: 2555.738.352 [merge]
            committer: Vasil Dimov <vasil.dimov@oracle.com>
            branch nick: mysql-5.1-innodb
            timestamp: Wed 2011-03-02 10:59:43 +0200
            message:
              Merge mysql-5.1 -> mysql-5.1-innodb
            ------------------------------------------------------------
            revno: 2555.738.351
            committer: Marko M?kel? <marko.makela@oracle.com>
            branch nick: 5.1-innodb
            timestamp: Mon 2011-02-28 13:51:18 +0200
            message:
              Bug #58549 Race condition in buf_LRU_drop_page_hash_for_tablespace()
              and compressed tables
              
              buf_LRU_drop_page_hash_for_tablespace(): after releasing and
              reacquiring the buffer pool mutex, do not dereference any block
              descriptor pointer that is not known to be a pointer to an
              uncompressed page frame (type buf_block_t; state ==
              BUF_BLOCK_FILE_PAGE). Also, defer the acquisition of the block_mutex
              until it is needed.
              
              buf_page_get_gen(): Add mode == BUF_GET_IF_IN_POOL_PEEK for
              buffer-fixing a block without making it young in the LRU list.
              
              buf_page_get_gen(), buf_page_init(), buf_LRU_block_remove_hashed_page():
              Set bpage->state = BUF_BLOCK_ZIP_FREE before buf_buddy_free(bpage),
              so that similar race conditions might be detected a little easier.
              
              btr_search_drop_page_hash_when_freed(): Use BUF_GET_IF_IN_POOL_PEEK
              when dropping the hash indexes.
              
              rb://528 approved by Jimmy Yang
            ------------------------------------------------------------
            revno: 2555.738.350
            committer: Vasil Dimov <vasil.dimov@oracle.com>
            branch nick: mysql-5.1-innodb
            timestamp: Fri 2011-02-25 11:50:18 +0200
            message:
              Fix BUG#11798085 - INCORRECT INTEGER TYPES USED IN CALCULATION RESULT
              IN OVERFLOW
              
              Do not assign the result of the difference to a signed variable and
              checking whether it is negative afterwards because this limits the max diff
              to 2G on 32 bit systems. E.g. "signed = 3.5G - 1G" would be negative and the
              code would assume that 3.5G < 1G. Instead compare the two variables directly
              and assign to unsigned only if we know that the result of the subtraction
              will be positive.
              
              Discussed with:	Jimmy and Sunny (via IRC)
        ------------------------------------------------------------
        revno: 2555.911.29
        committer: Gleb Shchepa <gleb.shchepa@oracle.com>
        branch nick: bug11766094-5.1
        timestamp: Thu 2011-03-31 22:59:11 +0400
        message:
          Bug #11766094 - 59132: MIN() AND MAX() REMOVE UNSIGNEDNESS
          
          In the string context the MIN() and MAX() functions don't take
          into account the unsignedness of the UNSIGNED BIGINT argument
          column.
          
          I.e.:
                  CREATE TABLE t1 (a BIGINT UNSIGNED);
                  INSERT INTO t1 VALUES (18446668621106209655);
                  SELECT CONCAT(MAX(a)) FROM t1;
          
          returns -75452603341961.
        ------------------------------------------------------------
        revno: 2555.911.28
        committer: Magne Mahre <magne.mahre@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-03-30 16:14:13 +0200
        message:
          Fix-up after commit of  Bug#11900714
          
          The patch fixes a build problem on MacOSX, where
          the compiler complains about unused parameters.
        ------------------------------------------------------------
        revno: 2555.911.27
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-03-30 11:08:35 +0400
        message:
          Bug#11766124  59164: VALGRIND: UNINITIALIZED VALUE IN NUMBER_TO_DATETIME
          Valgrind warning happens due to missing NULL value check in
          Item::get_date. The fix is to add this check.
        ------------------------------------------------------------
        revno: 2555.911.26
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-03-30 11:00:41 +0400
        message:
          Bug#11766126  59166: ANOTHER DATETIME VALGRIND UNINITIALIZED WARNING
          Valgrind warning happens because null values check happens too late
          in Item_func_month::val_str(after result string calculation).The fix
          is to check null value before result string calculation.
        ------------------------------------------------------------
        revno: 2555.911.25
        committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
        branch nick: mysql-5.1-bug11763784
        timestamp: Tue 2011-03-29 10:09:05 +0200
        message:
          Bug# 11763784 (former 56541)
          ASSERTION TABLE->DB_STAT FAILED IN
          SQL_BASE.CC::OPEN_TABLE() DURING I_S Q
          
          This assert could be triggered if a statement requiring a name
          lock on a table (e.g. DROP TRIGGER) executed concurrently
          with an I_S query which also used the table.
          
          One connection first started an I_S query that opened a given table.
          Then another connection started a statement requiring a name lock
          on the same table. This statement was blocked since the table was
          in use by the I_S query. When the I_S query resumed and tried to
          open the table again as part of get_all_tables(), it would encounter
          a table instance with an old version number representing the pending
          name lock. Since I_S queries ignore version checks and thus pending
          name locks, it would try to continue. This caused it to encounter
          the assert. The assert checked that the TABLE instance found with a
          different version, was a real, open table. However, since this TABLE
          instance instead represented a pending name lock, the check would
          fail and trigger the assert.
          
          This patch fixes the problem by removing the assert. It is ok for
          TABLE::db_stat to be 0 in this case since the TABLE instance can
          represent a pending name lock.
          
          Test case added to lock_sync.test.
        ------------------------------------------------------------
        revno: 2555.911.24
        committer: Mayank Prasad <mayank.prasad@oracle.com
        branch nick: testC_5.1
        timestamp: Mon 2011-03-28 21:01:37 +0530
        message:
          Bug#11751148 : show events shows events in other schema
          
          Issue:
          ======
          Test case Correction for bug#11751148.
        ------------------------------------------------------------
        revno: 2555.911.23
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-03-28 17:27:44 +0400
        message:
          Bug#11766087  59125: VALGRIND UNINITIALISED VALUE WARNING IN ULL2DEC, LONGLONG2DECIMAL
          Valgrind warning happens due to missing NULL value check in
          Item_func::val_decimal. The fix is to add this check.
        ------------------------------------------------------------
        revno: 2555.911.22
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-03-28 17:24:25 +0400
        message:
          Bug#11765216  58154: UNINITIALIZED VARIABLE FORMAT IN STR_TO_DATE FUNCTION
          Valgrind warning happens due to uninitialized cached_format_type field
          which is used later in Item_func_str_to_date::val_str method.
          The fix is to init cached_format_type field.
        ------------------------------------------------------------
        revno: 2555.911.21
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: fix-5.1
        timestamp: Mon 2011-03-28 13:43:30 +0300
        message:
          Added support for VS10.
          Fixed RelWithDebugInfo bzr ignores.
        ------------------------------------------------------------
        revno: 2555.911.20
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: fix-5.1
        timestamp: Mon 2011-03-28 13:32:25 +0300
        message:
          Fixed a test failure becase of a new warning caused by the fix for 
          Bug #11766769
        ------------------------------------------------------------
        revno: 2555.911.19
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: fix-5.1
        timestamp: Mon 2011-03-28 13:25:03 +0300
        message:
          Fixed a test failure in embedded because of the fix for BUG#11766769
        ------------------------------------------------------------
        revno: 2555.911.18 [merge]
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-03-28 13:09:02 +0400
        message:
          automerge
            ------------------------------------------------------------
            revno: 2555.914.1
            committer: Magne Mahre <magne.mahre@oracle.com>
            branch nick: mysql-5.1-11900714
            timestamp: Mon 2011-03-28 10:47:30 +0200
            message:
              Bug#11900714 REMOVE LGPL LICENSED FILES IN MYSQL 5.1
              
              The LGPL license is used in some legacy code, and to
              adhere to current licensing polity, we remove those
              files that are no longer used, and reorganize the
              remaining LGPL code so it will be GPL licensed from
              now on.
                    
              Note:  This patch only removed LGPL licensed files
                     in MySQL 5.1, and is the second of a set of
                     patches to remove LGPL from all trees.
                     (See Bug# 11840513 for details) 
        ------------------------------------------------------------
        revno: 2555.911.17
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-03-28 12:35:50 +0400
        message:
          Bug#11764994  57900: CREATE TABLE .. SELECT ASSERTS SCALE >= 0 && PRECISION > 0 && SCALE <= PR
          Assert fails due to overflow which happens in
          Item_func_int_val::fix_num_length_and_dec() as
          geometry functions have max_length value equal to
          max_field_size(4294967295U). The fix is to skip
          max_length calculation for some boundary cases.
        ------------------------------------------------------------
        revno: 2555.911.16
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-03-28 12:28:30 +0400
        message:
          Bug#11766424  59527: DECIMAL_BIN_SIZE: ASSERTION `SCALE >= 0 && PRECISION > 0 && SCALE <= PRE
          Assertion happens due to missing initialization of unsigned_flag
          for Item_func_set_user_var object. It leads to incorrect
          calculation of decimal field size.
          The fix is to add initialization of unsigned_flag.
        ------------------------------------------------------------
        revno: 2555.911.15
        committer: Sergey Glukhov <sergey.glukhov@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-03-28 11:53:18 +0400
        message:
          Bug#11766112 59151:UNINITIALIZED VALUES IN EXTRACT_DATE_TIME WITH STR_TO_DATE(SPACE(..) ...
          Valgrind warining happens due to missing
          'end of the string' check. The fix is to
          check if we reached the end of the string.
        ------------------------------------------------------------
        revno: 2555.911.14
        committer: Sven Sandberg <sven.sandberg@oracle.com>
        branch nick: 5.1
        timestamp: Fri 2011-03-25 15:16:13 +0100
        message:
          BUG#11766427, BUG#59539: Filter by server id in mysqlbinlog fails
          Problem: mysqlbinlog --server-id may filter out Format_description_log_events.
          If mysqlbinlog does not process the Format_description_log_event,
          then mysqlbinlog cannot read the rest of the binary log correctly.
          This can have the effect that mysqlbinlog crashes, generates an error,
          or generates output that causes mysqld to crash, generate an error,
          or corrupt data.
          Fix: Never filter out Format_description_log_events. Also, never filter
          out Rotate_log_events.
        ------------------------------------------------------------
        revno: 2555.911.13 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: B11766769-5.1
        timestamp: Fri 2011-03-25 14:57:25 +0200
        message:
          merge
            ------------------------------------------------------------
            revno: 2555.913.1 [merge]
            committer: Luis Soares <luis.soares@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-03-24 10:58:48 +0000
            message:
              Automerging bzr bundle attached to bug report into latest mysql-5.1.
                ------------------------------------------------------------
                revno: 2555.912.1
                committer: Luis Soares <luis.soares@oracle.com>
                branch nick: mysql-5.1
                timestamp: Thu 2011-03-24 10:52:40 +0000
                message:
                  BUG#11766865: 60091: RBR + NO PK + UPDATE NULL VALUE --> SLAVE BREAK WITH ERROR HA_ERR_END_OF_
                    
                  The slave was not able to find the correct row in the innodb
                  table, because the row fetched from the innodb table would not
                  match the before image. This happened because the (don't care)
                  bytes in the NULLed fields would change once the row was stored
                  in the storage engine (from zero to the default value). This
                  would make bulk memory comparison (using memcmp) to fail.
                    
                  We fix this by taking a preventing measure and avoiding memcmp
                  for tables that contain nullable fields. Therefore, we protect
                  the slave search routine from engines that return arbitrary
                  values for don't care bytes (in the nulled fields). Instead, the
                  slave thread will only check null_bits and those fields that are
                  not set to NULL when comparing the before image against the
                  storage engine row.
        ------------------------------------------------------------
        revno: 2555.911.12
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: B11766769-5.1
        timestamp: Fri 2011-03-25 12:57:27 +0200
        message:
          Bug #11766769: 59959: SMALL VALUES OF --MAX-ALLOWED-PACKET 
          ARE NOT BEING HONORED
          
          max_allowed_packet works in conjunction with net_buffer_length.
          max_allowed_packet is an upper bound of net_buffer_length.
          So it doesn't make sense to set the upper limit lower than the value.
          Added a warning (using ER_UNKNOWN_ERRROR and a specific message)
          when this is done (in the log at startup and when setting either 
          max_allowed_packet or the net_buffer_length variables)
          Added a test case.
          Fixed several tests that broke the above rule.
        ------------------------------------------------------------
        revno: 2555.911.11 [merge]
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: merge-51
        timestamp: Wed 2011-03-23 10:48:09 +0100
        message:
          merge from 5.1-mtr
            ------------------------------------------------------------
            revno: 2555.437.218 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Tue 2011-03-22 15:38:41 +0100
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.217
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: cpps-51
            timestamp: Fri 2011-03-18 12:13:54 +0100
            message:
              Bug #11885854 MYSQLTEST: PS-PROTOCOL IMPLIED BY CURSOR-PROTOCOL LOST AFTER ENABLE_PS_PROTOCOL 
              The condition cursor-protocol => ps-protocol was done at "current setting" level"
              Moved it to "set by command line" level
            ------------------------------------------------------------
            revno: 2555.437.216
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: crashrep-51
            timestamp: Tue 2011-03-15 16:06:59 +0100
            message:
              Bug #11762804 55442: MYSQLD DEBUG CRASHES WHILE RUNNING MYISAM_CRASH_BEFORE_FLUSH_KEYS.TEST
              This will cause affected tests to skip if CrashReporter would popup
              Found 5 tests that needed modification
        ------------------------------------------------------------
        revno: 2555.911.10 [merge]
        committer: Magne Mahre <magne.mahre@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-03-22 16:28:42 +0100
        message:
          Null merge  (from mysql-5.0)
            ------------------------------------------------------------
            revno: 1810.4000.19
            committer: Magne Mahre <magne.mahre@oracle.com>
            branch nick: mysql-5.0
            timestamp: Tue 2011-03-22 16:27:32 +0100
            message:
              Post-push fix for Bug 11896296
              
              Didn't build on Solaris.
        ------------------------------------------------------------
        revno: 2555.911.9 [merge]
        committer: Magne Mahre <magne.mahre@oracle.com>
        branch nick: mysql-5.1
        timestamp: Tue 2011-03-22 13:53:35 +0100
        message:
          Null merge
            ------------------------------------------------------------
            revno: 1810.4000.18
            committer: Magne Mahre <magne.mahre@oracle.com>
            branch nick: mysql-5.0-11896296
            timestamp: Tue 2011-03-22 13:50:14 +0100
            message:
              Bug#11896296 REMOVE LGPL LICENSED FILES IN MYSQL 5.0
              
              The LGPL license is used in some legacy code, and to
              adhere to current licensing polity, we remove those
              files that are no longer used, and reorganize the
              remaining LGPL code so it will be GPL licensed from
              now on.
              
              Note:  This patch only removed LGPL licensed files
                     in MySQL 5.0, and is the first of a set of
                     patches to remove LGPL from all trees.
                     (See Bug# 11840513 for details)
        ------------------------------------------------------------
        revno: 2555.911.8
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: B11763135-5.1
        timestamp: Mon 2011-03-21 17:54:40 +0200
        message:
          Bug #11763135: 55812: MYSQL AB SHOULD NOT BE AUTHOR, EVEN IN EXAMPLE
          
          Fixed the author and the copyright.
        ------------------------------------------------------------
        revno: 2555.911.7
        committer: MySQL Build Team <build@mysql.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-03-21 20:23:39 +0100
        message:
          fixing 38697/11749301
        ------------------------------------------------------------
        revno: 2555.911.6
        committer: Mayank Prasad <mayank.prasad@oracle.com
        branch nick: mysql-11751148
        timestamp: Mon 2011-03-21 21:32:47 +0530
        message:
          Bug #11751148 : show events shows events in other schema
          
          Issue:
          ------
          Due to prefix match, database like 'k' was matching with 'ka' and events of 'ka' we getting displayed for 'show event' of 'k'.
          
          Resolution:
          -----------
          Scan for listing of events in a schema is made to be done on exact match of database (schema) name instead of just prefix.
    ------------------------------------------------------------
    revno: 2555.907.8 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Mon 2011-03-21 16:03:35 +0200
    message:
      merge mysql-5.0-security->mysql-5.1-security
        ------------------------------------------------------------
        revno: 1810.4002.3 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.0-security
        timestamp: Mon 2011-03-21 15:54:17 +0200
        message:
          merge
            ------------------------------------------------------------
            revno: 1810.4003.1
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: kent-5.0
            timestamp: Tue 2011-02-08 17:36:25 +0200
            message:
              Bug #59815: Missing License information with enterprise GPL packages
              
              on behalf of Kent: Include the README into the binary packages
        ------------------------------------------------------------
        revno: 1810.4002.2 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.0-security
        timestamp: Mon 2011-03-21 15:52:45 +0200
        message:
          merge 5.0->5.0-security
    ------------------------------------------------------------
    revno: 2555.907.7 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Mon 2011-03-21 16:01:40 +0200
    message:
      merge mysql-5.1->mysql-5.1-security
        ------------------------------------------------------------
        revno: 2555.911.5 [merge]
        committer: Ramil Kalimullin <ramil@mysql.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-03-21 09:24:22 +0300
        message:
          Null merge of the backported fix for bug#51875/#11759554 from mysq-5.0.
            ------------------------------------------------------------
            revno: 1810.4000.17
            committer: Ramil Kalimullin <ramil@mysql.com>
            branch nick: mysql-5.0
            timestamp: Mon 2011-03-21 09:21:14 +0300
            message:
              Fix for bug#51875/#11759554 backported from mysql-5.1.
        ------------------------------------------------------------
        revno: 2555.911.4
        committer: Vinay Fisrekar <vinay.fisrekar@sun.com>
        branch nick: mysql-5.1
        timestamp: Fri 2011-03-18 16:35:57 +0530
        message:
          Bug#11766500 - 59624: FUNCS_1 SUITE TESTS FAILING WITH RESULT DIFFERENCE WHEN RUN USING EMBEDDED MODE
                
          Updating result files
        ------------------------------------------------------------
        revno: 2555.911.3 [merge]
        committer: Kent Boortz <kent.boortz@sun.com>
        branch nick: mysql-5.1
        timestamp: Thu 2011-03-17 15:06:25 +0100
        message:
          Merge
            ------------------------------------------------------------
            revno: 2555.900.54
            committer: Nirbhay Choubey <nirbhay.choubey@sun.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-03-17 16:28:16 +0530
            message:
              Minor fix in mysqldump test.
        ------------------------------------------------------------
        revno: 2555.911.2 [merge]
        committer: Kent Boortz <kent.boortz@sun.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-03-16 23:33:12 +0100
        message:
          Merge
        ------------------------------------------------------------
        revno: 2555.911.1 [merge]
        committer: Kent Boortz <kent.boortz@sun.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-03-16 23:07:05 +0100
        message:
          Removed the "Third-Party Component Notices" part from README
            ------------------------------------------------------------
            revno: 1810.4000.16
            committer: Kent Boortz <kent.boortz@sun.com>
            branch nick: mysql-5.0
            timestamp: Wed 2011-03-16 23:04:29 +0100
            message:
              Removed the "Third-Party Component Notices" part
    ------------------------------------------------------------
    revno: 2555.907.6 [merge]
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: merge-5.1-security
    timestamp: Thu 2011-03-17 13:00:09 +0200
    message:
      merge 5.1->5.1-security
        ------------------------------------------------------------
        revno: 2555.900.53
        committer: Luis Soares <luis.soares@oracle.com>
        branch nick: mysql-5.1
        timestamp: Wed 2011-03-16 15:11:54 +0000
        message:
          Fix for BUG#11868903 (BUG#59717)
                
          There is a race between two threads: user thread and the dump
          thread. The former sets a debug instruction that makes the latter wait
          before processing an Xid event. There can be cases that the dump
          thread has not yet processed the previous Xid event, causing it to
          wait one Xid event too soon, thus causing sync_slave_with_master never
          to resume.
                
          We fix this by moving the instructions that set the debug variable
          after calling sync_slave_with_master.
        ------------------------------------------------------------
        revno: 2555.900.52
        committer: Dmitry Shulga <Dmitry.Shulga@oracle.com>
        branch nick: mysql-5.1-bug56976
        timestamp: Tue 2011-03-15 17:36:12 +0600
        message:
          Fixed Bug#11764168 "56976: SEVERE DENIAL OF SERVICE IN PREPARED STATEMENTS".
          
          The problem was that server didn't check resulting size of prepared
          statement argument which was set using mysql_send_long_data() API.
          By calling mysql_send_long_data() several times it was possible
          to create overly big string and thus force server to allocate
          memory for it. There was no way to limit this allocation.
          
          The solution is to add check for size of result string against
          value of max_long_data_size start-up parameter. When intermediate
          string exceeds max_long_data_size value an appropriate error message
          is emitted.
          
          We can't use existing max_allowed_packet parameter for this purpose
          since its value is limited by 1GB and therefore using it as a limit
          for data set through mysql_send_long_data() API would have been an
          incompatible change. Newly introduced max_long_data_size parameter
          gets value from max_allowed_packet parameter unless its value is
          specified explicitly. This new parameter is marked as deprecated
          and will be eventually replaced by max_allowed_packet parameter.
          Value of max_long_data_size parameter can be set only at server
          startup.
        ------------------------------------------------------------
        revno: 2555.900.51
        committer: Davi Arnaut <davi.arnaut@oracle.com>
        branch nick: mysql-5.1
        timestamp: Mon 2011-03-14 15:03:22 -0300
        message:
          Bug#11765202: Dbug_violation_helper::~Dbug_violation_helper(): Assertion `!_entered' failed.
          
          Add a missing DBUG_RETURN function test_if_number().
        ------------------------------------------------------------
        revno: 2555.900.50 [merge]
        committer: Bjorn Munch <bjorn.munch@oracle.com>
        branch nick: merge-51
        timestamp: Fri 2011-03-11 12:49:14 +0100
        message:
          merge from 5.1-mtr
            ------------------------------------------------------------
            revno: 2555.437.215 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Fri 2011-03-11 10:07:34 +0100
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.214 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Tue 2011-03-08 18:52:56 +0100
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.213
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: mtr-51
            timestamp: Mon 2011-02-28 16:10:35 +0100
            message:
              Attempt at solving missing end of mtr output on Windows
            ------------------------------------------------------------
            revno: 2555.437.212 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Thu 2011-02-24 15:07:51 +0100
            message:
              merge from 5.1 main
            ------------------------------------------------------------
            revno: 2555.437.211
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: suppsql-51
            timestamp: Wed 2011-02-23 10:31:37 +0100
            message:
              Bug #11762407 54999: MTR GLOBAL SUPPRESSION HIDES SQL THREAD EXECUTION UNEXPECTED ERRORS
              Removed the global suppression, added lots of local ones to affected tests
              Re-commit, now kept "Slave SQL" at start of patterns.
            ------------------------------------------------------------
            revno: 2555.437.210 [merge]
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: merge-51
            timestamp: Wed 2011-02-09 07:20:07 +0100
            message:
              merge from 5.1
        ------------------------------------------------------------
        revno: 2555.900.49
        committer: Mayank Prasad <mayank.prasad@oracle.com
        branch nick: mysql-5.1_SSL
        timestamp: Fri 2011-03-11 16:16:34 +0530
        message:
          BUG #11760210: 52596: SSL_CIPHER_LIST NOT SET OR RETURNED FOR "SHOW STATUS LIKE 'SSL_CIPHER_LIST'"
          
          Issue:
                SSL_CIPHER set to a specific CIPHER name was not getting picked up by SHOW STATUS Command.
          
          Solution:
                If specific cipher name is specified, avoid overwriting of Cipher List with default Cipher names.
        ------------------------------------------------------------
        revno: 2555.900.48 [merge]
        committer: Mattias Jonsson <mattias.jonsson@oracle.com>
        branch nick: topush-5.1
        timestamp: Wed 2011-03-09 18:12:23 +0100
        message:
          Merge of Bug#11766232 - bug#59297
            ------------------------------------------------------------
            revno: 2555.910.1
            committer: Mattias Jonsson <mattias.jonsson@oracle.com>
            branch nick: b59297-51
            timestamp: Mon 2011-01-24 13:41:44 +0100
            message:
              Bug#59297: Can't find record in 'tablename' on update inner join
              
              Regression introduced in bug#52455. Problem was that the
              fixed function did not set the last used partition variable, resulting
              in wrong partition used when storing the position of the newly
              retrieved row.
              
              Fixed by setting the last used partition in ha_partition::index_read_idx_map.
    ------------------------------------------------------------
    revno: 2555.907.5
    committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
    branch nick: B11765023-5.1-security
    timestamp: Tue 2011-03-15 13:19:30 +0200
    message:
      Bug #11765023: 57934: DOS POSSIBLE SINCE BINARY CASTING DOESN'T 
      ADHERE TO MAX_ALLOWED_PACKET
      
      Added a check for max_packet_length in CONVERT(, BINARY|CHAR).
      Added a test case.
    ------------------------------------------------------------
    revno: 2555.907.4 [merge]
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Fri 2011-03-11 15:24:42 +0100
    message:
      automerge
        ------------------------------------------------------------
        revno: 2555.908.4
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.1-security
        timestamp: Wed 2011-03-09 17:21:22 +0200
        message:
          Fixed a wrong error code in gis.test
        ------------------------------------------------------------
        revno: 2555.908.3 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.1-security
        timestamp: Wed 2011-03-09 16:51:12 +0200
        message:
          merge 5.0-security->5.1-security
            ------------------------------------------------------------
            revno: 1810.4002.1 [merge]
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: merge-5.0-security
            timestamp: Wed 2011-03-09 16:46:31 +0200
            message:
              merge 5.0->5.0-security
        ------------------------------------------------------------
        revno: 2555.908.2 [merge]
        committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
        branch nick: merge-5.1-security
        timestamp: Wed 2011-03-09 16:50:06 +0200
        message:
          merge 5.1->5.1-security
            ------------------------------------------------------------
            revno: 2555.900.47 [merge]
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: merge-5.1
            timestamp: Wed 2011-03-09 14:59:34 +0200
            message:
              merge mysql-5.0->mysql-5.1
                ------------------------------------------------------------
                revno: 1810.4000.15 [merge]
                committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
                branch nick: merge-5.0
                timestamp: Wed 2011-03-09 14:48:23 +0200
                message:
                  merge mysql-5.0-secrutiy-fixed -> mysql-5.0
            ------------------------------------------------------------
            revno: 2555.900.46 [merge]
            author: joerg.bruehe@oracle.com
            committer: MySQL Build Team <build@mysql.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-03-03 21:11:47 +0100
            message:
              Merge from mysql-5.1.56-release
            ------------------------------------------------------------
            revno: 2555.900.45
            committer: Alexander Barkov <alexander.barkov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-03-03 18:39:26 +0300
            message:
              Bug 11766519 - 59648: MY_STRTOLL10_MB2: ASSERTION `(*ENDPTR - S) % 2 == 0' FAILED. 
              
              Part 2. Function QUOTE() was not multi-byte safe.
              
                @ mysql-test/r/ctype_ucs.result
                @ mysql-test/t/ctype_ucs.test
                Adding tests
              
                @ sql/item_strfunc.cc
                Fixing Item_func_quote::val_str to be multi-byte safe.
              
                @ sql/item_strfunc.h
                Multiple size needed for quote characters to mbmaxlen
            ------------------------------------------------------------
            revno: 2555.900.44
            committer: Alexander Barkov <alexander.barkov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-03-03 15:04:04 +0300
            message:
              BUG#11766519 (bug#59648): MY_STRTOLL10_MB2: ASSERTION `(*ENDPTR - S) % 2 == 0' FAILED
                    
              Problem: wrong character set pointer was passed to my_strtoll10_mb2,
              which led to DBUG_ASSERT failure in some cases.
              
                @ mysql-test/r/func_encrypt_ucs2.result
                @ mysql-test/t/func_encrypt_ucs2.test
                @ mysql-test/r/ctype_ucs.result
                @ mysql-test/t/ctype_ucs.test
                Adding tests
              
                @ sql/item_func.cc
                "cs" initialization was wrong (res does not necessarily point to &str_value)
              
                @ sql/item_strfunc.cc
                Item_func_dec_encrypt::val_str() and Item_func_des_descrypt::val_str()
                did not set character set for tmp_value (the returned value),
                so the old value, which was previously copied from args[1]->val_str(),
                was incorrectly returned with tmp_value.
            ------------------------------------------------------------
            revno: 2555.900.43
            committer: Alexander Barkov <alexander.barkov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-03-03 11:25:37 +0300
            message:
              An after-fix for
              Bug#11765108 - Bug#58036: CLIENT UTF32, UTF16, UCS2 SHOULD BE DISALLOWED, THEY CRASH SERVER 
              
              Fixing wrong usage of DBUG_ASSERT.
              In non-debug version thd_init_client_charset
              was not executed at all.
            ------------------------------------------------------------
            revno: 2555.900.42
            committer: Vinay Fisrekar <vinay.fisrekar@sun.com>
            branch nick: mysql-5.1
            timestamp: Tue 2011-03-01 21:26:24 +0530
            message:
              Bug#11766165 - 59211: SELECT RETURNS DIFFERENT VALUE FOR MIN(YEAR) FUNCTION
              Result File Correction For Bug Fix
            ------------------------------------------------------------
            revno: 2555.900.41
            committer: Alexander Barkov <alexander.barkov@oracle.com>
            branch nick: mysql-5.1.b59901
            timestamp: Tue 2011-03-01 15:30:18 +0300
            message:
              Bug#11766725 (Bug#59901) EXTRACTVALUE STILL BROKEN AFTER FIX FOR BUG #44332
              
              Problem: a byte behind the end of input string was read
              in case of a broken XML not having a quote or doublequote
              character closing a string value.
              
              Fix: changing condition not to read behind the end of input string
              
                @ mysql-test/r/xml.result
                @ mysql-test/t/xml.test
                Adding tests
              
                @ strings/xml.c
                When checking if the closing quote/doublequote was found,
                using p->cur[0] us unsafe, as p->cur can point to the byte after the value.
                Comparing p->cur to p->beg instead.
            ------------------------------------------------------------
            revno: 2555.900.40 [merge]
            author: hery.ramilison@oracle.com
            committer: MySQL Build Team <build@mysql.com>
            branch nick: mysql-5.1
            timestamp: Tue 2011-02-22 22:03:32 +0100
            message:
              Null-merge from mysql-5.1.52sp1-release
                ------------------------------------------------------------
                revno: 2555.863.22
                tags: mysql-5.1.52sp1
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 23:07:08 +0100
                message:
                  adding macro definition for MY_GNUC_PREREQ
                ------------------------------------------------------------
                revno: 2555.863.21
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 22:14:11 +0100
                message:
                  removing EXCEPTIONS-CLIENT
                ------------------------------------------------------------
                revno: 2555.863.20
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 22:06:24 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3545
                  > revision-id: holyfoot@mysql.com-20110112130241-50lwmhq562otxw31
                  > parent: dmitry.lenev@oracle.com-20110112130830-csanweanbny2ua3n
                  > committer: Alexey Botchkov <holyfoot@mysql.com>
                  > branch nick: 51mrg
                  > timestamp: Wed 2011-01-12 17:02:41 +0400
                  > message:
                  >   Bug #57321 crashes and valgrind errors from spatial types 
                  >           Item_func_spatial_collection::fix_length_and_dec didn't call parent's method, so
                  >           the maybe_null was set to '0' after it. But in this case the result was
                  >           just NULL, that caused wrong behaviour.
                  >   
                  >   per-file comments:
                  >     mysql-test/r/gis.result
                  >   Bug #57321 crashes and valgrind errors from spatial types 
                  >           test result updated.
                  >   
                  >     mysql-test/t/gis.test
                  >   Bug #57321 crashes and valgrind errors from spatial types 
                  >           test case added.
                  >     sql/item_geofunc.h
                  >   Bug #57321 crashes and valgrind errors from spatial types 
                  >           Item_func_geometry::fix_length_and_dec() called in
                  >           Item_func_spatial_collection::fix_length_and_dec().
                ------------------------------------------------------------
                revno: 2555.863.19
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 22:04:11 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3537
                  > revision-id: davi.arnaut@oracle.com-20110107192806-rmvvxwhk10sy0219
                  > parent: davi.arnaut@oracle.com-20110107183336-kp8niwm2hz3wb4c3
                  > committer: Davi Arnaut <davi.arnaut@oracle.com>
                  > branch nick: mysql-5.1
                  > timestamp: Fri 2011-01-07 17:28:06 -0200
                  > message:
                  >   Bug#51023: Mysql server crashes on SIGHUP and destroys InnoDB files
                  >   
                  >   WIN32 compilation fixes: define ETIMEDOUT only if not available and
                  >   fix typos and add a missing parameter.
                ------------------------------------------------------------
                revno: 2555.863.18
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 22:02:48 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3536
                  > revision-id: davi.arnaut@oracle.com-20110107183336-kp8niwm2hz3wb4c3
                  > parent: saikumar.v@sun.com-20110106103945-rhsek9uy6f63db44
                  > committer: Davi Arnaut <davi.arnaut@oracle.com>
                  > branch nick: 51023-5.1
                  > timestamp: Fri 2011-01-07 16:33:36 -0200
                  > message:
                  >   Bug#51023: Mysql server crashes on SIGHUP and destroys InnoDB files
                  >   
                  >   From a user perspective, the problem is that a FLUSH LOGS or SIGHUP
                  >   signal could end up associating the stdout and stderr to random
                  >   files. In the case of this bug report, the streams would end up
                  >   associated to InnoDB ibd files.
                  >   
                  >   The freopen(3) function is not thread-safe on FreeBSD. What this
                  >   means is that if another thread calls open(2) during freopen()
                  >   is executing that another thread's fd returned by open(2) may get
                  >   re-associated with the file being passed to freopen(3). See FreeBSD
                  >   PR number 79887 for reference:
                  >   
                  >     http://www.freebsd.org/cgi/query-pr.cgi?pr=79887
                  >   
                  >   This problem is worked around by substituting a internal hook within
                  >   the FILE structure. This avoids the loss of atomicity by not having
                  >   the original fd closed before its duplicated.
                  >   
                  >   Patch based on the original work by Vasil Dimov.
                ------------------------------------------------------------
                revno: 2555.863.17
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 22:01:35 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3527.3.2
                  > revision-id: mattias.jonsson@oracle.com-20101222144517-cbv3l5jlbd0mq5s8
                  > parent: mattias.jonsson@oracle.com-20101222095036-2lpx0gqu4i45jtkz
                  > committer: Mattias Jonsson <mattias.jonsson@oracle.com>
                  > branch nick: b54483-51-bt_2
                  > timestamp: Wed 2010-12-22 15:45:17 +0100
                  > message:
                  >   Bug#54483: valgrind errors when making warnings for
                  >   multiline inserts into partition
                  >   Bug#57071: EXTRACT(WEEK from date_col) cannot be
                  >   allowed as partitioning function
                  >   
                  >   Renamed function according to reviewers comments.
                ------------------------------------------------------------
                revno: 2555.863.16
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:59:29 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3527.3.1
                  > revision-id: mattias.jonsson@oracle.com-20101222095036-2lpx0gqu4i45jtkz
                  > parent: sven.sandberg@oracle.com-20101220090735-psae11j9nwuj8vzl
                  > committer: Mattias Jonsson <mattias.jonsson@oracle.com>
                  > branch nick: b54483-51-bt_2
                  > timestamp: Wed 2010-12-22 10:50:36 +0100
                  > message:
                  >   Bug#54483: valgrind errors when making warnings for multiline inserts into partition
                  >   Bug#57071: EXTRACT(WEEK from date_col) cannot be allowed as partitioning function
                  >   
                  >   There were functions allowed as partitioning functions
                  >   that implicit allowed cast. That could result in unacceptable
                  >   behaviour.
                  >   
                  >   Solution was to check that the arguments of date and time functions
                  >   have allowed types (field and date/datetime/time depending on function).
                ------------------------------------------------------------
                revno: 2555.863.15
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:57:57 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3520
                  > revision-id: sergey.glukhov@oracle.com-20101214093303-wmo9mqcb8rz0wv9f
                  > parent: tor.didriksen@oracle.com-20101213161301-81lprlbune7r98dl
                  > committer: Sergey Glukhov <sergey.glukhov@oracle.com>
                  > branch nick: mysql-5.1-bugteam
                  > timestamp: Tue 2010-12-14 12:33:03 +0300
                  > message:
                  >   Fixed following problems:
                  >   --Bug#52157 various crashes and assertions with multi-table update, stored function
                  >   --Bug#54475 improper error handling causes cascading crashing failures in innodb/ndb
                  >   --Bug#57703 create view cause Assertion failed: 0, file .\item_subselect.cc, line 846
                  >   --Bug#57352 valgrind warnings when creating view
                  >   --Recently discovered problem when a nested materialized derived table is used
                  >     before being populated and it leads to incorrect result
                  >   
                  >   We have several modes when we should disable subquery evaluation.
                  >   The reasons for disabling are different. It could be
                  >   uselessness of the evaluation as in case of 'CREATE VIEW'
                  >   or 'PREPARE stmt', or we should disable subquery evaluation
                  >   if tables are not locked yet as it happens in bug#54475, or
                  >   too early evaluation of subqueries can lead to wrong result
                  >   as it happened in Bug#19077.
                  >   Main problem is that if subquery items are treated as const
                  >   they are evaluated in ::fix_fields(), ::fix_length_and_dec()
                  >   of the parental items as a lot of these methods have
                  >   Item::val_...() calls inside.
                  >   We have to make subqueries non-const to prevent unnecessary
                  >   subquery evaluation. At the moment we have different methods
                  >   for this. Here is a list of these modes:
                  >   
                  >   1. PREPARE stmt;
                  >   We use UNCACHEABLE_PREPARE flag.
                  >   It is set during parsing in sql_parse.cc, mysql_new_select() for
                  >   each SELECT_LEX object and cleared at the end of PREPARE in
                  >   sql_prepare.cc, init_stmt_after_parse(). If this flag is set
                  >   subquery becomes non-const and evaluation does not happen.
                  >   
                  >   2. CREATE|ALTER VIEW, SHOW CREATE VIEW, I_S tables which
                  >      process FRM files
                  >   We use LEX::view_prepare_mode field. We set it before
                  >   view preparation and check this flag in
                  >   ::fix_fields(), ::fix_length_and_dec().
                  >   Some bugs are fixed using this approach,
                  >   some are not(Bug#57352, Bug#57703). The problem here is
                  >   that we have a lot of ::fix_fields(), ::fix_length_and_dec()
                  >   where we use Item::val_...() calls for const items.
                  >   
                  >   3. Derived tables with subquery = wrong result(Bug19077)
                  >   The reason of this bug is too early subquery evaluation.
                  >   It was fixed by adding Item::with_subselect field
                  >   The check of this field in appropriate places prevents
                  >   const item evaluation if the item have subquery.
                  >   The fix for Bug19077 fixes only the problem with
                  >   convert_constant_item() function and does not cover
                  >   other places(::fix_fields(), ::fix_length_and_dec() again)
                  >   where subqueries could be evaluated.
                  >   
                  >   Example:
                  >   CREATE TABLE t1 (i INT, j BIGINT);
                  >   INSERT INTO t1 VALUES (1, 2), (2, 2), (3, 2);
                  >   SELECT * FROM (SELECT MIN(i) FROM t1
                  >   WHERE j = SUBSTRING('12', (SELECT * FROM (SELECT MIN(j) FROM t1) t2))) t3;
                  >   DROP TABLE t1;
                  >   
                  >   4. Derived tables with subquery where subquery
                  >      is evaluated before table locking(Bug#54475, Bug#52157)
                  >   
                  >   Suggested solution is following:
                  >   
                  >   -Introduce new field LEX::context_analysis_only with the following
                  >    possible flags:
                  >    #define CONTEXT_ANALYSIS_ONLY_PREPARE 1
                  >    #define CONTEXT_ANALYSIS_ONLY_VIEW    2
                  >    #define CONTEXT_ANALYSIS_ONLY_DERIVED 4
                  >   -Set/clean these flags when we perform
                  >    context analysis operation
                  >   -Item_subselect::const_item() returns
                  >    result depending on LEX::context_analysis_only.
                  >    If context_analysis_only is set then we return
                  >    FALSE that means that subquery is non-const.
                  >    As all subquery types are wrapped by Item_subselect
                  >    it allow as to make subquery non-const when
                  >    it's necessary.
                ------------------------------------------------------------
                revno: 2555.863.14
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:55:28 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3518
                  > revision-id: sergey.glukhov@oracle.com-20101213114812-kaq7sh0s623128lv
                  > parent: sergey.glukhov@oracle.com-20101213103926-okypkn10adeeyns8
                  > committer: Sergey Glukhov <sergey.glukhov@oracle.com>
                  > branch nick: mysql-5.1-bugteam
                  > timestamp: Mon 2010-12-13 14:48:12 +0300
                  > message:
                  >   Bug#39828 : Autoinc wraps around when offset and increment > 1
                  >   Auto increment value wraps when performing a bulk insert with
                  >   auto_increment_increment and auto_increment_offset greater than
                  >   one.
                  >   The fix:
                  >   If overflow happened then return MAX_ULONGLONG value as an
                  >   indication of overflow and check this before storing the
                  >   value into the field in update_auto_increment().
                ------------------------------------------------------------
                revno: 2555.863.13
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:37:36 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3517
                  > revision-id: sergey.glukhov@oracle.com-20101213103926-okypkn10adeeyns8
                  > parent: davi.arnaut@oracle.com-20101207150620-s49dstok48oy585o
                  > committer: Sergey Glukhov <sergey.glukhov@oracle.com>
                  > branch nick: mysql-5.1-bugteam
                  > timestamp: Mon 2010-12-13 13:39:26 +0300
                  > message:
                  >   Bug#58396 group_concat and explain extended are still crashy
                  >   Explain fails at fix_fields stage and some items are left unfixed,
                  >   particulary Item_group_concat. Item_group_concat::orig_args field
                  >   is uninitialized in this case and Item_group_concat::print call 
                  >   leads to crash.
                  >   The fix:
                  >   move the initialization of Item_group_concat::orig_args
                  >   into constructor.
                ------------------------------------------------------------
                revno: 2555.863.12
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:30:48 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3507.1.7
                  > revision-id: guilhem@mysql.com-20101122085759-53uuoyqyjkh4em2m
                  > parent: davi.arnaut@oracle.com-20101120142951-l0f3bxmcwibcplxq
                  > committer: Guilhem Bichot <guilhem@mysql.com>
                  > branch nick: mysql-5.1-bugteam
                  > timestamp: Mon 2010-11-22 09:57:59 +0100
                  > message:
                  >   Fix for Bug#56138 "valgrind errors about overlapping memory when double-assigning same variable",
                  >   and related small fixes.
                ------------------------------------------------------------
                revno: 2555.863.11
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:28:45 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3507.1.26
                  > revision-id: mattias.jonsson@oracle.com-20101201112046-2ugtweya0dltcrys
                  > parent: nirbhay.choubey@sun.com-20101201065531-w2f0j3g5yzok8z9x
                  > committer: Mattias Jonsson <mattias.jonsson@oracle.com>
                  > branch nick: b56380-51-bt
                  > timestamp: Wed 2010-12-01 12:20:46 +0100
                  > message:
                  >   Bug#56380: valgrind memory leak warning from partition tests
                  >   
                  >   There could be memory leaks if ALTER ... PARTITION command fails.
                  >   
                  >   Problem was that the list of items to free was not set in
                  >   the partition info structure when fix_partition_func call failed
                  >   during ALTER ... PARTITION.
                  >   
                  >   Solved by always setting the list in the partition info struct.
                ------------------------------------------------------------
                revno: 2555.863.10
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:26:44 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3504
                  > revision-id: svoj@oracle.com-20101111100317-3bjzbj6c2ihfzb9t
                  > parent: dmitry.shulga@oracle.com-20101111045251-jl1spfh3xjti1sll
                  > committer: Sergey Vojtovich <svoj@oracle.com>
                  > branch nick: mysql-5.1-bugteam-bug58079
                  > timestamp: Thu 2010-11-11 13:03:17 +0300
                  > message:
                  >   BUG#58079 - Remove the IBM DB2 storage engine
                ------------------------------------------------------------
                revno: 2555.863.9
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:22:26 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3496.1.39
                  > revision-id: jon.hauglid@oracle.com-20101019081957-zf2ohl7wgnhvnnb0
                  > parent: tor.didriksen@oracle.com-20101019070648-jhi9ezq3b5qk4wcm
                  > committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
                  > branch nick: mysql-5.1-bugteam-bug57274
                  > timestamp: Tue 2010-10-19 10:19:57 +0200
                  > message:
                  >   Bug #57274 SET GLOBAL debug crashes on Solaris in embedded server mode
                  >              (variables_debug fails)
                  >   
                  >   The problem was that "SET GLOBAL debug" could cause a crash on Solaris.
                  >   The crash happened if the server failed to open the trace file given in 
                  >   the "SET GLOBAL debug" statement. This caused an error message to be
                  >   printed to stderr containing the process name. However, printing to
                  >   stderr crashed the server since the pointer to the process name had
                  >   not been initialized.
                  >   
                  >   This patch fixes the problem by initializing the process name 
                  >   properly when doing "SET GLOBAL debug".
                  >   
                  >   No test case added as this bug was repeatable with existing test
                  >   coverage in variables_debug.test.
                ------------------------------------------------------------
                revno: 2555.863.8
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:21:06 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3452.17.1
                  > revision-id: mattias.jonsson@oracle.com-20101005125751-ds92svhhb13ds8ri
                  > parent: sergey.glukhov@sun.com-20101004085126-ia6veky4w6j87i43
                  > committer: Mattias Jonsson <mattias.jonsson@oracle.com>
                  > branch nick: b55091-51-security
                  > timestamp: Tue 2010-10-05 14:57:51 +0200
                  > message:
                  >   Bug#55091: Server crashes on ADD PARTITION after a failed attempt
                  >   
                  >   In case of failure in ALTER ... PARTITION under LOCK TABLE
                  >   the server could crash, due to it had modified the locked
                  >   table object, which was not reverted in case of failure,
                  >   resulting in a bad table definition used after the failed
                  >   command.
                  >   
                  >   Solved by always closing the LOCKED TABLE, even in case
                  >   of error.
                  >   
                  >   Note: this is a 5.1-only fix, bug#56172 fixed it in 5.5+
                ------------------------------------------------------------
                revno: 2555.863.7
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:15:36 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3452.13.54
                  > revision-id: oystein.grovlen@oracle.com-20110112093715-tc076voaxwblqk8v
                  > parent: georgi.kodinov@oracle.com-20110110130833-1c9q21mr7zoq07vg
                  > committer: Oystein Grovlen <oystein.grovlen@oracle.com>
                  > branch nick: mysql-5.1-security
                  > timestamp: Wed 2011-01-12 10:37:15 +0100
                  > message:
                  >   Bug#59211: Select Returns Different Value for min(year) Function
                  >   
                  >   get_year_value() contains code to convert 2-digits year to
                  >   4-digits.  The fix for Bug#49910 added a check on the size of
                  >   the underlying field so that this conversion is not done for
                  >   YEAR(4) values. (Since otherwise one would convert invalid
                  >   YEAR(4) values to valid ones.)
                  >   
                  >   The existing check does not work when Item_cache is used, since
                  >   it is not detected when the cache is based on a Field.  The
                  >   reported change in behavior is due to Bug#58030 which added
                  >   extra cached items in min/max computations.
                  >   
                  >   The elegant solution would be to implement
                  >   Item_cache::real_item() to return the underlying Item.
                  >   However, some side effects are observed (change in explain
                  >   output) that indicates that such a change is not straight-
                  >   forward, and definitely not appropriate for an MRU.
                  >   
                  >   Instead, a Item_cache::field() method has been added in order
                  >   to get access to the underlying field.  (This field() method
                  >   eliminates the need for Item_cache::eq_def() used in
                  >   test_if_ref(), but in order to limit the scope of this fix,
                  >   that code has been left as is.)
                ------------------------------------------------------------
                revno: 2555.863.6
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:13:20 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3452.13.4 [merge]
                  > revision-id: mmakela@bk-internal.mysql.com-20101011192851-u3bdt7erjkrgn90t
                  > parent: marko.makela@oracle.com-20101011081800-sby6kmb8n1mnryfq
                  > parent: jimmy.yang@oracle.com-20101011123613-guz1qgdktywmel1g
                  > committer: Marko Makela <mmakela@bk-internal.mysql.com>
                  > branch nick: mysql-5.1-security
                  > timestamp: Mon 2010-10-11 21:28:51 +0200
                  > message:
                  >   Merge Bug #57345, Bug #56982, Bug#53307 test from mysql-5.1-innodb
                  > ------------------------------------------------------------
                  > Use --include-merges or -n0 to see merged revisions.
                ------------------------------------------------------------
                revno: 2555.863.5
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:10:07 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 3351.14.280
                  > revision-id: inaam.rana@oracle.com-20101026205418-aq835zpvxdskdf4c
                  > parent: jimmy.yang@oracle.com-20101025055121-j319j363abfgdh6n
                  > committer: Inaam Rana <inaam.rana@oracle.com>
                  > branch nick: mysql-5.1-innodb
                  > timestamp: Tue 2010-10-26 16:54:18 -0400
                  > message:
                  >   Bug #57611	ibdata file and continuous growing undo logs
                  >   rb://498
                  >   
                  >   Fix handling of update_undo_logs at trx commit. Previously, when
                  >   rseg->update_undo_list grows beyond 500 the update_undo_logs were
                  >   marked with state TRX_UNDO_TO_FREE which should have been
                  >   TRX_UNDO_TO_PURGE.
                  >   
                  >   Approved by: Sunny Bains
                ------------------------------------------------------------
                revno: 2555.863.4
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:08:15 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 1810.3987.44
                  > revision-id: alexander.nozdrin@oracle.com-20101124095339-oatpqq684jpbbso2
                  > parent: alexander.nozdrin@oracle.com-20101122132749-tl6m39zsfgvzi2mf
                  > committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
                  > branch nick: mysql-5.0-bugteam
                  > timestamp: Wed 2010-11-24 12:53:39 +0300
                  > message:
                  >   A follow-up for Bug#58340 (Remove Server GPL EXCEPTIONS-CLIENT file) -- remove all
                  >   EXCEPTIONS-CLIENT from all the places.
                ------------------------------------------------------------
                revno: 2555.863.3
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 21:03:17 +0100
                message:
                  Backport into build-201102032246-5.1.52sp1
                  
                  > ------------------------------------------------------------
                  > revno: 1810.3987.43
                  > revision-id: alexander.nozdrin@oracle.com-20101122132749-tl6m39zsfgvzi2mf
                  > parent: alexander.nozdrin@oracle.com-20101122132550-hcu608iuq5un9k0q
                  > committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
                  > branch nick: mysql-5.0-bugteam
                  > timestamp: Mon 2010-11-22 16:27:49 +0300
                  > message:
                  >   Patch for Bug#58340 (Remove Server GPL EXCEPTIONS-CLIENT file).
                ------------------------------------------------------------
                revno: 2555.863.2
                author: hery.ramilison@oracle.com
                committer: MySQL Build Team <build@mysql.com>
                branch nick: mysql-5.1.52sp1-release
                timestamp: Wed 2011-02-09 19:02:38 +0100
                message:
                  Set version number for mysql-5.1.52sp1 release
            ------------------------------------------------------------
            revno: 2555.900.39
            committer: Nirbhay Choubey <nirbhay.choubey@sun.com>
            branch nick: mysql-5.1
            timestamp: Tue 2011-02-22 19:28:50 +0530
            message:
              Postfix for tests failing due to fix for bug#11766310.
            ------------------------------------------------------------
            revno: 2555.900.38
            committer: Nirbhay Choubey <nirbhay.choubey@sun.com>
            branch nick: mysql-5.1.59398
            timestamp: Mon 2011-02-21 12:37:24 +0530
            message:
              Bug#11766310 : 59398: MYSQLDUMP 5.1 CAN'T HANDLE A DASH
                             ("-") IN DATABASE NAMES IN ALTER DATABASE.
              
              mysqldump did not quote database name in 'ALTER DATABASE'
              statements in its output. This can further cause a failure
              while loading if database name contains a hyphen '-'.
              
              This happened as, while printing the 'ALTER DATABASE'
              statements, the database name was not quoted.
              
              Fixed by quoting the database name.
            ------------------------------------------------------------
            revno: 2555.900.37
            committer: Alexander Barkov <alexander.barkov@oracle.com>
            branch nick: mysql-5.1.b58036v3
            timestamp: Fri 2011-02-18 17:17:37 +0300
            message:
              A post-fix for b58036.
            ------------------------------------------------------------
            revno: 2555.900.36
            committer: Alexander Barkov <alexander.barkov@oracle.com>
            branch nick: mysql-5.1.b58036v3
            timestamp: Fri 2011-02-18 16:12:36 +0300
            message:
              Bug#11765108 (Bug#58036) client utf32, utf16, ucs2 should be disallowed, they crash server
              
              A separate fix for 5.1 (as 5.1 and 5.5 have seriously
              differged in the related pieces of the code).
              A patch for 5.5 was approved earlier.
              
              Problem: ucs2 was correctly disallowed in "SET NAMES" only,
              while mysql_real_connect() and mysql_change_user() still allowed
              to use ucs2, which made server crash.
              
              Fix: disallow ucs2 in mysql_real_connect() and mysql_change_user().
              
                @ sql/sql_priv.h
                  - changing return type for thd_init_client_charset() to bool,
                    to return errors to the caller
              
                @ sql/sql_var.cc
                  - using new function
              
                @ sql/sql_connect.cc
                  - thd_client_charset_init:
                    in case of unsupported client character set send error and return true;
                    in case of success return false
                  - check_connection:
                    Return error if character set initialization failed
              
                @ sql/sql_parse.cc
                  - check charset in the very beginnig of the CMD_CHANGE_USER handling code
              
                @ tests/mysql_client_test.c
                  - adding tests
            ------------------------------------------------------------
            revno: 2555.900.35 [merge]
            committer: Vasil Dimov <vasil.dimov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Fri 2011-02-18 14:57:11 +0200
            message:
              Merge mysql-5.1-innodb -> mysql-5.1
                ------------------------------------------------------------
                revno: 2555.738.349
                committer: Marko M?kel? <marko.makela@oracle.com>
                branch nick: 5.1-innodb
                timestamp: Thu 2011-02-17 22:25:33 +0200
                message:
                  Allow 30 seconds for slow shutdown in the Bug #60049 test.
                ------------------------------------------------------------
                revno: 2555.738.348
                committer: Vasil Dimov <vasil.dimov@oracle.com>
                branch nick: mysql-5.1-innodb
                timestamp: Thu 2011-02-17 19:09:53 +0200
                message:
                  Fix the non-determinism in innodb_information_schema.test
                  
                  Thanks to Kristian Nielsen for finding out the root cause for the
                  failure, see: https://bugs.launchpad.net/maria/+bug/677407
            ------------------------------------------------------------
            revno: 2555.900.34
            committer: Martin Hansson <martin.hansson@oracle.com>
            branch nick: 5.1-commit
            timestamp: Fri 2011-02-18 11:50:06 +0100
            message:
              Bug#11766675 - 59839: Aggregation followed by subquery yields wrong result
              
              The loop that was looping over subqueries' references to outer field used a
              local boolean variable to tell whether the field was grouped or not. But the
              implementor failed to reset the variable after each iteration. Thus a field
              that was not directly aggregated appeared to be.
              
              Fixed by resetting the variable upon each new iteration.
            ------------------------------------------------------------
            revno: 2555.900.33 [merge]
            committer: Vasil Dimov <vasil.dimov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-02-17 14:07:39 +0200
            message:
              Merge mysql-5.1 from bk-internal into my local repo
                ------------------------------------------------------------
                revno: 2555.909.1
                committer: Magne Mahre <magne.mahre@oracle.com>
                branch nick: mysql-5.1-48053
                timestamp: Thu 2011-02-17 12:43:53 +0100
                message:
                  Bug#48053 String::c_ptr has a race and/or does an invalid 
                            memory reference
                  
                  There are two issues present here.
                    1) There is a possibility that we test a byte beyond the
                       allocated buffer
                  
                    2) We compare a byte that might never have been
                       initalized to see if it's 0.
                  
                  The first issue is not triggered by existing code, but an
                  ASSERT has been added to safe-guard against introducing
                  new code that triggers it.
                  
                  The second issue is what triggers the Valgrind warnings
                  reported in the bug report. A buffer is allocated in
                  class String to hold the value. This buffer is populated
                  by the character data constituting the string, but is not
                  zero-terminated in most cases.  Testing if it is indeed
                  zero-terminated means that we check a byte that has never
                  been explicitly set, thus causing Valgrind to trigger.
                  
                  Note that issue 2 is not a serious problem.  The variable
                  is read, and if it's not zero, we will set it to zero.
                  There are no further consequences.
                  
                  Note that this patch does not fix the underlying problems
                  with issue 1, as it is deemed too risky to fix at this
                  point (as noted in the bug report).  As discussed in
                  the report, the c_ptr() method should probably be
                  replaced, but this requires a thorough analysis of the
                  ~200 calls to the method.
            ------------------------------------------------------------
            revno: 2555.900.32 [merge]
            committer: Vasil Dimov <vasil.dimov@oracle.com>
            branch nick: mysql-5.1
            timestamp: Thu 2011-02-17 13:56:05 +0200
            message:
              Merge mysql-5.1-innodb -> mysql-5.1
                ------------------------------------------------------------
                revno: 2555.738.347
                committer: Marko M?kel? <marko.makela@oracle.com>
                branch nick: 5.1-innodb
                timestamp: Thu 2011-02-17 09:45:07 +0200
                message:
                  Disable the Bug #60049 test on embedded, as it requires server restart.
                ------------------------------------------------------------
                revno: 2555.738.346
                committer: Marko M?kel? <marko.makela@oracle.com>
                branch nick: 5.1-innodb
                timestamp: Wed 2011-02-16 15:34:16 +0200
                message:
                  Make the implicit unpack parameter explicit in the Bug #60049 test.
                ------------------------------------------------------------
                revno: 2555.738.345
                committer: Marko M?kel? <marko.makela@oracle.com>
                branch nick: 5.1-innodb
                timestamp: Tue 2011-02-15 12:12:27 +0200
                message:
                  Add a test for suspected Bug#60049.
                ------------------------------------------------------------
                revno: 2555.738.344
                committer: Marko M?kel? <marko.makela@oracle.com>
                branch nick: 5.1-innodb
                timestamp: Tue 2011-02-15 10:51:33 +0200
                message:
                  Bug#59307 Valgrind: uninitialized value in rw_lock_set_writer_id_and_recursion_flag()
                  
                  rw_lock_create_func(): Initialize lock->writer_thread, so that Valgrind
                  will not complain even when Valgrind instrumentation is not enabled.
                  Flag lock->writer_thread uninitialized, so that Valgrind can complain
                  when it is used uninitialized.
                  
                  rw_lock_set_writer_id_and_recursion_flag(): Revert the bogus Valgrind
                  instrumentation that was pushed in the first attempt to fix this bug.
                ------------------------------------------------------------
                revno: 2555.738.343
                committer: Jimmy Yang <jimmy.yang@oracle.com>
                branch nick: mysql-5.1-innodb
                timestamp: Mon 2011-02-14 02:07:59 -0800
                message:
                  Fix Bug #59749 Enabling concurrent reads while creating non-primary unique
                  index gives failures.
                  
                  Approved by Marko
                ------------------------------------------------------------
                revno: 2555.738.342
                committer: Vasil Dimov <vasil.dimov@oracle.com>
                branch nick: mysql-5.1-innodb
                timestamp: Thu 2011-02-10 17:16:32 +0200
                message:
                  Fix Bug#59307 Valgrind: uninitialized value in rw_lock_set_writer_id_and_recursion_flag()
                  
                  by silencing a bogus Valgrind warning:
                  
                  ==4392== Conditional jump or move depends on uninitialised value(s)
                  ==4392==    at 0x5A18416: rw_lock_set_writer_id_and_recursion_flag (sync0rw.ic:283)
                  ==4392==    by 0x5A1865C: rw_lock_x_lock_low (sync0rw.c:558)
                  ==4392==    by 0x5A18481: rw_lock_x_lock_func (sync0rw.c:617)
                  ==4392==    by 0x597EEE6: mtr_x_lock_func (mtr0mtr.ic:271)
                  ==4392==    by 0x597EBBD: fsp_header_init (fsp0fsp.c:970)
                  ==4392==    by 0x5A15E78: innobase_start_or_create_for_mysql (srv0start.c:1508)
                  ==4392==    by 0x598B789: innobase_init(void*) (ha_innodb.cc:2282)
                  
                  os_compare_and_swap_thread_id() is defined as
                  __sync_bool_compare_and_swap(). From the GCC doc:
                  
                  `bool __sync_bool_compare_and_swap (TYPE *ptr, TYPE oldval TYPE newval, ...)'
                    ...
                    The "bool" version returns true if the comparison is successful and
                    NEWVAL was written.
                  
                  So it is not possible that the return value is uninitialized, no matter what
                  the arguments to os_compare_and_swap_thread_id() are. Probably Valgrind gets
                  confused by the implementation of the GCC internal function
                  __sync_bool_compare_and_swap().
                ------------------------------------------------------------
                revno: 2555.738.341
                committer: Vasil Dimov <vasil.dimov@oracle.com>
                branch nick: mysql-5.1-innodb
                timestamp: Thu 2011-02-10 13:21:22 +0200
                message:
                  Increment InnoDB Plugin version from 1.0.15 to 1.0.16.
                  InnoDB Plugin 1.0.15 has been released with MySQL 5.1.55.
                ------------------------------------------------------------
                revno: 2555.738.340
                committer: Marko M?kel? <marko.makela@oracle.com>
                branch nick: 5.1-innodb
                timestamp: Tue 2011-02-08 12:56:23 +0200
                message:
                  Implement UNIV_BLOB_DEBUG. An early version of this caught Bug #55284.
                  
                  This option is known to be broken when tablespaces contain off-page
                  columns after crash recovery. It has only been tested when creating
                  the data files from the scratch.
                  
                  btr_blob_dbg_t: A map from page_no:heap_no:field_no to first_blob_page_no.
                  This map is instantiated for every clustered index in index->blobs.
                  It is protected by index->blobs_mutex.
                  
                  btr_blob_dbg_msg_issue(): Issue a diagnostic message.
                  Invoked when btr_blob_dbg_msg is set.
                  
                  btr_blob_dbg_rbt_insert(): Insert a btr_blob_dbg_t into index->blobs.
                  
                  btr_blob_dbg_rbt_delete(): Remove a btr_blob_dbg_t from index->blobs.
                  
                  btr_blob_dbg_cmp(): Comparator for btr_blob_dbg_t.
                  
                  btr_blob_dbg_add_blob(): Add a BLOB reference to the map.
                  
                  btr_blob_dbg_add_rec(): Add all BLOB references from a record to the map.
                  
                  btr_blob_dbg_print(): Display the map of BLOB references in an index.
                  
                  btr_blob_dbg_remove_rec(): Remove all BLOB references of a record from
                  the map.
                  
                  btr_blob_dbg_is_empty(): Check that no BLOB references exist to or
                  from a page. Disowned references from delete-marked records are
                  tolerated.
                  
                  btr_blob_dbg_op(): Perform an operation on all BLOB references on a
                  B-tree page.
                  
                  btr_blob_dbg_add(): Add all BLOB references from a B-tree page to the
                  map.
                  
                  btr_blob_dbg_remove(): Remove all BLOB references from a B-tree page
                  from the map.
                  
                  btr_blob_dbg_restore(): Restore the BLOB references after a failed
                  page reorganize.
                  
                  btr_blob_dbg_set_deleted_flag(): Modify the 'deleted' flag in the BLOB
                  references of a record.
                  
                  btr_blob_dbg_owner(): Own or disown a BLOB reference.
                  
                  btr_page_create(), btr_page_free_low(): Assert that no BLOB references exist.
                  
                  btr_create(): Create index->blobs for clustered indexes.
                  
                  btr_page_reorganize_low(): Invoke btr_blob_dbg_remove() before copying
                  the records. Invoke btr_blob_dbg_restore() if the operation fails.
                  
                  btr_page_empty(), btr_lift_page_up(), btr_compress(), btr_discard_page():
                  Invoke btr_blob_dbg_remove().
                  
                  btr_cur_del_mark_set_clust_rec(): Invoke btr_blob_dbg_set_deleted_flag().
                  
                  Other cases of modifying the delete mark are either in the secondary
                  index or during crash recovery, which we do not promise to support.
                  
                  btr_cur_set_ownership_of_extern_field(): Invoke btr_blob_dbg_owner().
                  
                  btr_store_big_rec_extern_fields(): Invoke btr_blob_dbg_add_blob().
                  
                  btr_free_externally_stored_field(): Invoke btr_blob_dbg_assert_empty()
                  on the first BLOB page.
                  
                  page_cur_insert_rec_low(), page_cur_insert_rec_zip(),
                  page_copy_rec_list_end_to_created_page(): Invoke btr_blob_dbg_add_rec().
                  
                  page_cur_insert_rec_zip_reorg(), page_copy_rec_list_end(),
                  page_copy_rec_list_start(): After failure, invoke
                  btr_blob_dbg_remove() and btr_blob_dbg_add().
                  
                  page_cur_delete_rec(): Invoke btr_blob_dbg_remove_rec().
                  
                  page_delete_rec_list_end(): Invoke btr_blob_dbg_op(btr_blob_dbg_remove_rec).
                  
                  page_zip_reorganize(): Invoke btr_blob_dbg_remove() before copying the records.
                  
                  page_zip_copy_recs(): Invoke btr_blob_dbg_add().
                  
                  row_upd_rec_in_place(): Invoke btr_blob_dbg_rbt_delete() and
                  btr_blob_dbg_rbt_insert().
                  
                  innobase_start_or_create_for_mysql(): Warn when UNIV_BLOB_DEBUG is enabled.
                  
                  rb://550 approved by Jimmy Yang
            ------------------------------------------------------------
            revno: 2555.900.31 [merge]
            committer: Jonathan Perkin <jonathan.perkin@oracle.com>
            branch nick: mysql-5.1
            timestamp: Wed 2011-02-16 14:43:56 -0800
            message:
              Merge to mysql-5.1
                ------------------------------------------------------------
                revno: 1810.4000.14
                committer: Jonathan Perkin <jonathan.perkin@oracle.com>
                branch nick: mysql-5.0
                timestamp: Wed 2011-02-16 14:42:44 -0800
                message:
                  Updated README file.
            ------------------------------------------------------------
            revno: 2555.900.30
            committer: Bjorn Munch <bjorn.munch@oracle.com>
            branch nick: main-51
            timestamp: Wed 2011-02-16 21:43:12 +0100
            message:
              Simple fix of suppress pattern in test insert_select
            ------------------------------------------------------------
            revno: 2555.900.29
            committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
            branch nick: mysql-5.1-test
            timestamp: Wed 2011-02-16 18:19:10 +0100
            message:
              Followup to Bug #11752069 (former bug 43152)
              Assertion `bitmap_is_set_all(&table->s->all_set)' failed in
              handler::ha_reset
              
              This followup fixes the compilation warning
                'test_bit' may be used uninitialized in this function
              introduced by the previous patch.
            ------------------------------------------------------------
            revno: 2555.900.28
            committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
            branch nick: mysql-5.1-bug11752069
            timestamp: Wed 2011-02-16 16:26:19 +0100
            message:
              Bug #11752069 (former bug 43152)
              Assertion `bitmap_is_set_all(&table->s->all_set)' failed in
              handler::ha_reset
              
              This assertion could be triggered if two connections simultaneously
              executed two bitmap test functions on the same bitmap. For example,
              the assertion could be triggered if one connection executed UPDATE
              while a second connection executed SELECT on the same table.
              
              Even if bitmap test functions have read-only semantics and have
              const bitmaps as parameter, several of them modified the internal
              state of the bitmap. With interleaved execution of two such functions
              it was possible for one function to modify the state of the same
              bitmap that the other function had just modified. This lead to an
              inconsistent state and could trigger the assert.
              
              Internally the bitmap uses 32 bit words for storage. Since bitmaps
              can contain any number of bits, the last word in the bitmap may
              not be fully used. A 32 bit mask is maintained where a bit is set
              if the corresponding bit in the last bitmap word is unused.
              The problem was that several test functions applied this mask to
              the last word. Sometimes the mask was negated and used to zero out
              the remainder of the last word and sometimes the mask was used as-is
              to fill the remainder of the last word with 1's. This meant that if
              a function first used the negated mask and another function then
              used the mask as-is (or vice-versa), the first function would then
              get the wrong result.
              
              This patch fixes the problem by changing the implementation of
              9 bitmap functions that modified the bitmap state even if the 
              bitmap was declared const. These functions now preserve the
              internal state of the bitmap. This makes it possible for
              two connections to concurrently execute two of these functions
              on the same bitmap without issues.
              
              The patch also removes dead testing code from my_bitmap.c.
              These tests have already been moved to unittest/mysys/bitmap-t.c.
              Existing test coverage of my_bitmap has been extended.
              
              No MTR test case added as this would require adding several sync
              points to the bitmap functions. The patch has been tested with
              a non-deterministic test case posted on the bug report.
            ------------------------------------------------------------
            revno: 2555.900.27
            committer: Dmitry Lenev <Dmitry.Lenev@oracle.com>
            branch nick: mysql-5.1-59888
            timestamp: Tue 2011-02-15 14:03:05 +0300
            message:
              Fix for bug#11766714 (former bug @59888) "debug assertion when
              attempt to create spatial index on char > 31 bytes".
              
              Attempt to create spatial index on char field with length
              greater than 31 byte led to assertion failure on server
              compiled with safemutex support.
              
              The problem occurred in mi_create() function which was called
              to create a new version of table being altered. This function
              failed since it detected an attempt to create a spatial key
              on non-binary column and tried to return an error.
              On its error path it tried to unlock THR_LOCK_myisam mutex
              which has not been not locked at this point. Indeed such an
              incorrect behavior was caught by safemutex wrapper and caused
              assertion failure.
              
              This patch fixes the problem by ensuring that mi_create()
              doesn't releases THR_LOCK_myisam mutex on error path if it was
              not acquired.
            ------------------------------------------------------------
            revno: 2555.900.26
            committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com>
            branch nick: mysql-5.1
            timestamp: Fri 2011-02-11 12:09:04 +0200
            message:
              version bump to 5.1.57
        ------------------------------------------------------------
        revno: 2555.908.1
        committer: Sergey Vojtovich <sergey.vojtovich@oracle.com>
        branch nick: mysql-5.1-security-push
        timestamp: Thu 2011-03-03 11:43:07 +0300
        message:
          BUG#11764339 - valgrind errors, random data when returning
                         ordered data from archive tables
          
          Archive was using wrong memory address to check if field
          is NULL (after filesort, when reading record again).
    ------------------------------------------------------------
    revno: 2555.907.3
    committer: Kristofer Pettersson <kristofer.pettersson@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Fri 2011-03-11 15:10:15 +0100
    message:
      Certain fields in the protcol required a strict formatting. If
      off bound values were sent to the server this could under some
      circumstances lead to a crash on the Windows platform.
    ------------------------------------------------------------
    revno: 2555.907.2
    committer: Magne Mahre <magne.mahre@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Thu 2011-02-24 12:23:38 +0100
    message:
      Bug#11767480 - SPATIAL INDEXES ON NON-SPATIAL COLUMNS CAUSE CRASHES.
            
      This is a backport of the patch for MySQL Bug#50574.
            
      Adding a SPATIAL INDEX on non-geometrical columns caused a
      segmentation fault when the table was subsequently 
      inserted into.
                  
      A test was added in mysql_prepare_create_table to explicitly
      check whether non-geometrical columns are used in a
      spatial index, and throw an error if so.
            
      For MySQL 5.5 and later, a new and more meaningful error 
      message was introduced.  For 5.1, we (re-)use an existing
      error code.
    ------------------------------------------------------------
    revno: 2555.907.1
    committer: Jonathan Perkin <jonathan.perkin@oracle.com>
    branch nick: mysql-5.1-security
    timestamp: Fri 2011-02-11 11:32:03 +0100
    message:
      Raise version number after cloning 5.1.56
------------------------------------------------------------
revno: 3462
committer: jonas oreland <jonas.oreland@oracle.com>
branch nick: telco-6.3
timestamp: Mon 2012-01-02 15:49:29 +0100
message:
  ndb - anual fix of ctype_cp932_binlog_stm
------------------------------------------------------------
revno: 3461
committer: jonas oreland <jonas.oreland@oracle.com>
branch nick: telco-6.3
timestamp: Tue 2011-11-08 10:01:00 +0100
message:
  ndb - bump version to 6.3.48
------------------------------------------------------------
revno: 3460
tags: clone-mysql-5.1.56-ndb-6.3.47-src-build
committer: Jonas Oreland <jonas.oreland@oracle.com>
branch nick: telco-6.3
timestamp: Mon 2011-11-07 15:23:36 +0100
message:
  ndb - backport bug#12728221
