From: Ole John Aske Date: May 7 2012 7:06am Subject: bzr push into mysql-trunk branch (ole.john.aske:3882 to 3883) List-Archive: http://lists.mysql.com/commits/143748 Message-Id: <20120507070652.097E5242@fimafeng09.norway.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 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_-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).