1. 09 Oct, 2009 2 commits
    • vasil's avatar
      branches/zip: · 1158f62e
      vasil authored
      Fix compilation warning in Hot Backup:
      
      innodb/fil/fil0fil.c: In function 'fil_load_single_table_tablespace':
      innodb/fil/fil0fil.c:3253: warning: format '%lld' expects type 'long long int', but argument 6 has type 'ib_int64_t'
      1158f62e
    • vasil's avatar
      branches/zip: · b8f97058
      vasil authored
      When scanning a directory readdir() is called and stat() after it,
      if a file is deleted between the two calls stat will fail and the
      whole precedure will fail. Change this behavior to continue with the
      next entry if stat() fails because of nonexistent file. This is
      transparent change as it will make it look as if the file was deleted
      before the readdir() call.
      
      This change is needed in order to fix
      https://svn.innodb.com/mantis/view.php?id=174
      in which we need to abort if os_file_readdir_next_file()
      encounters "real" errors.
      
      Approved by:	Marko, Pekka (rb://177)
      b8f97058
  2. 08 Oct, 2009 1 commit
  3. 06 Oct, 2009 1 commit
    • pekka's avatar
      branches/zip: · 8b8a6eb0
      pekka authored
      Add os_file_is_same() function for Hot Backup (inside ifdef UNIV_HOTBACKUP).
      This is part of the fix for Issue #186.
      Note! The Windows implementation is incomplete.
      8b8a6eb0
  4. 05 Oct, 2009 1 commit
    • inaam's avatar
      branches/zip rb://176 · 9a2405ac
      inaam authored
      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
      9a2405ac
  5. 01 Oct, 2009 2 commits
    • calvin's avatar
      branches/zip: fix a typo in error message · 7df2afbc
      calvin authored
      Reported as bug#47763.
      7df2afbc
    • marko's avatar
      branches/zip: Clean up after a crash during DROP INDEX. · 6edd9e36
      marko authored
      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);
      6edd9e36
  6. 30 Sep, 2009 3 commits
  7. 29 Sep, 2009 3 commits
    • vasil's avatar
      branches/zip: · b00cd45e
      vasil authored
      Fix the year, should be 2009.
      
      Pointed by:	Calvin
      b00cd45e
    • vasil's avatar
      branches/zip: · fa1d918c
      vasil authored
      Add ChangeLog entry for the release of 1.0.4.
      fa1d918c
    • vasil's avatar
      branches/zip: · f2d41f4b
      vasil authored
      ChangeLog: wrap around 78th column, not earlier.
      f2d41f4b
  8. 28 Sep, 2009 5 commits
    • marko's avatar
      branches/zip: Remove an assertion failure when the InnoDB data dictionary · aa1a89b9
      marko authored
      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.
      aa1a89b9
    • marko's avatar
      branches/zip: Address Issue #350 in comments. · 391dedaa
      marko authored
      lock_rec_queue_validate(), lock_rec_queue_validate(): Note that
      this debug code may violate the latching order and cause deadlocks.
      391dedaa
    • marko's avatar
      branches/zip: Do not write to PAGE_INDEX_ID after page creation, · 97fdf6c5
      marko authored
      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
      97fdf6c5
    • marko's avatar
      branches/zip: Try to prevent the reuse of tablespace identifiers after · 43833984
      marko authored
      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.
      43833984
    • vasil's avatar
      branches/zip: · 19ee4ac0
      vasil authored
      Add ChangeLog entry for c5988.
      19ee4ac0
  9. 25 Sep, 2009 1 commit
  10. 24 Sep, 2009 2 commits
  11. 23 Sep, 2009 3 commits
  12. 22 Sep, 2009 3 commits
  13. 21 Sep, 2009 2 commits
  14. 19 Sep, 2009 1 commit
    • calvin's avatar
      branches/zip: Merge revisions 2584:2956 from branches/6.0, · 70764cd3
      calvin authored
      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
          ------------------------------------------------------------------------
      70764cd3
  15. 18 Sep, 2009 3 commits
  16. 17 Sep, 2009 1 commit
  17. 16 Sep, 2009 5 commits
    • vasil's avatar
      branches/zip: · 793779e9
      vasil authored
      Add ChangeLog entries for r5916.
      793779e9
    • vasil's avatar
      branches/zip: · fa282168
      vasil authored
      Whitespace cleanup in the ChangeLog.
      fa282168
    • marko's avatar
    • marko's avatar
      branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 · d1ad4c3f
      marko authored
      (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.
        ------------------------------------------------------------------------
      d1ad4c3f
    • marko's avatar
      branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log · 09c2196b
      marko authored
      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.
      09c2196b
  18. 15 Sep, 2009 1 commit