1. 27 Aug, 2009 6 commits
    • inaam's avatar
      branches/zip rb://147 · 8658a2c4
      inaam authored
      Done away with following two status variables:
      
      innodb_buffer_pool_read_ahead_rnd
      innodb_buffer_pool_read_ahead_seq
      
      Introduced two new status variables:
      innodb_buffer_pool_read_ahead = number of pages read as part of
      readahead since server startup
      innodb_buffer_pool_read_ahead_evicted = number of pages that are read
      in as readahead but were evicted before ever being accessed since
      server startup i.e.: a measure of how badly our readahead is
      performing
      
      SHOW INNODB STATUS will show two extra numbers in buffer pool section:
      pages read ahead/sec and pages evicted without access/sec
      
      Approved by: Marko
      8658a2c4
    • marko's avatar
      branches/zip: dict_index_find_cols(): On column name lookup failure, · 1a9bfd68
      marko authored
      return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally
      terminating the server.  Also, disable the previously added diagnostic
      output to the error log, because mysql-test-run does not like extra
      output in the error log.  (Bug #44571)
      
      dict_index_add_to_cache(): Handle errors from dict_index_find_cols().
      
      mysql-test/innodb_bug44571.test: A test case for triggering the bug.
      
      rb://135 approved by Sunny Bains.
      1a9bfd68
    • marko's avatar
      branches/zip: Fix a critical bug in fast index creation that could · 4e0ad399
      marko authored
      corrupt the created indexes.
      
      row_merge(): Make "half" an in/out parameter. Determine the offset of
      half the output file. Copy the last blocks record-by-record instead of
      block-by-block, so that the records can be counted. Check that the
      input and output have matching n_rec.
      
      row_merge_sort(): Do not assume that two blocks of size N are merged
      into a block of size 2*N. The output block can be shorter than the
      input if the last page of each input block is almost empty. Use an
      accurate termination condition, based on the "half" computed by
      row_merge().
      
      row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output.
      
      merge_file_t, row_merge_file_create(): Add n_rec, the number of records
      in the merge file.
      
      row_merge_read_clustered_index(): Update n_rec.
      
      row_merge_blocks(): Update and check n_rec.
      
      row_merge_blocks_copy(): New function, for copying the last blocks in
      row_merge().  Update and check n_rec.
      
      This bug was discovered with a user-supplied test case that creates an
      index where the initial temporary file is 249 one-megabyte blocks and
      the merged files become smaller. In the test, possible merge record
      sizes are 10, 18, and 26 bytes.
      
      rb://150 approved by Sunny Bains.  This addresses Issue #320.
      4e0ad399
    • marko's avatar
      branches/zip: Replace the constant 3/8 ratio that controls the LRU_old · 0f7895d4
      marko authored
      size with the settable global variable innodb_old_blocks_pct. The
      minimum and maximum values are 5 and 95 per cent, respectively. The
      default is 100*3/8, in line with the old behavior.
      
      ut_time_ms(): New utility function, to return the current time in
      milliseconds. TODO: Is there a more efficient timestamp function, such
      as rdtsc divided by a power of two?
      
      buf_LRU_old_threshold_ms: New variable, corresponding to
      innodb_old_blocks_time. The value 0 is the default behaviour: no
      timeout before making blocks 'new'.
      
      bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove.
      
      bpage->access_time: New field, replacing bpage->accessed. Protected by
      buf_pool_mutex instead of bpage->mutex. Updated when a page is created
      or accessed the first time in the buffer pool.
      
      buf_LRU_old_ratio, innobase_old_blocks_pct: New variables,
      corresponding to innodb_old_blocks_pct
      
      buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update
      functions for buf_LRU_old_ratio, innobase_old_blocks_pct.
      
      buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time
      if buf_LRU_old_threshold_ms && bpage->old.  Else observe
      buf_LRU_old_ratio and bpage->freed_page_clock.
      
      buf_pool_t: Add n_pages_made_young, n_pages_not_made_young,
      n_pages_made_young_old, n_pages_not_made_young, for statistics.
      
      buf_print(): Display buf_pool->n_pages_made_young,
      buf_pool->n_pages_not_made_young.  This function is only for crash
      diagnostics.
      
      buf_print_io(): Display buf_pool->LRU_old_len and quantities derived
      from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young.
      This function is invoked by SHOW ENGINE INNODB STATUS.
      
      rb://129 approved by Heikki Tuuri.  This addresses Bug #45015.
      0f7895d4
    • marko's avatar
    • marko's avatar
      branches/zip: Document r5698 in the ChangeLog. · ae08a594
      marko authored
      ae08a594
  2. 26 Aug, 2009 5 commits
  3. 20 Aug, 2009 4 commits
    • vasil's avatar
      branches/zip: · 5bd19605
      vasil authored
      ChangeLog:
      Follow the convention from the rest of the ChangeLog: for bugfixes from
      bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed
      explanation on what is the problem and how it was fixed is present in
      the bugs database.
      5bd19605
    • vasil's avatar
      branches/zip: · 1e461880
      vasil authored
      White-space fixup.
      1e461880
    • sunny's avatar
      cb7c80c8
    • sunny's avatar
      branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in... · 9ac95eac
      sunny authored
      branches/zip: Fix bug# 46650:  Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT
      
      We only store the autoinc locks that are granted in the transaction's autoinc
      lock vector. A transacton, that has been rolled back due to a deadlock because
      of an AUTOINC lock attempt, will not have added that lock to the vector. We
      need to check for that when we remove that lock.
      
      rb://145
      Approved by Marko.
      9ac95eac
  4. 14 Aug, 2009 1 commit
  5. 13 Aug, 2009 1 commit
  6. 12 Aug, 2009 1 commit
  7. 11 Aug, 2009 2 commits
  8. 06 Aug, 2009 2 commits
  9. 05 Aug, 2009 2 commits
  10. 04 Aug, 2009 3 commits
    • marko's avatar
      7aead512
    • vasil's avatar
      branches/zip: · 6411d47d
      vasil authored
      Revert the dummy change from c5625.
      6411d47d
    • vasil's avatar
      branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 · 9f4ddc4f
      vasil authored
      (after resolving the conflict Makefile.am was not changed so I have made
      a dummy change so I can commit and thus record that branches/5.1 has been
      merged in branches/zip up to 5622):
      
        ------------------------------------------------------------------------
        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
        
        ------------------------------------------------------------------------
      9f4ddc4f
  11. 31 Jul, 2009 1 commit
    • vasil's avatar
      branches/zip: · dd318eea
      vasil authored
      Add fsp0types.h to the list of noinst_HEADERS
      
      Suggested by:	Sergey Vojtovich <svoj@sun.com>
      dd318eea
  12. 21 Jul, 2009 2 commits
    • vasil's avatar
      branches/zip: · e0ea9e3f
      vasil authored
      Add a test program to check whether the PAUSE instruction is available.
      e0ea9e3f
    • vasil's avatar
      branches/zip: · b33535ef
      vasil authored
      Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per
      line.
      b33535ef
  13. 20 Jul, 2009 8 commits
    • sunny's avatar
    • calvin's avatar
      branches/zip: add ChangeLog entry for r5524. · e51056a8
      calvin authored
      e51056a8
    • inaam's avatar
      branches/zip · c34ab748
      inaam authored
      Change the read ahead parameter name to innodb_read_ahead_threshold.
      Change the meaning of this parameter to signify the number of pages
      that must be sequentially accessed for InnoDB to trigger a readahead
      request.
      
      Suggested by: Ken
      c34ab748
    • vasil's avatar
      branches/zip: · 17c8f392
      vasil authored
      Add ChangeLog entries for r5498 and r5519.
      17c8f392
    • vasil's avatar
      branches/zip: Merge r5497:5518 from branches/5.1: · 667afaf1
      vasil authored
        ------------------------------------------------------------------------
        r5518 | vasil | 2009-07-20 11:29:47 +0300 (Mon, 20 Jul 2009) | 22 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
        
        branches/5.1:
        
        Merge a change from MySQL:
        
          ------------------------------------------------------------
          revno: 2874.2.1
          committer: Anurag Shekhar <anurag.shekhar@sun.com>
          branch nick: mysql-5.1-bugteam-windows-warning
          timestamp: Wed 2009-05-13 15:41:24 +0530
          message:
            Bug #39802 On Windows, 32-bit time_t should be enforced
            
            This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', 
            possible loss of data". 
            The fix is to typecast time_t to ulong before assigning it to ulong. 
            Backported this from 6.0-bugteam tree.
          modified:
            storage/archive/ha_archive.cc
            storage/federated/ha_federated.cc
            storage/innobase/handler/ha_innodb.cc
            storage/myisam/ha_myisam.cc
        
        ------------------------------------------------------------------------
      667afaf1
    • sunny's avatar
      Add /* UNIV_HOTBACK */ · 3c0b7614
      sunny authored
      3c0b7614
    • sunny's avatar
      branches/zip: Make this file usable from within HotBackup. A new file has · 64b5315e
      sunny authored
      been introduced called hb_univ.i. This file should have all the HotBackup
      specific configuration.
      64b5315e
    • sunny's avatar
  14. 19 Jul, 2009 2 commits