1. 14 Oct, 2009 3 commits
    • Sergey Vojtovich's avatar
      BUG#47455 - The myisam_crash_before_flush_keys test fails on Windows · 84935c39
      Sergey Vojtovich authored
      Simplified and made more determenistic myisam_crash_before_flush_keys
      test.
      
      mysql-test/r/myisam_crash_before_flush_keys.result:
        We don't need myisamchk to test this bug fix. CHECK TABLE
        after server restart is enough to ensure that the fix
        works.
      mysql-test/t/myisam_crash_before_flush_keys.test:
        We don't need myisamchk to test this bug fix. CHECK TABLE
        after server restart is enough to ensure that the fix
        works.
      84935c39
    • Jorgen Loland's avatar
      Bug#47280 - strange results from count(*) with order by multiple · 3ab5751a
      Jorgen Loland authored
                  columns without where/group
                           
      Simple SELECT with implicit grouping used to return many rows if
      the query was ordered by the aggregated column in the SELECT
      list. This was incorrect because queries with implicit grouping
      should only return a single record.
                                    
      The problem was that when JOIN:exec() decided if execution needed
      to handle grouping, it was assumed that sum_func_count==0 meant
      that there were no aggregate functions in the query. This
      assumption was not correct in JOIN::exec() because the aggregate
      functions might have been optimized away during JOIN::optimize().
                        
      The reason why queries without ordering behaved correctly was
      that sum_func_count is only recalculated if the optimizer chooses
      to use temporary tables (which it does in the ordered case).
      Hence, non-ordered queries were correctly treated as grouped.
                        
      The fix for this bug was to remove the assumption that
      sum_func_count==0 means that there is no need for grouping. This
      was done by introducing variable "bool implicit_grouping" in the
      JOIN object.
      
      mysql-test/r/func_group.result:
        Add test for BUG#47280
      mysql-test/t/func_group.test:
        Add test for BUG#47280
      sql/opt_sum.cc:
        Improve comment for opt_sum_query()
      sql/sql_class.h:
        Add comment for variables in TMP_TABLE_PARAM
      sql/sql_select.cc:
        Introduce and use variable implicit_grouping instead of (!group_list && sum_func_count) in places that need to test if grouping is required. Also added comments for: optimization of aggregate fields for implicitly grouped queries  (JOIN::optimize) and choice of end_select method (JOIN::execute)
      sql/sql_select.h:
        Add variable implicit_grouping, which will be TRUE for queries that contain aggregate functions but no GROUP BY clause. Also added comment to sort_and_group variable.
      3ab5751a
    • unknown's avatar
      Bug#46640: output from mysqlbinlog command in 5.1 breaks replication · dafe440f
      unknown authored
            
      The BINLOG statement was sharing too much code with the slave SQL thread, introduced with
      the patch for Bug#32407. This caused statements to be logged with the wrong server_id, the
      id stored inside the events of the BINLOG statement rather than the id of the running 
      server.
            
      Fix by rearranging code a bit so that only relevant parts of the code are executed by
      the BINLOG statement, and the server_id of the server executing the statements will 
      not be overrided by the server_id stored in the 'format description BINLOG statement'.
      
      mysql-test/extra/binlog_tests/binlog.test:
        Added test to verify if the server_id stored in the 'format 
        description BINLOG statement' will override the server_id
        of the server executing the statements.
      mysql-test/suite/binlog/r/binlog_row_binlog.result:
        Test result for bug#46640
      mysql-test/suite/binlog/r/binlog_stm_binlog.result:
        Test result for bug#46640
      sql/log_event.cc:
        Moved rows_event_stmt_clean() call from update_pos() to apply_event(). This in any case
        makes more sense, and is needed as update_pos() is no longer called when executing
        BINLOG statements.
        
        Moved setting of rli->relay_log.description_event_for_exec from 
        Format_description_log_event::do_update_pos() to 
        Format_description_log_event::do_apply_event()
      sql/log_event_old.cc:
        Moved rows_event_stmt_clean() call from update_pos() to apply_event(). This in any case
        makes more sense, and is needed as update_pos() is no longer called when executing
        BINLOG statements.
      sql/slave.cc:
        The skip flag is no longer needed, as the code path for BINLOG statement has been 
        cleaned up.
      sql/sql_binlog.cc:
        Don't invoke the update_pos() code path for the BINLOG statement, as it contains code 
        that is redundant and/or harmful (especially setting thd->server_id).
      dafe440f
  2. 13 Oct, 2009 4 commits
  3. 12 Oct, 2009 5 commits
    • Satya B's avatar
      Applying Innodb Plugin 1.0.5 snapshot, part 14 · a0fa1945
      Satya B authored
      Sync the storage/innodb_plugin/mysql-test directory
      with Innodb_plugin-1.0.5/mysql-test directory
      
      Update the README file
      a0fa1945
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot, part 13 · b102db29
      Satya B authored
      1. Undo r6031 btr/btr0btr.c changes
      
      2. apply skipped Plug.in changes and missed revisions
      
      Detailed revision comments:
      
      r5865 | vasil | 2009-09-12 02:26:03 -0500 (Sat, 12 Sep 2009) | 10 lines
      branches/zip:
      
      Simplify the compile time checks by splittig them into 5 independent checks:
      
      * Whether GCC atomics are available
      * Whether pthread_t can be used by GCC atomics
      * Whether Solaris libc atomics are available
      * Whether pthread_t can be used by Solaris libs atomics
      * Checking the size of pthread_t
      
      r5869 | vasil | 2009-09-12 03:33:11 -0500 (Sat, 12 Sep 2009) | 15 lines
      branches/zip:
      
      Include ut0auxconf.h only if none of the macros it would define is defined.
      The check when to include this header was outdated from the time when there
      was only one macro involved.
      
      Move the atomics checks that are in univ.i outside of
      #if windows ... #else ... #endif
      This simplifies the code and removes some duplicates like defining
      HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches.
      
      Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events.
      Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and
      HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS.
      
      r5871 | vasil | 2009-09-12 04:25:44 -0500 (Sat, 12 Sep 2009) | 6 lines
      branches/zip:
      
      Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and 
      IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they
      all follow the same HAVE_IB_* convention.
      
      r5888 | vasil | 2009-09-14 03:38:45 -0500 (Mon, 14 Sep 2009) | 40 lines
      branches/zip:
      
      Back-merge c5880 and c5881 from branches/embedded-1.0:
      
        ------------------------------------------------------------------------
        r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines
        Changed paths:
           M /branches/embedded-1.0/configure.in
           M /branches/embedded-1.0/include/os0sync.h
           M /branches/embedded-1.0/srv/srv0start.c
        
        branches/embedded-1.0:
        
        Clean up and simplify the code that surrounds the atomic ops:
        
        * Simplify the code that prints what atomics are used:
        Instead of repeating the same conditions on which each atomics are used
        use just one printf that prints a variable defined by the code which
        chooses what atomics to use.
        
        * In os0sync.h pick up each atomic variant only if it has been selected
        by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message
        to be printed.
        
        * In configure.in: check what user has chosen and if he has chosen
        something that is not available, emit an error. If nothing has been chosen
        explicitly by the user, auto select an option according to the described
        logic in configure.in.
        
        ------------------------------------------------------------------------
        r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines
        Changed paths:
           M /branches/embedded-1.0/configure.in
        
        branches/embedded-1.0:
        
        Fix syntax error in test program.
        
        ------------------------------------------------------------------------
      
      r5889 | vasil | 2009-09-14 04:17:18 -0500 (Mon, 14 Sep 2009) | 5 lines
      branches/zip:
      
      Add missing return statement in the test program that could have
      caused a warning.
      
      r5893 | inaam | 2009-09-14 10:20:48 -0500 (Mon, 14 Sep 2009) | 10 lines
      branches/zip  rb://159
      
      In case of pages that are not made young the counter is incremented
      only when the page in question is 'old'. In case of pages that are
      made young the counter is incremented in case of all pages. For apple
      to apple comparison this patch changes the 'young-making' counter to
      consider only 'old' blocks.
      
      Approved by: Marko
      
      r5537 | vasil | 2009-07-21 04:31:26 -0500 (Tue, 21 Jul 2009) | 5 lines
      branches/zip:
      
      Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per
      line.
      r5870 | vasil | 2009-09-12 04:13:44 -0500 (Sat, 12 Sep 2009) | 7 lines
      branches/zip:
      
      Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h
      instead of in univ.i. The code expects os_*() macros to be present if
      HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define
      them next to defining the os_*() macros.
      
      r5696 | vasil | 2009-08-26 08:15:59 -0500 (Wed, 26 Aug 2009) | 14 lines
      branches/zip:
      
      Merge a change from MySQL:
      
       http://lists.mysql.com/commits/80832
      
       2968 Jonathan Perkin	2009-08-14
            Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith.
            modified:
              CMakeLists.txt
              cmd-line-utils/readline/util.c
              storage/innodb_plugin/handler/i_s.cc
              storage/innodb_plugin/include/univ.i
      
      r5897 | marko | 2009-09-15 03:29:00 -0500 (Tue, 15 Sep 2009) | 8 lines
      branches/zip: Avoid bogus messages about latching order violations when
      UNIV_SYNC_DEBUG is defined.
      
      sync_thread_levels_g(): Add the parameter "warn".  Do not print
      anything unless it is set.
      
      sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g()
      when the check is within an assertion; FALSE if it is not.
      
      r5899 | marko | 2009-09-15 06:26:01 -0500 (Tue, 15 Sep 2009) | 4 lines
      branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP.
      Since r5872, the InnoDB Hot Backup build was broken.
      Fix it by not defining any thread synchronization primitives in ut0ut.h.
      InnoDB Hot Backup is a single-threaded program.
      b102db29
    • V Narayanan's avatar
      Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20 · f3ee95e7
      V Narayanan authored
      changing year in copyright header to 2009.
      f3ee95e7
    • V Narayanan's avatar
      Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20 · a7c63bd8
      V Narayanan authored
      Fixing copyright header in test collation file.
      
      mysql-test/std_data/latin1.xml:
        Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20
        
        Fixing copy right header in test collation file.
      a7c63bd8
    • V Narayanan's avatar
      Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20 · f60f3832
      V Narayanan authored
      In MySQL when the mapping for space is changed to something other than
      0x20 by defining a different collation, then space is not ignored when
      comparing two strings.
      
      This was happening because the function that performs the comparison
      of two strings while ignoring ending spaces, was comparing the collation
      value of a space with the ascii value of the ' ' character. This should
      be changed to do comparison between the collated values.
      
      mysql-test/r/ctype_ldml.result:
        Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20
        
        Result file for test case.
      mysql-test/std_data/Index.xml:
        Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20
        
        Added entry for new test collation in the index file.
      mysql-test/std_data/latin1.xml:
        Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20
        
        Added support for new collation for test.
      mysql-test/t/ctype_ldml.test:
        Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20
        
        Added test case to ensure trailing spaces are not ignored.
      strings/ctype-simple.c:
        Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20
        
        change my_strnncollsp_simple to compare collated values when checking
        for trailing spaces. Currently the comparison happens between a collated
        value and the ascii value.
      f60f3832
  4. 09 Oct, 2009 15 commits
    • Sergey Vojtovich's avatar
      Merge fix for BUG47073. · 97fbb2f4
      Sergey Vojtovich authored
      97fbb2f4
    • Sergey Vojtovich's avatar
      BUG#47073 - valgrind errs, corruption,failed repair of partition, · 11c2da53
      Sergey Vojtovich authored
                  low myisam_sort_buffer_size
      
      Repair by sort (default) or parallel repair of a MyISAM table
      (doesn't matter partitioned or not) as well as bulk inserts
      and enable indexes some times didn't failover to repair with
      key cache.
      
      The problem was that after unsuccessful attempt, data file was
      closed. Whereas repair with key cache requires open data file.
      Fixed by reopening data file.
      
      Also fixed a valgrind warning, which may appear during repair
      by sort or parallel repair with certain myisam_sort_buffer_size
      number of rows and length of an index entry (very dependent).
      
      mysql-test/r/myisam.result:
        A test case for BUG#47073.
      mysql-test/t/myisam.test:
        A test case for BUG#47073.
      storage/myisam/ha_myisam.cc:
        Reverted fix for BUG25289. Not needed anymore.
      storage/myisam/mi_check.c:
        Reopen data file, when repair by sort or parallel repair
        fails.
        
        When repair by sort is requested to rebuild data file, data file
        gets rebuilt while fixing first index. When rebuild is completed,
        info->dfile is pointing to temporary data file, original data file
        is closed.
        
        It may happen that repair has successfully fixed first index and
        rebuilt data file, but failed to fix second index. E.g.
        myisam_sort_buffer_size was big enough to fix first shorter index,
        but not enough to fix subsequent longer index.
        
        In this case we end up with info->dfile pointing to temporary file,
        which is removed and info->dfile is set to -1.
        
        Though repair by sort failed, the upper layer may still want to
        try repair with key cache. But it needs info->dfile pointing to
        valid data file.
      storage/myisam/sort.c:
        When performing a copy of IO_CACHE structure, current_pos and
        current_end must be updated separatly to point to memory we're
        copying to (not to memory we're copying from).
        
        As t_file2 is always WRITE cache, proper members are write_pos
        and write_end accordingly.
      11c2da53
    • Martin Hansson's avatar
      Merge of bug#42846 · a6f05b0a
      Martin Hansson authored
      a6f05b0a
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot ,part 12 · ef15e36f
      Satya B authored
      From r5995 to r6043
      
      Detailed revision comments:
      
      r5995 | marko | 2009-09-28 03:52:25 -0500 (Mon, 28 Sep 2009) | 17 lines
      branches/zip: Do not write to PAGE_INDEX_ID after page creation,
      not even when restoring an uncompressed page after a compression failure.
      
      btr_page_reorganize_low(): On compression failure, do not restore
      those page header fields that should not be affected by the
      reorganization.  Instead, compare the fields.
      
      page_zip_decompress(): Add the parameter ibool all, for copying all
      page header fields.  Pass the parameter all=TRUE on block read
      completion, redo log application, and page_zip_validate(); pass
      all=FALSE in all other cases.
      
      page_zip_reorganize(): Do not restore the uncompressed page on
      failure.  It will be restored (to pre-modification state) by the
      caller anyway.
      
      rb://167, Issue #346
      r5996 | marko | 2009-09-28 07:46:02 -0500 (Mon, 28 Sep 2009) | 4 lines
      branches/zip: Address Issue #350 in comments.
      
      lock_rec_queue_validate(), lock_rec_queue_validate(): Note that
      this debug code may violate the latching order and cause deadlocks.
      r5997 | marko | 2009-09-28 08:03:58 -0500 (Mon, 28 Sep 2009) | 12 lines
      branches/zip: Remove an assertion failure when the InnoDB data dictionary
      is inconsistent with the MySQL .frm file.
      
      ha_innobase::index_read(): When the index cannot be found,
      return an error.
      
      ha_innobase::change_active_index(): When prebuilt->index == NULL,
      set also prebuilt->index_usable = FALSE.  This is not needed for
      correctness, because prebuilt->index_usable is only checked by
      row_search_for_mysql(), which requires prebuilt->index != NULL.
      
      This addresses Issue #349.  Approved by Heikki Tuuri over IM.
      r6005 | vasil | 2009-09-29 03:09:52 -0500 (Tue, 29 Sep 2009) | 4 lines
      branches/zip:
      
      ChangeLog: wrap around 78th column, not earlier.
      
      r6006 | vasil | 2009-09-29 05:15:25 -0500 (Tue, 29 Sep 2009) | 4 lines
      branches/zip:
      
      Add ChangeLog entry for the release of 1.0.4.
      
      r6007 | vasil | 2009-09-29 08:19:59 -0500 (Tue, 29 Sep 2009) | 6 lines
      branches/zip:
      
      Fix the year, should be 2009.
      
      Pointed by:	Calvin
      
      r6026 | marko | 2009-09-30 02:18:24 -0500 (Wed, 30 Sep 2009) | 1 line
      branches/zip: Add some debug assertions for checking FSEG_MAGIC_N.
      r6028 | marko | 2009-09-30 08:55:23 -0500 (Wed, 30 Sep 2009) | 3 lines
      branches/zip: recv_no_log_write: New debug flag for tracking down
      Mantis Issue #347.  No modifications should be made to the database
      while recv_apply_hashed_log_recs() is about to complete.
      r6029 | calvin | 2009-09-30 15:32:02 -0500 (Wed, 30 Sep 2009) | 4 lines
      branches/zip: non-functional changes
      
      Fix typo.
      
      r6031 | marko | 2009-10-01 06:24:33 -0500 (Thu, 01 Oct 2009) | 49 lines
      branches/zip: Clean up after a crash during DROP INDEX.
      When InnoDB crashes while dropping an index, ensure that
      the index will be completely dropped during crash recovery.
      
      row_merge_drop_index(): Before dropping an index, rename the index to
      start with TEMP_INDEX_PREFIX_STR and commit the change, so that
      row_merge_drop_temp_indexes() will drop the index after crash
      recovery if the server crashes while dropping the index.
      
      fseg_inode_try_get(): New function, forked from fseg_inode_get().
      Return NULL if the file segment index node is free.
      
      fseg_inode_get(): Assert that the file segment index node is not free.
      
      fseg_free_step(): If the file segment index node is already free,
      print a diagnostic message and return TRUE.
      
      fsp_free_seg_inode(): Write a nonzero number to FSEG_MAGIC_N, so that
      allocated-and-freed file segment index nodes can be better
      distinguished from uninitialized ones.
      
      This is rb://174, addressing Issue #348.
      
      Tested by restarting mysqld upon the completion of the added
      log_write_up_to() invocation below, during DROP INDEX.  The index was
      dropped after crash recovery, and re-issuing the DROP INDEX did not
      crash the server.
      
      Index: btr/btr0btr.c
      ===================================================================
      --- btr/btr0btr.c	(revision 6026)
      +++ btr/btr0btr.c	(working copy)
      @@ -42,6 +42,7 @@ Created 6/2/1994 Heikki Tuuri
       #include "ibuf0ibuf.h"
       #include "trx0trx.h"
      +#include "log0log.h"
       
       /*
       Latching strategy of the InnoDB B-tree
       --------------------------------------
      @@ -873,6 +874,8 @@ leaf_loop:
       
       		goto leaf_loop;
       	}
      +
      +	log_write_up_to(mtr.end_lsn, LOG_WAIT_ALL_GROUPS, TRUE);
       top_loop:
       	mtr_start(&mtr);
       
      r6033 | calvin | 2009-10-01 15:19:46 -0500 (Thu, 01 Oct 2009) | 4 lines
      branches/zip: fix a typo in error message
      
      Reported as bug#47763.
      
      r6043 | inaam | 2009-10-05 09:45:35 -0500 (Mon, 05 Oct 2009) | 12 lines
      branches/zip  rb://176
      
      Do not invalidate buffer pool while an LRU batch is active. Added
      code to buf_pool_invalidate() to wait for the running batches to finish.
      
      This patch also resets the state of buf_pool struct at invalidation. This
      addresses the concern where buf_pool->freed_page_clock becomes non-zero
      because we read in a system tablespace page for file format info at
      startup.
      
      Approved by: Marko
      
      ef15e36f
    • Mattias Jonsson's avatar
      Bug#46922 post push update · 22921da0
      Mattias Jonsson authored
      Disable the test when it will not hit the open_files_limit
      22921da0
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot, part 11 · 4c10dbde
      Satya B authored
      From revision r5945 to r5994
      r5950 - already applied and so skipped
      
      Detailed revision comments:
      
      r5945 | calvin | 2009-09-21 09:53:22 -0500 (Mon, 21 Sep 2009) | 4 lines
      branches/zip: fix a type in r5935
      
      Should be innodb_open_files, spotted by Michael.
      
      r5951 | calvin | 2009-09-22 10:17:01 -0500 (Tue, 22 Sep 2009) | 4 lines
      branches/zip: adjust CMake file to work with old versions of MySQL
      
      Tested with MySQL 5.1.38 and 5.1.30.
      
      r5956 | calvin | 2009-09-22 18:30:10 -0500 (Tue, 22 Sep 2009) | 4 lines
      branches/zip: remove handler0vars.h from Makefile.am
      
      Left over from r5950.
      
      r5971 | marko | 2009-09-23 08:03:51 -0500 (Wed, 23 Sep 2009) | 2 lines
      branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup
      when the pwrite system call is not available.
      r5972 | marko | 2009-09-23 14:44:52 -0500 (Wed, 23 Sep 2009) | 5 lines
      branches/zip: fil_node_open_file(): In InnoDB Hot Backup,
      determine the page size of single-file tablespaces before computing
      the file node size.  Otherwise, the space->size of compressed tablespaces
      would be computed with UNIV_PAGE_SIZE instead of key_block_size.
      This should fix Issue #313.
      r5973 | marko | 2009-09-23 14:53:21 -0500 (Wed, 23 Sep 2009) | 2 lines
      branches/zip: recv_add_to_hash_table():
      Simplify obfuscated pointer arithmetics.
      r5978 | marko | 2009-09-24 02:47:56 -0500 (Thu, 24 Sep 2009) | 1 line
      branches/zip: Fix warnings and errors when UNIV_HOTBACKUP is defined.
      r5979 | marko | 2009-09-24 05:16:10 -0500 (Thu, 24 Sep 2009) | 4 lines
      branches/zip: ha_innodb.cc: Define MYSQL_PLUGIN_IMPORT when necessary.
      This preprocessor symbol has been recently introduced in MySQL 5.1.
      The InnoDB Plugin should remain source compatible with MySQL 5.1.24
      and later.
      r5988 | calvin | 2009-09-25 14:14:43 -0500 (Fri, 25 Sep 2009) | 8 lines
      branches/zip: fix bug#47055 unconditional exit(1) on ERROR_WORKING_SET_QUOTA
      1453 (0x5AD) for InnoDB backend
      
      When error ERROR_WORKING_SET_QUOTA or ERROR_NO_SYSTEM_RESOURCES
      occurs, yields for 100ms and retries the operation.
      
      Approved by: Heikki (on IM)
      
      r5992 | vasil | 2009-09-28 02:10:29 -0500 (Mon, 28 Sep 2009) | 4 lines
      branches/zip:
      
      Add ChangeLog entry for c5988.
      
      r5994 | marko | 2009-09-28 03:33:59 -0500 (Mon, 28 Sep 2009) | 17 lines
      branches/zip: Try to prevent the reuse of tablespace identifiers after
      InnoDB has crashed during table creation.  Also, refuse to start if
      files with duplicate tablespace identifiers are encountered.
      
      fil_node_create(): Update fil_system->max_assigned_id.  This should
      prevent the reuse of a space->id when InnoDB does a full crash
      recovery and invokes fil_load_single_table_tablespaces().  Normally,
      fil_system->max_assigned_id is initialized from
      SELECT MAX(ID) FROM SYS_TABLES.
      
      fil_open_single_table_tablespace(): Return FALSE when
      fil_space_create() fails.
      
      fil_load_single_table_tablespace(): Exit if fil_space_create() fails
      and innodb_force_recovery=0.
      
      rb://173 approved by Heikki Tuuri.  This addresses Issue #335.
      4c10dbde
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot, part 10 · 4f9de943
      Satya B authored
      From r5917 to r5940
      
      Detailed revision comments:
      
      r5917 | marko | 2009-09-16 04:56:23 -0500 (Wed, 16 Sep 2009) | 1 line
      branches/zip: innobase_get_cset_width(): Cache the value of current_thd.
      r5919 | vasil | 2009-09-16 13:37:13 -0500 (Wed, 16 Sep 2009) | 4 lines
      branches/zip:
      
      Whitespace cleanup in the ChangeLog.
      
      r5920 | vasil | 2009-09-16 13:47:22 -0500 (Wed, 16 Sep 2009) | 4 lines
      branches/zip:
      
      Add ChangeLog entries for r5916.
      
      r5922 | marko | 2009-09-17 01:32:08 -0500 (Thu, 17 Sep 2009) | 4 lines
      branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3.
      Apparently, the definition of compressBound() has slightly changed.
      
      This has been filed as Mantis Issue #345.
      r5924 | vasil | 2009-09-17 23:59:30 -0500 (Thu, 17 Sep 2009) | 4 lines
      branches/zip:
      
      White space and formatting cleanup in the ChangeLog
      
      r5934 | vasil | 2009-09-18 12:06:46 -0500 (Fri, 18 Sep 2009) | 4 lines
      branches/zip:
      
      Fix typo.
      
      r5935 | calvin | 2009-09-18 16:08:02 -0500 (Fri, 18 Sep 2009) | 6 lines
      branches/zip: fix bug#44338; minor non-functional changes
      
      Bug#44338 innodb has message about non-existing option 
      innodb_max_files_open. Change the option to innodb_open_files.
      The fix was committed into 6.0 branch.
      
      r5938 | calvin | 2009-09-19 02:14:25 -0500 (Sat, 19 Sep 2009) | 41 lines
      branches/zip: Merge revisions 2584:2956 from branches/6.0,
      except c2932.
      
      Bug#37232 and bug#31183 were fixed in the 6.0 branch only.
      They should be fixed in the plugin too, specially MySQL 6.0
      is discontinued at this point.
      
          ------------------------------------------------------------------------
          r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines
      
          branches/6.0     bug#37232
      
          Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1.
          Now SELECT on t1 is performed as a consistent read when the isolation
          level is set to READ COMMITTED.
      
          Reviewed by: Heikki
          ------------------------------------------------------------------------
          r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines
      
          branches/6.0
      
          Added a comment to clarify why distinct calls to read MySQL binary
          log file name and log position do not entail any race condition.
      
          Suggested by: Heikki
          ------------------------------------------------------------------------
          r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines
      
          branches/6.0  bug#31183
      
          If the system tablespace runs out of space because 'autoextend' is
          not specified with innodb_data_file_path there was no error message
          printed to the error log. The client would get 'table full' error.
          This patch prints an appropriate error message to the error log.
      
          rb://43
      
          Approved by: Marko
          ------------------------------------------------------------------------
      
      r5940 | vasil | 2009-09-21 00:26:04 -0500 (Mon, 21 Sep 2009) | 4 lines
      branches/zip:
      
      Add ChangeLog entries for c5938.
      4f9de943
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot , part 9 · 46db6073
      Satya B authored
      r5888 - plug.in related changes skipped
      r5889 - skipped(plug.in related changes)
      r5916 - innodb_bug4600.test and innodb_bug44369.test
              already exists in main suite
      
      Detailed revision comments:
      
      r5875 | vasil | 2009-09-12 07:11:25 -0500 (Sat, 12 Sep 2009) | 4 lines
      branches/zip:
      
      Remove unnecessary macro.
      
      r5888 | vasil | 2009-09-14 03:38:45 -0500 (Mon, 14 Sep 2009) | 40 lines
      branches/zip:
      
      Back-merge c5880 and c5881 from branches/embedded-1.0:
      
        ------------------------------------------------------------------------
        r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines
        Changed paths:
           M /branches/embedded-1.0/configure.in
           M /branches/embedded-1.0/include/os0sync.h
           M /branches/embedded-1.0/srv/srv0start.c
        
        branches/embedded-1.0:
        
        Clean up and simplify the code that surrounds the atomic ops:
        
        * Simplify the code that prints what atomics are used:
        Instead of repeating the same conditions on which each atomics are used
        use just one printf that prints a variable defined by the code which
        chooses what atomics to use.
        
        * In os0sync.h pick up each atomic variant only if it has been selected
        by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message
        to be printed.
        
        * In configure.in: check what user has chosen and if he has chosen
        something that is not available, emit an error. If nothing has been chosen
        explicitly by the user, auto select an option according to the described
        logic in configure.in.
        
        ------------------------------------------------------------------------
        r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines
        Changed paths:
           M /branches/embedded-1.0/configure.in
        
        branches/embedded-1.0:
        
        Fix syntax error in test program.
      r5910 | marko | 2009-09-16 03:07:21 -0500 (Wed, 16 Sep 2009) | 9 lines
      branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log
      diagnostics.  This was written in order to better track down
      Issue #313 in InnoDB Hot Backup.
      
      MLOG_LSN: A new redo log entry type, for recording the current log
      sequence number (LSN).  This will be checked in an assertion in
      recv_parse_log_rec().
      
      rb://161, discussed with Sunny and Vasil.
      r5916 | marko | 2009-09-16 04:54:43 -0500 (Wed, 16 Sep 2009) | 128 lines
      branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700
      (changes to CMakeLists.txt)
      
        ------------------------------------------------------------------------
        r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines
        Changed paths:
           M /branches/5.1/Makefile.am
      
        branches/5.1:
      
        Merge a change from MySQL:
      
          ------------------------------------------------------------
          revno: 2988
          committer: Satya B <satya.bn@sun.com>
          branch nick: mysql-5.1-bugteam
          timestamp: Wed 2009-07-01 11:06:05 +0530
          message:
            Fix build failure after applying Innodb snapshot 5.1-ss5282
      
            After applying Innodb snapshot 5.1-ss5282, build was broken
            because of missing header file.
      
            Adding the header file to Makefile.am after informing the
            innodb developers.
          modified:
            storage/innobase/Makefile.am
        ------------------------------------------------------------------------
        r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/include/db0err.h
           A /branches/5.1/mysql-test/innodb_bug46000.result
           A /branches/5.1/mysql-test/innodb_bug46000.test
      
        branches/5.1: Disallow creating index with the name of
        "GEN_CLUST_INDEX" which is reserved for the default system
        primary index. (Bug #46000) rb://149 approved by Sunny Bains.
        ------------------------------------------------------------------------
        r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines
        Changed paths:
           M /branches/5.1/dict/dict0dict.c
           M /branches/5.1/handler/ha_innodb.cc
           A /branches/5.1/mysql-test/innodb_bug44369.result
           A /branches/5.1/mysql-test/innodb_bug44369.test
           M /branches/5.1/row/row0mysql.c
      
        branches/5.1: Block creating table with column name conflicting
        with Innodb reserved key words. (Bug #44369) rb://151 approved
        by Sunny Bains.
        ------------------------------------------------------------------------
        r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/include/db0err.h
           D /branches/5.1/mysql-test/innodb_bug46000.result
           D /branches/5.1/mysql-test/innodb_bug46000.test
      
        branches/5.1: Revert change in 5740. Making the fix in a subsequent
        check in.
        ------------------------------------------------------------------------
        r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines
        Changed paths:
           M /branches/5.1/dict/dict0dict.c
           M /branches/5.1/handler/ha_innodb.cc
           D /branches/5.1/mysql-test/innodb_bug44369.result
           D /branches/5.1/mysql-test/innodb_bug44369.test
           M /branches/5.1/row/row0mysql.c
      
        branches/5.1: This is to revert change 5741. A return status for
        create_table_def() needs to be fixed.
        ------------------------------------------------------------------------
        r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
      
        branches/5.1: merge change from 5.1.38
      
        HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38.
        ------------------------------------------------------------------------
        r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
      
        branches/5.1: fix bug#46256
      
        Allow tables to be dropped even if the collation is not found,
        but issue a warning.
      
        Could not find an easy way to add mysql-test since it requires
        changes to charsets and restarting the server. Tests were
        executed manually.
      
        Approved by: Heikki (on IM)
        ------------------------------------------------------------------------
        r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
      
        branches/5.1:
      
        Fix a compilation warning caused by c5799:
      
        handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)':
        handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint'
        ------------------------------------------------------------------------
        r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines
        Changed paths:
           M /branches/5.1/dict/dict0dict.c
           M /branches/5.1/handler/ha_innodb.cc
           A /branches/5.1/mysql-test/innodb_bug44369.result
           A /branches/5.1/mysql-test/innodb_bug44369.test
           M /branches/5.1/row/row0mysql.c
      
        branches/5.1: Block creating table with column name conflicting
        with Innodb reserved key words. (Bug #44369) rb://151 approved
        by Sunny Bains.
        ------------------------------------------------------------------------
        r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           A /branches/5.1/mysql-test/innodb_bug46000.result
           A /branches/5.1/mysql-test/innodb_bug46000.test
      
        branches/5.1: Disallow creating index with the name of
        "GEN_CLUST_INDEX" which is reserved for the default system
        primary index. (Bug #46000) rb://149 approved by Marko Makela.
        ------------------------------------------------------------------------
      46db6073
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot , part 8 · d59d625e
      Satya B authored
      Note : r5865 is skipped
             r5869 plug.in related changes are aslo skipped
      
      Detailed revision comments:
      
      r5865 | vasil | 2009-09-12 02:26:03 -0500 (Sat, 12 Sep 2009) | 10 lines
      branches/zip:
      
      Simplify the compile time checks by splittig them into 5 independent checks:
      
      * Whether GCC atomics are available
      * Whether pthread_t can be used by GCC atomics
      * Whether Solaris libc atomics are available
      * Whether pthread_t can be used by Solaris libs atomics
      * Checking the size of pthread_t
      
      r5866 | vasil | 2009-09-12 02:30:08 -0500 (Sat, 12 Sep 2009) | 5 lines
      branches/zip:
      
      Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because
      we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS.
      
      r5867 | vasil | 2009-09-12 02:43:45 -0500 (Sat, 12 Sep 2009) | 4 lines
      branches/zip:
      
      Update comment to reflect reality.
      
      r5868 | vasil | 2009-09-12 03:01:17 -0500 (Sat, 12 Sep 2009) | 6 lines
      branches/zip:
      
      Move the check whether to include ut0auxconf.h before everything because
      we are now even checking for GCC atomics, we relied on MySQL to define
      this macro before.
      
      r5869 | vasil | 2009-09-12 03:33:11 -0500 (Sat, 12 Sep 2009) | 15 lines
      branches/zip:
      
      Include ut0auxconf.h only if none of the macros it would define is defined.
      The check when to include this header was outdated from the time when there
      was only one macro involved.
      
      Move the atomics checks that are in univ.i outside of
      #if windows ... #else ... #endif
      This simplifies the code and removes some duplicates like defining
      HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches.
      
      Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events.
      Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and
      HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS.
      
      r5870 | vasil | 2009-09-12 04:13:44 -0500 (Sat, 12 Sep 2009) | 7 lines
      branches/zip:
      
      Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h
      instead of in univ.i. The code expects os_*() macros to be present if
      HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define
      them next to defining the os_*() macros.
      
      r5871 | vasil | 2009-09-12 04:25:44 -0500 (Sat, 12 Sep 2009) | 6 lines
      branches/zip:
      
      Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and 
      IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they
      all follow the same HAVE_IB_* convention.
      
      r5872 | vasil | 2009-09-12 04:35:17 -0500 (Sat, 12 Sep 2009) | 5 lines
      branches/zip:
      
      Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and
      INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems.
      
      d59d625e
    • Martin Hansson's avatar
      Bug#42846: wrong result returned for range scan when using · fda4fb6b
      Martin Hansson authored
      covering index
            
      When two range predicates were combined under an OR
      predicate, the algorithm tried to merge overlapping ranges
      into one. But the case when a range overlapped several other
      ranges was not handled. This lead to
      
      1) ranges overlapping, which gave repeated results and 
      2) a range that overlapped several other ranges was cut off.  
      
      Fixed by 
      
      1) Making sure that a range got an upper bound equal to the
      next range with a greater minimum.
      2) Removing a continue statement
      
      
      mysql-test/r/group_min_max.result:
        Bug#42846: Changed query plans
      mysql-test/r/range.result:
        Bug#42846: Test result.
      mysql-test/t/range.test:
        Bug#42846: Test case.
      sql/opt_range.cc:
        Bug#42846: The fix. 
        
        Part1: Previously, both endpoints from key2 were copied,
        which is not safe. Since ranges are processed in ascending
        order of minimum endpoints, it is safe to copy the minimum
        endpoint from key2 but not the maximum. The maximum may only
        be copied if there is no other range or the other range's
        minimum is greater than key2's maximum.
      fda4fb6b
    • He Zhenxing's avatar
      Bug#47323 : mysqlbinlog --verbose displays bad output when events contain subset of columns · d26d93c1
      He Zhenxing authored
      Commit the non-NDB specific part (originated by frazer) to 5.1 mainline.
      d26d93c1
    • Mattias Jonsson's avatar
      64f6ae19
    • Mattias Jonsson's avatar
      merge into mysql-5.1-bugteam · 34dd8892
      Mattias Jonsson authored
      34dd8892
    • Mattias Jonsson's avatar
      merge into mysql-5.1-bugteam · 66a33d25
      Mattias Jonsson authored
      66a33d25
    • Magnus Blåudd's avatar
      BUG#47850: too many files built in regex/ · f252487f
      Magnus Blåudd authored
       - Don't build split.c or debug.c since they are not part of the actual regex library
      f252487f
  5. 08 Oct, 2009 13 commits
    • Frazer Clement's avatar
      Merge 5.0-bugteam-> 5.1-bugteam · 5a15535d
      Frazer Clement authored
      5a15535d
    • Frazer Clement's avatar
      Fix compile break from bug#39663 fix · ed2ae0d7
      Frazer Clement authored
      ed2ae0d7
    • Mattias Jonsson's avatar
      Bug#44059: Incorrect cardinality of indexes on a partitioned table · b35b27ca
      Mattias Jonsson authored
      backport for bug#44059 from mysql-pe to mysql-5.1-bugteam
      
      Using the partition with most rows instead of first partition
      to estimate the cardinality of indexes.
      
      mysql-test/r/partition.result:
        Bug#44059: Incorrect cardinality of indexes on a partitioned table
        
        Added test result
      mysql-test/t/partition.test:
        Bug#44059: Incorrect cardinality of indexes on a partitioned table
        
        Added test case
      sql/ha_partition.cc:
        Bug#44059: Incorrect cardinality of indexes on a partitioned table
        
        Checking which partition that has the most rows, and using that
        partition for HA_STATUS_CONST instead of first partition
      b35b27ca
    • Mattias Jonsson's avatar
      Bug#46922: crash when adding partitions and open_files_limit · 3c20cf5f
      Mattias Jonsson authored
      is reached
      
      Problem was bad error handling, leaving some new temporary
      partitions locked and initialized and some not yet initialized
      and locked, leading to a crash when trying to unlock the not
      yet initialized and locked partitions
      
      Solution was to unlock the already locked partitions, and not
      include any of the new temporary partitions in later unlocks
      
      mysql-test/r/partition_open_files_limit.result:
        Bug#46922: crash when adding partitions and open_files_limit
        is reached
        
        New test result
      mysql-test/t/partition_open_files_limit-master.opt:
        Bug#46922: crash when adding partitions and open_files_limit
        is reached
        
        New test opt-file for testing when open_files_limit is reached
      mysql-test/t/partition_open_files_limit.test:
        Bug#46922: crash when adding partitions and open_files_limit
        is reached
        
        New test case testing when open_files_limit is reached
      sql/ha_partition.cc:
        Bug#46922: crash when adding partitions and open_files_limit
        is reached
        
        When cleaning up the partitions already locked need to be unlocked,
        and not be unlocked/closed after cleaning up.
      3c20cf5f
    • Georgi Kodinov's avatar
      automerge · 1f8d8a5a
      Georgi Kodinov authored
      1f8d8a5a
    • Georgi Kodinov's avatar
      Addendum to the fix for bug 43029 · d6f05767
      Georgi Kodinov authored
      d6f05767
    • Magnus Blåudd's avatar
      Bug #47795 CMake, storage engine name different from directory name · 80737253
      Magnus Blåudd authored
       - Read plug.in to fid the name of the engine to link with, does not have
         to be same as engine dir
       - Use engine dir when figuring out which libraries to build limbysqld with
      80737253
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot, part 7 · 3c12db10
      Satya B authored
      From revisions r5792 to r5864
      
      Detailed revision comments:
      
      r5792 | vasil | 2009-09-09 08:35:58 -0500 (Wed, 09 Sep 2009) | 32 lines
      branches/zip:
      
      Fix a bug in manipulating the variable innodb_old_blocks_pct:
      
      for any value assigned it got that value -1, except for 75. When
      assigned 75, it got 75.
      
        mysql> set global innodb_old_blocks_pct=15;
        Query OK, 0 rows affected (0.00 sec)
        
        mysql> show variables like 'innodb_old_blocks_pct';
        +-----------------------+-------+
        | Variable_name         | Value |
        +-----------------------+-------+
        | innodb_old_blocks_pct | 14    | 
        +-----------------------+-------+
        1 row in set (0.00 sec)
        
        mysql> set global innodb_old_blocks_pct=75;
        Query OK, 0 rows affected (0.00 sec)
        
        mysql> show variables like 'innodb_old_blocks_pct';
        +-----------------------+-------+
        | Variable_name         | Value |
        +-----------------------+-------+
        | innodb_old_blocks_pct | 75    | 
        +-----------------------+-------+
      
      After the fix it gets exactly what was assigned.
      
      Approved by:	Marko (via IM)
      
      r5798 | calvin | 2009-09-09 10:28:10 -0500 (Wed, 09 Sep 2009) | 5 lines
      branches/zip:
      
      HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38.
      But the plugin should still work with previous versions
      of MySQL.
      r5804 | marko | 2009-09-10 00:29:31 -0500 (Thu, 10 Sep 2009) | 1 line
      branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment.
      r5822 | marko | 2009-09-10 05:10:20 -0500 (Thu, 10 Sep 2009) | 1 line
      branches/zip: buf_page_release(): De-stutter the function comment.
      r5825 | marko | 2009-09-10 05:47:09 -0500 (Thu, 10 Sep 2009) | 20 lines
      branches/zip: Reduce mutex contention that was introduced when
      addressing Bug #45015 (Issue #316), in r5703.
      
      buf_page_set_accessed_make_young(): New auxiliary function, called by
      buf_page_get_zip(), buf_page_get_gen(),
      buf_page_optimistic_get_func(). Call ut_time_ms() outside of
      buf_pool_mutex. Use cached access_time.
      
      buf_page_set_accessed(): Add the parameter time_ms, so that
      ut_time_ms() need not be called while holding buf_pool_mutex.
      
      buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read
      buf_page_t::access_time without holding buf_pool_mutex. This should be
      OK, because the field is only used for heuristic purposes.
      
      buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return
      FALSE, so that we will not waste time moving blocks in the LRU list in
      the warm-up phase or when the workload fits in the buffer pool.
      
      rb://156 approved by Sunny Bains
      r5826 | marko | 2009-09-10 06:29:46 -0500 (Thu, 10 Sep 2009) | 12 lines
      branches/zip: Roll back recovered dictionary transactions before
      dropping incomplete indexes (Issue #337).
      
      trx_rollback_or_clean_recovered(ibool all): New function, split from
      trx_rollback_or_clean_all_recovered().  all==FALSE will only roll back
      dictionary transactions.
      
      recv_recovery_from_checkpoint_finish(): Call
      trx_rollback_or_clean_recovered(FALSE) before
      row_merge_drop_temp_indexes().
      
      rb://158 approved by Sunny Bains
      r5858 | vasil | 2009-09-11 12:46:47 -0500 (Fri, 11 Sep 2009) | 4 lines
      branches/zip:
      
      Fix the indentation of the closing bracket.
      
      r5863 | vasil | 2009-09-12 02:07:08 -0500 (Sat, 12 Sep 2009) | 10 lines
      branches/zip:
      
      Check that pthread_t can indeed be passed to Solaris atomic functions, instead
      of assuming that it can be passed if 0 can be assigned to it. It could be that:
      * 0 can be assigned, but pthread_t cannot be passed and
      * 0 cannot be assigned but pthread_t can be passed
      
      Better to check what we are interested in, not something else and make
      assumptions.
      
      r5864 | vasil | 2009-09-12 02:22:55 -0500 (Sat, 12 Sep 2009) | 4 lines
      branches/zip:
      
      Include string.h which is needed for memset().
      
      3c12db10
    • Magnus Blåudd's avatar
      Bug #47797 CMake, engine can't specify additional libraries to link with · 1b2c0f33
      Magnus Blåudd authored
       - Make it possible for the CmakeLists.txt files in an engine to use
         ${engine}_LIBS to set additional libraries to link with
       Example: NDBCLUSTER_LIBS = ndbclient
      1b2c0f33
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot, part 6 · 5762495a
      Satya B authored
      From revision r5748 to r5783
      
      Detailed revision comments:
      
      r5748 | marko | 2009-09-03 06:05:44 -0500 (Thu, 03 Sep 2009) | 1 line
      branches/zip: MLOG_MULTI_REC_END: Correct the comment.
      r5751 | marko | 2009-09-03 09:36:15 -0500 (Thu, 03 Sep 2009) | 7 lines
      branches/zip: row_merge(): Remove a bogus debug assertion
      that was triggered when creating an index on an empty table.
      
      row_merge_sort(): Add debug assertions and comments that justify
      the loop termination condition.
      
      The bogus assertion ut_ad(ihalf > 0) was reported by Michael.
      r5752 | marko | 2009-09-03 09:55:51 -0500 (Thu, 03 Sep 2009) | 10 lines
      branches/zip: recv_recover_page_func(): Write the log sequence number
      to the compressed page, if there is one.  Previously, the function only
      wrote the LSN to the uncompressed page.
      
      It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN
      in the buffer pool.  The log sequence number will be stamped on the
      page when it is flushed to disk, in buf_flush_init_for_writing().
      I noticed this inconsistency when analyzing Issue #313, but this patch
      does not fix it.  That is no surprise, since FIL_PAGE_LSN should only
      matter on disk files, not in the buffer pool.
      r5775 | calvin | 2009-09-07 16:15:05 -0500 (Mon, 07 Sep 2009) | 13 lines
      branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP
      
      The changes are non-functional changes for normal InnoDB,
      but needed for building the Hot Backup on Windows (with
      UNIV_HOTBACKUP defined).
      
      - Define os_aio_use_native_aio for HB.
      - Do not acquire seek mutexes for backup since HB is single threaded.
      - Do not use srv_flush_log_at_trx_commit for HB build
      
      rb://155
      
      Approved by: Marko
      r5777 | marko | 2009-09-08 10:50:25 -0500 (Tue, 08 Sep 2009) | 2 lines
      branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed
      together with buf_LRU_get_recent_limit().
      r5779 | marko | 2009-09-09 01:17:19 -0500 (Wed, 09 Sep 2009) | 2 lines
      branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when
      buf_pool->freed_page_clock is wider than 32 bits.
      r5780 | marko | 2009-09-09 01:50:50 -0500 (Wed, 09 Sep 2009) | 1 line
      branches/zip: ut_time_ms(): Return ulint, not uint.
      r5782 | marko | 2009-09-09 02:00:59 -0500 (Wed, 09 Sep 2009) | 2 lines
      branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning
      that was introduced in r5779 on 32-bit systems.
      r5783 | marko | 2009-09-09 02:25:00 -0500 (Wed, 09 Sep 2009) | 1 line
      branches/zip: buf_page_is_accessed(): Correct the function comment.
      5762495a
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.5 snapshot , part 5 · 65eed561
      Satya B authored
      From revision r5733 to r5747
      
      Detailed revision comments:
      
      r5733 | sunny | 2009-09-02 02:05:15 -0500 (Wed, 02 Sep 2009) | 6 lines
      branches/zip: Fix a regression introduced by the fix for bug#26316. We check
      whether a transaction holds any AUTOINC locks before we acquire the kernel
      mutex and release those locks.
      
      Fix for rb://153. Approved by Marko.
      
      r5734 | sunny | 2009-09-02 02:08:45 -0500 (Wed, 02 Sep 2009) | 2 lines
      branches/zip: Update ChangeLog with r5733 changes.
      
      r5735 | marko | 2009-09-02 02:43:09 -0500 (Wed, 02 Sep 2009) | 2 lines
      branches/zip: univ.i: Do not undefine PACKAGE or VERSION.
      InnoDB source code does not refer to these macros.
      r5736 | marko | 2009-09-02 02:53:19 -0500 (Wed, 02 Sep 2009) | 1 line
      branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP.
      r5743 | marko | 2009-09-03 01:36:12 -0500 (Thu, 03 Sep 2009) | 3 lines
      branches/zip: log_reserve_and_write_fast(): Remove the redundant
      output parameter "success".
      Success is also indicated by a nonzero return value.
      r5744 | marko | 2009-09-03 03:28:35 -0500 (Thu, 03 Sep 2009) | 1 line
      branches/zip: ut_align(): Make ptr const, like in ut_align_down().
      r5745 | marko | 2009-09-03 03:38:22 -0500 (Thu, 03 Sep 2009) | 2 lines
      branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG.
      Add const qualifiers.
      r5746 | marko | 2009-09-03 03:55:36 -0500 (Thu, 03 Sep 2009) | 2 lines
      branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer
      in a local variable.
      r5747 | marko | 2009-09-03 05:46:38 -0500 (Thu, 03 Sep 2009) | 2 lines
      branches/zip: recv_scan_log_recs(): Replace while with do...while,
      because the termination condition will always hold on the first iteration.
      
      65eed561
    • Magnus Blåudd's avatar
      BUG#47129 fix small bug in test · 024732d3
      Magnus Blåudd authored
      024732d3
    • Ramil Kalimullin's avatar
      Fix for bug #42803: Field_bit does not have unsigned_flag field, · ee6dadf4
      Ramil Kalimullin authored
      can lead to bad memory access
      
      Problem: Field_bit is the only field which returns INT_RESULT
      and doesn't have unsigned flag. As it's not a descendant of the 
      Field_num, so using ((Field_num *) field_bit)->unsigned_flag may lead
      to unpredictable results.
      
      Fix: check the field type before casting.
      
      
      mysql-test/r/type_bit.result:
        Fix for bug #42803: Field_bit does not have unsigned_flag field,
        can lead to bad memory access
          - test result.
      mysql-test/t/type_bit.test:
        Fix for bug #42803: Field_bit does not have unsigned_flag field,
        can lead to bad memory access
          - test case.
      sql/opt_range.cc:
        Fix for bug #42803: Field_bit does not have unsigned_flag field,
        can lead to bad memory access
          - don't cast to (Field_num *) Field_bit, as it's not a Field_num
        descendant and is always unsigned by nature.
      ee6dadf4