List:Commits« Previous MessageNext Message »
From:chuck.bell Date:May 12 2011 10:25pm
Subject:bzr push into mysql-5.5 branch (chuck.bell:3378 to 3379) Bug#12549572
View as plain text  
 3379 chuck.bell@stripped	2011-05-12
      BUG#12549572 : CMake file does not include gcov option
      
      This patch inserts an 'ENABLE_GCOV' option for enabling gcov compilation
      on Linux machines. It modifies the CMakeLists.txt setting this option
      to 'OFF' by default.
      
      Note: The option requires a debug build. For example, 
            -DCMAKE_BUILD_TYPE:string="Debug" 

    modified:
      CMakeLists.txt
 3378 Jon Olav Hauglid	2011-05-12
      Bug#12346411 SQL/LOG.CC:6509: ASSERTION `PREPARED_XIDS > 0' FAILED
      
      This assert could be triggered during two phase commit if binary
      log was used as transaction coordinator log. The triggered assert
      checks that the same number of transaction IDs are processed in
      the prepare and commit phases.
      
      The reason it was triggered, was that the transaction consisted
      of an INSERT/UPDATE IGNORE that had an ignorable error. Since it
      had an error, no row log events were made and therefore
      prepared_xids was 0. However, since it was an IGNORE statement,
      the statement started a read/write statement transaction, committed
      it and completed successfully.
      
      This patch fixes the problem by adjusting the assert to take
      this possibility into account.
      
      Test case added to binlog.binlog_innodb_row.test.

    modified:
      mysql-test/suite/binlog/r/binlog_innodb_row.result
      mysql-test/suite/binlog/t/binlog_innodb_row.test
      sql/log.cc
=== modified file 'CMakeLists.txt'
--- a/CMakeLists.txt	2011-03-22 11:08:28 +0000
+++ b/CMakeLists.txt	2011-05-12 22:22:14 +0000
@@ -172,6 +172,13 @@ IF(ENABLE_DEBUG_SYNC) 
   SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DENABLED_DEBUG_SYNC") 
 ENDIF() 
  
+OPTION(ENABLE_GCOV "Enable gcov (debug, Linux builds only)" OFF)
+IF (ENABLE_GCOV AND NOT WIN32 AND NOT APPLE)
+  SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage")
+  SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage")
+  SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage -lgcov")
+ENDIF()
+
 OPTION(ENABLED_LOCAL_INFILE
  "If we should should enable LOAD DATA LOCAL by default" ${IF_WIN})
 MARK_AS_ADVANCED(ENABLED_LOCAL_INFILE)

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-5.5 branch (chuck.bell:3378 to 3379) Bug#12549572chuck.bell13 May