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 Aske | 8 May |