List:Commits« Previous MessageNext Message »
From:Ole John Aske Date:April 25 2012 11:42am
Subject:bzr push into mysql-trunk branch (ole.john.aske:3878 to 3879) WL#5940
View as plain text  
 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#5940Ole John Aske25 Apr