List:Commits« Previous MessageNext Message »
From:Sergey Petrunia Date:February 20 2006 10:17pm
Subject:bk commit into 5.1 tree (sergefp:1.2147) BUG#15448
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of psergey. When psergey does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2147 06/02/21 00:17:29 sergefp@stripped +1 -0
  BUG#15448 (group_min_max test failure): Don't bypass group-min-max optimizer entry point

  if we've got a tree of type ALWAYS or MAYBE.

  sql/opt_range.cc
    1.202 06/02/21 00:17:17 sergefp@stripped +6 -3
    BUG#15448 (group_min_max test failure): Don't buypass group-min-max optimizer entry
point 
    if we've got a tree of type ALWAYS or MAYBE.
    The effect observed by this bug has been introduced by this cset: 
    ChangeSet 1.1967.5.2 2005/12/26 08:40:09 sergefp@stripped. The cset introduced
PARAM::remove_jump_scans
    which purpose was to avoid making [always unsuccessful] attempts to construct
index_merge for construct 
    index_merge for conditions like "t.key1partX=c1 OR t.key1partY=c2". The effect of this
change was that some
    queries that previously had produced a SEL_TREE representing candidate for
index_merge(X,Y) now started to 
    produce SEL_TREE with type=ALWAYS, and group-min-max analysis for these trees has been
bypassed.
    In this fix we make SEL_TREE with type=ALWAYS to be processed in the same way as
(SEL_TREE*)NULL, its equivalent.

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	sergefp
# Host:	pslp.mylan
# Root:	/home/psergey/mysql-5.1-look

--- 1.201/sql/opt_range.cc	2006-02-15 02:01:27 +03:00
+++ 1.202/sql/opt_range.cc	2006-02-21 00:17:17 +03:00
@@ -1951,9 +1951,12 @@
           read_time= (double) HA_POS_ERROR;
           goto free_mem;
         }
-        if (tree->type != SEL_TREE::KEY &&
-            tree->type != SEL_TREE::KEY_SMALLER)
-          goto free_mem;
+        /*
+          If the tree can't be used for range scans, proceed anyway, as we
+          can construct a group-min-max quick select
+        */
+        if (tree->type != SEL_TREE::KEY && tree->type !=
SEL_TREE::KEY_SMALLER)
+          tree= NULL;
       }
     }
 
Thread
bk commit into 5.1 tree (sergefp:1.2147) BUG#15448Sergey Petrunia20 Feb