summaryrefslogtreecommitdiff
path: root/storage/maria/ma_rrnd.c
diff options
context:
space:
mode:
authorunknown <monty@mysql.com/narttu.mysql.fi>2007-08-21 20:54:11 +0300
committerunknown <monty@mysql.com/narttu.mysql.fi>2007-08-21 20:54:11 +0300
commita8d94b4ab3826aeaa18d47ce862103591259e140 (patch)
treedcf70ef40dffb3324c019bae407db45de3749f9d /storage/maria/ma_rrnd.c
parent4cf6756eb0f29618646e2eadbd62804d81ff6a79 (diff)
downloadmariadb-git-a8d94b4ab3826aeaa18d47ce862103591259e140.tar.gz
Fixes for bugs found by maria.test and event*tests:
Fixed bug when doing rnd_read followed by update. Don't duplicate error messages in log Initialize transaction object properly. Fixed failure in event*tests when running with maria mysql-test/mysql-test-run.pl: Removed warning when running with --external mysql-test/r/maria.result: Added back disabled test Verified that the result changes are correct mysql-test/t/maria.test: Added back disabled test sql/handler.cc: More debugging. Simple style change sql/sql_class.cc: Initialize transaction object properly. Fixed failure in event*tests when running with maria storage/maria/ha_maria.cc: More dbug info storage/maria/ma_blockrec.c: Removed not needed line storage/maria/ma_rrnd.c: Removed not used code Ensure that cur_row.lastpos is always set when reading record with rnd. (Fixes failure in maria.test) storage/maria/maria_def.h: Don't call maria_print_error() except with EXTRA_DEBUG (Removes duplicate error messages when somethings goes wrong)
Diffstat (limited to 'storage/maria/ma_rrnd.c')
-rw-r--r--storage/maria/ma_rrnd.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/storage/maria/ma_rrnd.c b/storage/maria/ma_rrnd.c
index 4f5c2fb06cf..24c4bfdd467 100644
--- a/storage/maria/ma_rrnd.c
+++ b/storage/maria/ma_rrnd.c
@@ -33,20 +33,12 @@ int maria_rrnd(MARIA_HA *info, uchar *buf, MARIA_RECORD_POS filepos)
DBUG_ENTER("maria_rrnd");
DBUG_ASSERT(filepos != HA_OFFSET_ERROR);
-#ifdef NOT_USED
- if (filepos == HA_OFFSET_ERROR)
- {
- if (info->cur_row.lastpos == HA_OFFSET_ERROR) /* First read ? */
- filepos= info->s->pack.header_length; /* Read first record */
- else
- filepos= info->cur_row.nextpos;
- }
-#endif
/* Init all but update-flag */
info->update&= (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED);
if (info->opt_flag & WRITE_CACHE_USED && flush_io_cache(&info->rec_cache))
DBUG_RETURN(my_errno);
+ info->cur_row.lastpos= filepos; /* Remember for update */
DBUG_RETURN((*info->s->read_record)(info, buf, filepos));
}