List:Commits« Previous MessageNext Message »
From:marko.makela Date:December 1 2010 8:29am
Subject:bzr push into mysql-5.1-innodb branch (marko.makela:3663 to 3664) Bug#58623
View as plain text  
 3664 Marko Mäkelä	2010-12-01
      Bug#58623: Bogus debug assertion failure in i_s_locks_row_validate()
      
      This bogus assertion was introduced in the fix of Bug #57802:
      Empty ASSERTION parameter passed to the HASH_SEARCH macro.

    modified:
      storage/innodb_plugin/trx/trx0i_s.c
 3663 kevin.lewis@stripped	2010-11-30
      RB://518 approved by Jimmy Yang and Sunny bains
          
      Code cleanup after changes for Bug 56628.  The general approach for 
      InnoDB is to make a reference to each enum value whenever it is used in a
      switch statement.  In addition, no default case should be used for switch 
      statements on enum types.  This assures that if there is ever any change 
      in the enum values, the switch will need to change to reflect it since a 
      compiler warning will occur.  In this case, the enum row_type is declared 
      in handler.h and could be changed for another storage engine.  If so, a 
      warning will occur in the InnoDB build.  
      
      Other changes;
      * This patch uses 2 macros to help consolidate warning messages that
         need to occur twice in the single switch for row_format.
      * Using row_format as the variable name to distinguish it from the enum
        type.
      * Function declaration format correction.

    modified:
      storage/innodb_plugin/handler/ha_innodb.cc
=== modified file 'storage/innodb_plugin/trx/trx0i_s.c'
--- a/storage/innodb_plugin/trx/trx0i_s.c	revid:kevin.lewis@stripped6pbc3
+++ b/storage/innodb_plugin/trx/trx0i_s.c	revid:marko.makela@stripped
@@ -435,7 +435,7 @@ i_s_locks_row_validate(
 		/* record lock */
 		ut_ad(!strcmp("RECORD", row->lock_type));
 		ut_ad(row->lock_index != NULL);
-		ut_ad(row->lock_data != NULL);
+		/* row->lock_data == NULL if buf_page_try_get() == NULL */
 		ut_ad(row->lock_page != ULINT_UNDEFINED);
 		ut_ad(row->lock_rec != ULINT_UNDEFINED);
 	}

Attachment: [text/bzr-bundle] bzr/marko.makela@oracle.com-20101201080353-2i2qyp0iars3nt1i.bundle
Thread
bzr push into mysql-5.1-innodb branch (marko.makela:3663 to 3664) Bug#58623marko.makela1 Dec