3879 Ole John Aske 2012-04-25
WL#5940 update: When applying the WL#5940 patchset to this branch on top of a fresh trunk pull,
I didn't realize that Cluster specific components was recently merged into trunk - including
ha_ndbcluster implementing the pushed join extension ha_ndbcluster::test_push_flag().
This reintroduced a previous version of that method handling the now obsolete
HA_PUSH_NO_ORDERED_INDEX. This is removed by this fix.
modified:
sql/ha_ndbcluster.cc
3878 Ole John Aske 2012-04-18
Extracted optimizer part of previous fix for:
bug#13901890 SQL NODE CRASHES DURING INSERT SELECT
This has to be added as part of WL#5940 as it extends
how 'HA_PUSH_BLOCK_CONST_TABLE' prevents JT_EQ_REF
to be converted into JT_CONST.
Read the commit message for the full fix for
more comments:
ftp://bugftp.us.oracle.com/upload/bug_13/bug13901890/commit120418%2dI68V%2eeml
modified:
sql/abstract_query_plan.cc
sql/sql_select.cc
=== modified file 'sql/ha_ndbcluster.cc'
--- a/sql/ha_ndbcluster.cc 2012-03-28 11:25:37 +0000
+++ b/sql/ha_ndbcluster.cc 2012-04-25 11:41:51 +0000
@@ -14546,46 +14546,6 @@ ha_ndbcluster::test_push_flag(enum ha_pu
}
DBUG_RETURN(false);
- case HA_PUSH_NO_ORDERED_INDEX:
- {
- if (m_pushed_join_operation != PUSHED_ROOT)
- {
- DBUG_RETURN(true);
- }
- const NdbQueryDef& query_def = m_pushed_join_member->get_query_def();
- const NdbQueryOperationDef::Type root_type=
- query_def.getQueryOperation((uint)PUSHED_ROOT)->getType();
-
- /**
- * Primary key/ unique key lookup is always 'ordered' wrt. itself.
- */
- if (root_type == NdbQueryOperationDef::PrimaryKeyAccess ||
- root_type == NdbQueryOperationDef::UniqueIndexAccess)
- {
- DBUG_RETURN(false);
- }
-
- /**
- * Ordered index scan can be provided as an ordered resultset iff
- * it has no child scans.
- */
- if (root_type == NdbQueryOperationDef::OrderedIndexScan)
- {
- for (uint i= 1; i < query_def.getNoOfOperations(); i++)
- {
- const NdbQueryOperationDef::Type child_type=
- query_def.getQueryOperation(i)->getType();
- if (child_type == NdbQueryOperationDef::TableScan ||
- child_type == NdbQueryOperationDef::OrderedIndexScan)
- {
- DBUG_RETURN(true);
- }
- }
- DBUG_RETURN(false);
- }
- DBUG_RETURN(true);
- }
-
default:
DBUG_ASSERT(0);
DBUG_RETURN(false);
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (ole.john.aske:3878 to 3879) WL#5940 | Ole John Aske | 25 Apr |