Warning: using a partial-field key prefix in search.

Warning: using a partial-field key prefix in search.

am 07.03.2004 13:36:54 von Kevin Day

I've got a query that worked in 3.23 but doesn't in 4.1.1:


mysql> CREATE TABLE `h` (
-> `p` int(11) unsigned NOT NULL auto_increment,
-> `c` smallint(11) unsigned NOT NULL default '0',
-> `s` smallint(11) NOT NULL default '0',
-> PRIMARY KEY (`p`),
-> KEY `c` (`c`),
-> KEY `s` (`s`),
-> KEY `cs` (`c`,`s`)
-> ) TYPE=InnoDB DEFAULT CHARSET=latin1
-> ;
Query OK, 0 rows affected (0.05 sec)

mysql> SELECT * FROM h use index (cs) WHERE c=1941 AND s>=0 ORDER BY p
DESC LIMIT 0,13
-> ;
040307 6:32:39 InnoDB: Warning: using a partial-field key prefix in
search.
InnoDB: Table name test/h, index name PRIMARY. Last data field length 4
bytes,
InnoDB: key ptr now exceeds key end by 2 bytes.
InnoDB: Key value in the MySQL format:
len 2; hex 9507; asc ;
Empty set (0.00 sec)


It returns an empty set no matter what data should have been returned.
Removing the "use index" seems to fix it. It seems intermittent though,
sometimes it DOES work and I can't find any pattern.

Anyone bumped into this before?


--
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs@m.gmane.org

Re: Warning: using a partial-field key prefix in search.

am 08.03.2004 13:43:21 von Sinisa Milivojevic

Kevin Day writes:
>
>
> I've got a query that worked in 3.23 but doesn't in 4.1.1:
>
>
> mysql> CREATE TABLE `h` (
> -> `p` int(11) unsigned NOT NULL auto_increment,
> -> `c` smallint(11) unsigned NOT NULL default '0',
> -> `s` smallint(11) NOT NULL default '0',
> -> PRIMARY KEY (`p`),
> -> KEY `c` (`c`),
> -> KEY `s` (`s`),
> -> KEY `cs` (`c`,`s`)
> -> ) TYPE=InnoDB DEFAULT CHARSET=latin1
> -> ;
> Query OK, 0 rows affected (0.05 sec)
>
> mysql> SELECT * FROM h use index (cs) WHERE c=1941 AND s>=0 ORDER BY p
> DESC LIMIT 0,13
> -> ;
> 040307 6:32:39 InnoDB: Warning: using a partial-field key prefix in
> search.
> InnoDB: Table name test/h, index name PRIMARY. Last data field length 4
> bytes,
> InnoDB: key ptr now exceeds key end by 2 bytes.
> InnoDB: Key value in the MySQL format:
> len 2; hex 9507; asc ;
> Empty set (0.00 sec)
>
>
> It returns an empty set no matter what data should have been returned.
> Removing the "use index" seems to fix it. It seems intermittent though,
> sometimes it DOES work and I can't find any pattern.
>
> Anyone bumped into this before?
>

Hi!

Thank you for writting to us.

I have tested your problem with 4.1.2 and it works just fine.

This is my test script:

drop table if exists t1;
CREATE TABLE t1 ( `p` int(11) unsigned NOT NULL auto_increment, `c` smallint(11) unsigned NOT NULL default '0', `s` smallint(11) NOT NULL default '0', PRIMARY KEY (`p`), KEY `c` (`c`), KEY `s` (`s`), KEY `cs` (`c`,`s`) ) TYPE=InnoDB DEFAULT CHARSET=latin1;
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
insert into t1 values (NULL,1941,1);
SELECT * FROM t1 use index (cs) WHERE c=1941 AND s>=0 ORDER BY p DESC LIMIT 0,13;
drop table if exists t1;

These are results:
p c s
41 1941 1
40 1941 1
39 1941 1
38 1941 1
37 1941 1
36 1941 1
35 1941 1
34 1941 1
33 1941 1
32 1941 1
31 1941 1
30 1941 1
29 1941 1


4.1.2 will be available in the couple of weeks.


--

Sincerely,

--
For technical support contracts, go to https://order.mysql.com/?ref=msmi
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Sinisa Milivojevic
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB
/_/ /_/\_, /___/\___\_\___/ Full time Developer and Support Coordinator
<___/ www.mysql.com Larnaca, Cyprus

Meet the MySQL at User Conference ! (April 14-16, 2004)
http://www.mysql.com/uc2004/


--
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs@m.gmane.org

Re: Warning: using a partial-field key prefix in search.

am 08.03.2004 15:14:55 von Kevin Day

--Apple-Mail-8--483635869
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=US-ASCII;
format=flowed


On Mar 8, 2004, at 6:43 AM, Sinisa Milivojevic wrote:

> Hi!
>
> Thank you for writting to us.
>
> I have tested your problem with 4.1.2 and it works just fine.
>

Your test script worked for me too, so let me try giving you something
more specific to try. This also fails with MyISAM tables, but doesn't
print any warning, there's just 0 rows returned when there should be.

mysql test
mysql> select * from t2 WHERE c=1941 AND s>=0 ORDER BY p DESC;
Empty set (0.00 sec)

mysql> select * from t2 WHERE c=1941 AND s>=0;
*snipped out correct results*
2655 rows in set (0.07 sec)

mysql> alter table t2 drop key cs;
Query OK, 128267 rows affected (1.33 sec)
Records: 128267 Duplicates: 0 Warnings: 0

mysql> select * from t2 WHERE c=1941 AND s>=0 ORDER BY p DESC;
*snipped out correct results*
2655 rows in set (0.08 sec)


Test schema and data are available at:

http://www.dragondata.com/~toasty/test-schema-and-data.bz2 (431KB)


I'm curious to see if this works in 4.1.2 or not.

Thanks!

-- Kevin

--Apple-Mail-8--483635869
Content-Transfer-Encoding: base64
Content-Type: application/pkcs7-signature;
name=smime.p7s
Content-Disposition: attachment;
filename=smime.p7s

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEH AQAAoIIGHjCCAtcw
ggJAoAMCAQICAwtjgDANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTEl MCMGA1UEChMcVGhh
d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBl cnNvbmFsIEZyZWVt
YWlsIElzc3VpbmcgQ0EwHhcNMDMxMjI5MTgxMjQ2WhcNMDQxMjI4MTgxMjQ2 WjBHMR8wHQYDVQQD
ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSQwIgYJKoZIhvcNAQkBFhV0b2Fz dHlAZHJhZ29uZGF0
YS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs0wJ2xL6p kdZ6rgiWVxLKV7Q2
YdqYNwCBM6akjFGjqU3UQRzI4fGfpa/04zSVKDpb6ybLghz12m/QImYUBOf0 HDxGR4Dc6xnx5fdp
uiQtsjXQbMNGRvAzJk+J9Qk6GveC4fvu2ErxVg1RDDM/X5cwjgaFBIXH7r4i CSFImw9bWi5DCUwv
QMIZJnrDyEYxjBRReZtvEY60MsyrG3KWmXx6/dQJ2iVpfWYmP9pRb4poaGCL 2GX81SoU8Rag9DyJ
ZcUmyziGKCXe8xNG0FRiGNv2ouctZfhJwN95U9zhTCbNZBEqALsGOxbqOPE1 vdEoXEE/u18oTrgu
UFInTyLNZEjLAgMBAAGjMjAwMCAGA1UdEQQZMBeBFXRvYXN0eUBkcmFnb25k YXRhLmNvbTAMBgNV
HRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GBAI+lU3sBO7svRPWTApI+/58X oDNSn4t91cDigB/p
cnNo/mbmYGjWPLOExyduZcZzqpYkcoFAmcuPnbZafLlgPdd6E0Q6rxMZolzR IPBz0O6dY0/xkjBR
+RbrontV5UiaHcmC+jNl0m/gChxoV7b/7M2Q9z5UMMofkKwMwNtANMBgMIID PzCCAqigAwIBAgIB
DTANBgkqhkiG9w0BAQUFADCB0TELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdl c3Rlcm4gQ2FwZTES
MBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGlu ZzEoMCYGA1UECxMf
Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhh d3RlIFBlcnNvbmFs
IEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFp bEB0aGF3dGUuY29t
MB4XDTAzMDcxNzAwMDAwMFoXDTEzMDcxNjIzNTk1OVowYjELMAkGA1UEBhMC WkExJTAjBgNVBAoT
HFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0 ZSBQZXJzb25hbCBG
cmVlbWFpbCBJc3N1aW5nIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB gQDEpjxVc1X7TrnK
mVoeaMB1BHCd3+n/ox7svc31W/Iadr1/DDph8r9RzgHU5VAKMNcCY1osiRVw jt3J8CuFWqo/cVbL
rzwLB+fxH5E2JCoTzyvV84J3PQO+K/67GD4Hv0CAAmTXp6a7n2XRxSpUhQ9I BH+nttE8YQRAHmQZ
cmC3+wIDAQABo4GUMIGRMBIGA1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDww OjA4oDagNIYyaHR0
cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVBlcnNvbmFsRnJlZW1haWxDQS5j cmwwCwYDVR0PBAQD
AgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwyLTEz ODANBgkqhkiG9w0B
AQUFAAOBgQBIjNFQg+oLLswNo2asZw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82 L8D0HFAgk3A8/a3h
YWLD2ToZfoSxmRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr394fW xghOrvbqNOUQGls1
TXfjViF4gtwhGTXeJLHTHUb/XV9lTzGCAucwggLjAgEBMGkwYjELMAkGA1UE BhMCWkExJTAjBgNV
BAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1Ro YXd0ZSBQZXJzb25h
bCBGcmVlbWFpbCBJc3N1aW5nIENBAgMLY4AwCQYFKw4DAhoFAKCCAVMwGAYJ KoZIhvcNAQkDMQsG
CSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDQwMzA4MTQxNDU1WjAjBgkq hkiG9w0BCQQxFgQU
/Fvj8wYHKqSuuxGsoxKs3eUTfFQweAYJKwYBBAGCNxAEMWswaTBiMQswCQYD VQQGEwJaQTElMCMG
A1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMj VGhhd3RlIFBlcnNv
bmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECAwtjgDB6BgsqhkiG9w0BCRACCzFr oGkwYjELMAkGA1UE
BhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4x LDAqBgNVBAMTI1Ro
YXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgMLY4AwDQYJKoZI hvcNAQEBBQAEggEA
QExuBt1dJLjFC5ctO5sC38y0theaGmATEB80HZSi1Jq6Kup1YCmsDXe3gfqn k3eZg4EBP6u9iSRu
2s51bI2QVfqzJmXZeBMmebIqZPNwXikuNTXie7/uRnxyK+kQN3fBOjvBWArs hOHdwgwzbtqX9xTP
aWAnV/+TZ+f41o/0UQkNfQuvqI2Un8lr7sg9x391s2fhQmQdedoE0r+GGDx7 a7meKp+ITb4jPadz
YFTAg06Z4j9oCb3zeVKpGGMkSd6t2fZNPexyg9PgqdTde8Rknl242wYv38h2 O3FMgG6iNOAv4HFY
c00HYKAC7J58dRmgqzlg6VbmHoHLsJS5E8tRbAAAAAAAAA==

--Apple-Mail-8--483635869--

Re: Warning: using a partial-field key prefix in search.

am 08.03.2004 16:24:12 von Alexander Keremidarski

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Kevin,

Kevin Day wrote:

> Your test script worked for me too, so let me try giving you something
> more specific to try. This also fails with MyISAM tables, but doesn't
> print any warning, there's just 0 rows returned when there should be.
>
> mysql test >
> mysql> select * from t2 WHERE c=1941 AND s>=0 ORDER BY p DESC;
> Empty set (0.00 sec)
>
> mysql> select * from t2 WHERE c=1941 AND s>=0;
> *snipped out correct results*
> 2655 rows in set (0.07 sec)

I got exactly the same result.

> mysql> alter table t2 drop key cs;

You don't even need to do that! Look:

mysql> select * from t2 WHERE c=1941 AND s>=0 ORDER BY p DESC;
Empty set (0.00 sec)

mysql> select count(*) from t2 WHERE c=1941 AND s>=0 ORDER BY p DESC;
+----------+
| count(*) |
+----------+
| 2655 |
+----------+
1 row in set (0.01 sec)


It is clear this a bug. I would try to find smaller test case and will enter it
into our Bugs database.

Thank you a lot for pointing this to us and for excelent test case.


> -- Kevin

Best regards

- --
Meet the MySQL Team at User Conference 2004!
http://www.mysql.com/uc2004/

For technical support contracts, visit https://order.mysql.com/?ref=msal
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Alexander Keremidarski
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Full-Time Developer
/_/ /_/\_, /___/\___\_\___/ Sofia, Bulgaria
<___/ www.mysql.com


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFATJAcNJ1Mo9yetSkRAuONAJ4iOxkDi8lFZpAs1gg0PShbKTvsEgCd EKSh
a7qAnGRWLcJxkxmza2Tbe/4=
=zGbJ
-----END PGP SIGNATURE-----


--
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs@m.gmane.org

Re: Warning: using a partial-field key prefix in search.

am 08.03.2004 19:20:01 von Heikki Tuuri

Hi!

I am able to repeat the warning with a relatively recent build of 4.1.2 with
just an empty table.

The 'hack' function below apparently copies some list of ranges from
QUICK_SELECT to QUICK_SELECT_DESC.

Then, in QUICK_SELECT_DESC::get_next(), 'range' is nonsensical. It is on a
4-byte integer column, but the key value in the range is only 2 bytes!

People have reported this warning in the .err log also before.

"
----- Original Message -----
From: ""Mechain Marc""
Newsgroups: mailing.database.mysql
Sent: Tuesday, August 19, 2003 5:09 PM
Subject: What's the meaning of: "InnoDB: Warning: using a partial-field key
prefix in search"
"

Unfortunately, Marc never told what MySQL version he was using.

Regards,

Heikki


/sql/opt_range.cc:

/*
This is a hack: we inherit from QUICK_SELECT so that we can use the
get_next() interface, but we have to hold a pointer to the original
QUICK_SELECT because its data are used all over the place. What
should be done is to factor out the data that is needed into a base
class (QUICK_SELECT), and then have two subclasses (_ASC and _DESC)
which handle the ranges and implement the get_next() function. But
for now, this seems to work right at least.
*/

QUICK_SELECT_DESC::QUICK_SELECT_DESC(QUICK_SELECT *q, uint used_key_parts)
: QUICK_SELECT(*q), rev_it(rev_ranges)
{
bool not_read_after_key = file->table_flags() & HA_NOT_READ_AFTER_KEY;
QUICK_RANGE *r;

it.rewind();
for (r = it++; r; r = it++)
{
rev_ranges.push_front(r);
if (not_read_after_key && range_reads_after_key(r))
{
it.rewind(); // Reset range
error = HA_ERR_UNSUPPORTED;
dont_free=1; // Don't free memory from
'q'
return;
}
}
/* Remove EQ_RANGE flag for keys that are not using the full key */
for (r = rev_it++; r; r = rev_it++)
{
if ((r->flag & EQ_RANGE) &&
head->key_info[index].key_length != r->max_length)
r->flag&= ~EQ_RANGE;
}
rev_it.rewind();
q->dont_free=1; // Don't free shared mem
delete q;
}

int QUICK_SELECT_DESC::get_next()
{
DBUG_ENTER("QUICK_SELECT_DESC::get_next");

/* The max key is handled as follows:
* - if there is NO_MAX_RANGE, start at the end and move backwards
* - if it is an EQ_RANGE, which means that max key covers the entire
* key, go directly to the key and read through it (sorting backwards
is
* same as sorting forwards)
* - if it is NEAR_MAX, go to the key or next, step back once, and
* move backwards
* - otherwise (not NEAR_MAX == include the key), go after the key,
* step back once, and move backwards
*/

for (;;)
{
int result;
if (range)
{ // Already read through key
result = ((range->flag & EQ_RANGE)
? file->index_next_same(record, (byte*) range->min_key,
range->min_length) :
file->index_prev(record));
if (!result)
{
if (cmp_prev(*rev_it.ref()) == 0)
DBUG_RETURN(0);
}
else if (result != HA_ERR_END_OF_FILE)
DBUG_RETURN(result);
}

if (!(range=rev_it++))
DBUG_RETURN(HA_ERR_END_OF_FILE); // All ranges used

if (range->flag & NO_MAX_RANGE) // Read last record

{
int local_error;
if ((local_error=file->index_last(record)))
DBUG_RETURN(local_error); // Empty table
if (cmp_prev(range) == 0)
DBUG_RETURN(0);
range=0; // No matching records; go to next range
continue;
}

if (range->flag & EQ_RANGE)
{
result = file->index_read(record, (byte*) range->max_key,
range->max_length, HA_READ_KEY_EXACT);
}
else
{
DBUG_ASSERT(range->flag & NEAR_MAX || range_reads_after_key(range));
#ifndef NOT_IMPLEMENTED_YET
result=file->index_read(record, (byte*) range->max_key,
range->max_length,
((range->flag & NEAR_MAX) ?
HA_READ_BEFORE_KEY :
HA_READ_PREFIX_LAST_OR_PREV\
));
#else
/*
Heikki changed Sept 11, 2002: since InnoDB does not store the cursor
position if READ_KEY_EXACT is used to a primary key with all
key columns specified, we must use below HA_READ_KEY_OR_NEXT,
so that InnoDB stores the cursor position and is able to move
the cursor one step backward after the search.
*/
/*
Note: even if max_key is only a prefix, HA_READ_AFTER_KEY will
do the right thing - go past all keys which match the prefix
*/
result=file->index_read(record, (byte*) range->max_key,
range->max_length,
((range->flag & NEAR_MAX) ?
HA_READ_KEY_OR_NEXT : HA_READ_AFTER_KEY));
result = file->index_prev(record);
#endi


--
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs@m.gmane.org

Re: Warning: using a partial-field key prefix in search.

am 08.03.2004 19:31:53 von Sinisa Milivojevic

Heikki Tuuri writes:
> Hi!
>
> I am able to repeat the warning with a relatively recent build of 4.1.2 with
> just an empty table.
>
> The 'hack' function below apparently copies some list of ranges from
> QUICK_SELECT to QUICK_SELECT_DESC.
>
> Then, in QUICK_SELECT_DESC::get_next(), 'range' is nonsensical. It is on a
> 4-byte integer column, but the key value in the range is only 2 bytes!
>
> People have reported this warning in the .err log also before.
>

Yes, we know.

We are preparing even smaller and fuller test case.

Then we shall enter it into bugs db as "Verified".

--

Sincerely,

--
For technical support contracts, go to https://order.mysql.com/?ref=msmi
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Sinisa Milivojevic
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB
/_/ /_/\_, /___/\___\_\___/ Full time Developer and Support Coordinator
<___/ www.mysql.com Larnaca, Cyprus

Meet the MySQL at User Conference ! (April 14-16, 2004)
http://www.mysql.com/uc2004/


--
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs@m.gmane.org

Re: Warning: using a partial-field key prefix in search.

am 12.03.2004 15:05:13 von Alexander Keremidarski

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Kevin,

I did a lot of tests with your bug report and found that it is very strange and
difficult to repeat.

It only happens under special conditions including "enough" number of rows *and*
"big enough" cardinality of secondary index.

This makes your test case even more valuable as it is 100% repeatable.

There was hope that this is related to recently fixed bug
http://bugs.mysql.com/bug.php?id=2959

but unfortunately even with this bugfix at place your bug still exists.

Therefore I entered it in our bugs database as
http://bugs.mysql.com/bug.php?id=3155

Feel free to add comments to it if you wish.

Best regards

- --
Meet the MySQL Team at User Conference 2004!
http://www.mysql.com/uc2004/

For technical support contracts, visit https://order.mysql.com/?ref=msal
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Alexander Keremidarski
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Full-Time Developer
/_/ /_/\_, /___/\___\_\___/ Sofia, Bulgaria
<___/ www.mysql.com


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFAUcOZNJ1Mo9yetSkRAmVvAJ9boozdp7ppXbeWbaNAV+ukLooQHgCf XdBE
SeKhcfW+F7qC0QR65H/YNVI=
=WGtQ
-----END PGP SIGNATURE-----


--
MySQL Bugs Mailing List
For list archives: http://lists.mysql.com/bugs
To unsubscribe: http://lists.mysql.com/bugs?unsub=gcdmb-bugs@m.gmane.org