summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <kaa@polly.(none)>2007-11-26 19:35:08 +0300
committerunknown <kaa@polly.(none)>2007-11-26 19:35:08 +0300
commit29cdc47ecd3db062f2bf4dc88130da2a0299f6da (patch)
treedb2bf05dc2df612f215e2abd4533d981a47c91b5 /sql
parentc81eb57b92ad6ec1409e7e34c672ca983fdd7bc6 (diff)
parent67bf39f241bb1742dfa221218ff3d50842f58490 (diff)
downloadmariadb-git-29cdc47ecd3db062f2bf4dc88130da2a0299f6da.tar.gz
Merge polly.(none):/home/kaa/src/opt/bug28837/my50-bug29131
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt sql/ha_myisam.cc: Auto merged mysql-test/r/merge.result: Manual merge. mysql-test/r/myisam.result: Manual merge. mysql-test/t/merge.test: Manual merge. mysql-test/t/myisam.test: Manual merge.
Diffstat (limited to 'sql')
-rw-r--r--sql/ha_myisam.cc8
-rw-r--r--sql/ha_myisammrg.cc8
2 files changed, 12 insertions, 4 deletions
diff --git a/sql/ha_myisam.cc b/sql/ha_myisam.cc
index ae0284fb202..1a0cbf61da2 100644
--- a/sql/ha_myisam.cc
+++ b/sql/ha_myisam.cc
@@ -1602,10 +1602,14 @@ int ha_myisam::index_next_same(byte * buf,
const byte *key __attribute__((unused)),
uint length __attribute__((unused)))
{
+ int error;
DBUG_ASSERT(inited==INDEX);
statistic_increment(table->in_use->status_var.ha_read_next_count,
- &LOCK_status);
- int error=mi_rnext_same(file,buf);
+ &LOCK_status);
+ do
+ {
+ error= mi_rnext_same(file,buf);
+ } while (error == HA_ERR_RECORD_DELETED);
table->status=error ? STATUS_NOT_FOUND: 0;
return error;
}
diff --git a/sql/ha_myisammrg.cc b/sql/ha_myisammrg.cc
index 60aa4bd6adc..78492d2843d 100644
--- a/sql/ha_myisammrg.cc
+++ b/sql/ha_myisammrg.cc
@@ -294,9 +294,13 @@ int ha_myisammrg::index_next_same(byte * buf,
const byte *key __attribute__((unused)),
uint length __attribute__((unused)))
{
+ int error;
statistic_increment(table->in_use->status_var.ha_read_next_count,
- &LOCK_status);
- int error=myrg_rnext_same(file,buf);
+ &LOCK_status);
+ do
+ {
+ error= myrg_rnext_same(file,buf);
+ } while (error == HA_ERR_RECORD_DELETED);
table->status=error ? STATUS_NOT_FOUND: 0;
return error;
}