Commit 4f08c4b7 authored by unknown's avatar unknown

Bug#4411

  Fix for server hang bug


mysql-test/r/heap.result:
  Bug#4411
    Test for server hang bug
mysql-test/t/heap.test:
  Bug#4411
    Test for server hang bug
sql/opt_sum.cc:
  Bug#4411
    Allow code to exit the loop.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
parent 2a64371e
...@@ -5,6 +5,7 @@ Administrator@fred. ...@@ -5,6 +5,7 @@ Administrator@fred.
Greg@greg-laptop. Greg@greg-laptop.
Miguel@light.local Miguel@light.local
Sinisa@sinisa.nasamreza.org Sinisa@sinisa.nasamreza.org
acurtis@pcgem.rdg.cyberkinetica.com
ahlentz@co3064164-a.rochd1.qld.optusnet.com.au ahlentz@co3064164-a.rochd1.qld.optusnet.com.au
akishkin@work.mysql.com akishkin@work.mysql.com
antony@ltantony.dsl-verizon.net antony@ltantony.dsl-verizon.net
......
...@@ -217,3 +217,13 @@ DELETE from t1 where a < 100; ...@@ -217,3 +217,13 @@ DELETE from t1 where a < 100;
SELECT * from t1; SELECT * from t1;
a a
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE `job_titles` (
`job_title_id` int(6) unsigned NOT NULL default '0',
`job_title` char(18) NOT NULL default '',
PRIMARY KEY (`job_title_id`),
UNIQUE KEY `job_title_id` (`job_title_id`,`job_title`)
) TYPE=HEAP;
SELECT MAX(job_title_id) FROM job_titles;
MAX(job_title_id)
NULL
DROP TABLE job_titles;
...@@ -147,3 +147,17 @@ INSERT into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11); ...@@ -147,3 +147,17 @@ INSERT into t1 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11);
DELETE from t1 where a < 100; DELETE from t1 where a < 100;
SELECT * from t1; SELECT * from t1;
DROP TABLE t1; DROP TABLE t1;
#
# Bug#4411 Server hangs when trying to SELECT MAX(id) from an empty HEAP table
#
CREATE TABLE `job_titles` (
`job_title_id` int(6) unsigned NOT NULL default '0',
`job_title` char(18) NOT NULL default '',
PRIMARY KEY (`job_title_id`),
UNIQUE KEY `job_title_id` (`job_title_id`,`job_title`)
) TYPE=HEAP;
SELECT MAX(job_title_id) FROM job_titles;
DROP TABLE job_titles;
...@@ -401,6 +401,7 @@ static bool find_range_key(TABLE_REF *ref, Field* field, COND *cond) ...@@ -401,6 +401,7 @@ static bool find_range_key(TABLE_REF *ref, Field* field, COND *cond)
/* Can't use this key, for looking up min() or max(), end if last one */ /* Can't use this key, for looking up min() or max(), end if last one */
if (key == 1) if (key == 1)
return 0; return 0;
key>>=1; idx++;
} }
ref->key_length=0; ref->key_length=0;
ref->key=idx; ref->key=idx;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment