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#15448 | Sergey Petrunia | 20 Feb |