diff options
author | unknown <kaa@polly.(none)> | 2007-11-26 19:35:08 +0300 |
---|---|---|
committer | unknown <kaa@polly.(none)> | 2007-11-26 19:35:08 +0300 |
commit | 29cdc47ecd3db062f2bf4dc88130da2a0299f6da (patch) | |
tree | db2bf05dc2df612f215e2abd4533d981a47c91b5 /sql | |
parent | c81eb57b92ad6ec1409e7e34c672ca983fdd7bc6 (diff) | |
parent | 67bf39f241bb1742dfa221218ff3d50842f58490 (diff) | |
download | mariadb-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.cc | 8 | ||||
-rw-r--r-- | sql/ha_myisammrg.cc | 8 |
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; } |