Tor and Jørgen,
I have committed an updated version of this patch:
http://lists.mysql.com/commits/122437
See some comment further down:
On 27 October 2010 09:37, Tor Didriksen <didrik@stripped> wrote:
> Hi Olav
>
> Please document (in the .h file) the interface of
> virtual Item *idx_cond_push(uint keyno, Item* idx_cond)
> Especially the return value.
Done.
> suggestion:
> for (uint k= 0; !key_contains_blob && k < key->key_parts; ++k)
> {
> const KEY_PART_INFO *key_part= &key->key_part[k];
> if (key_part->key_part_flag & HA_BLOB_PART)
> key_contains_blob= true;
> }
Instead of getting rid of the break statement by moving the
key_contains_blob test to the for-loop I replaced the break statement
with a "return idx_cond_arg". This way I also did not have to
introduce the key_contains_blob variable. Let me know if you still
prefer your suggestion and I will use it.
> suggestion:
> let qq= SELECT c1 FROM t3 WHERE c1 >= 'c-1004=w' and c1 <= 'c-1006=w' and i1
>> 2;
> eval EXPLAIN $qq;
> eval $qq;
Done.
Please let me know if you have any further comments.
Thanks,
Olav