List:Commits« Previous MessageNext Message »
From:Ole John Aske Date:May 7 2012 7:06am
Subject:bzr push into mysql-trunk branch (ole.john.aske:3882 to 3883)
View as plain text  
 3883 Ole John Aske	2012-05-07
      Fixed Valgrind 'uninitialized memory read' errors caused by previous commit (revno: 3882)
            
      Checking for lock_mode inside ::table_flags() may read uninitialized data, and 
      was not particularly usefull either as part of setting the 'CONST_BLOCK' flag.
      So it has been deemed obsolete and removed in this fix.

    modified:
      sql/ha_ndbcluster.cc
 3882 Ole John Aske	2012-05-02
      WL#5940 changes according to 'round #2' comments from Evgeny P.
      This is intended to be the last set of changes related to these comments.
      
      The handler extension ::test_push_flag() has now been removed.
      The two remaining HA_PUSH_<foo>-flags related to this extension
      has been made obsolete by:
      
      - HA_PUSH_BLOCK_CONST_TABLE is replaced with the 'test_flag'
        HA_BLOCK_CONST_TABLE. Furthermore it was identified that
        usage of this flag was obsolete at one of the places it was used.
        (As 'system' table optimization is not possible for handlers
         with non-EXACT statistics)
      
      - HA_PUSH_MULTIPLE_DEPENDENCY has been entirely removed as this
        covered a corner case with questionable advantage of being pushed.
        Previous changes to join_no_more_records() has been reverted.
          

    modified:
      sql/ha_ndbcluster.cc
      sql/ha_ndbcluster.h
      sql/handler.h
      sql/sql_executor.cc
      sql/sql_optimizer.cc
      sql/sql_select.cc
=== modified file 'sql/ha_ndbcluster.cc'
--- a/sql/ha_ndbcluster.cc	2012-05-02 12:33:07 +0000
+++ b/sql/ha_ndbcluster.cc	2012-05-07 07:06:28 +0000
@@ -12346,18 +12346,11 @@ ulonglong ha_ndbcluster::table_flags(voi
     f= (f | HA_BINLOG_STMT_CAPABLE) & ~HA_HAS_OWN_BINLOGGING;
 
   /**
-   * To maximize join pushability we want const-table optimization
-   * blocked if table is possibly pushable, that is:
-   *  - Variable 'ndb_join_pushdown= on'
-   *  - Lock mode is LM_CommittedRead
-   *  - There are no BLOBs in this table
+   * To maximize join pushability we want const-table 
+   * optimization blocked if 'ndb_join_pushdown= on'
    */
-  if (THDVAR(thd, join_pushdown) &&
-      get_ndb_lock_mode(m_lock.type) == NdbOperation::LM_CommittedRead &&
-      !(table_share && table_share->blob_fields > 0))
-  {
+  if (THDVAR(thd, join_pushdown))
     f= f | HA_BLOCK_CONST_TABLE;
-  }
 
   return f;
 }

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk branch (ole.john.aske:3882 to 3883) Ole John Aske8 May