maria-developers team mailing list archive
Mailing list archive
Re: 7198e7c71fc: MDEV-15458 Segfault in heap_scan() upon UPDATE after ADD SYSTEM VERSIONING
On Dec 23, Aleksey Midenkov wrote:
> revision-id: 7198e7c71fc (versioning-1.0.6-82-g7198e7c71fc)
> parent(s): 6be155757b7
> author: Aleksey Midenkov <midenok@xxxxxxxxx>
> committer: Aleksey Midenkov <midenok@xxxxxxxxx>
> timestamp: 2018-12-20 13:25:00 +0300
> MDEV-15458 Segfault in heap_scan() upon UPDATE after ADD SYSTEM VERSIONING
> * HA_EXTRA_REMEMBER_POS, HA_EXTRA_RESTORE_POS for HEAP storage engine
> * Versioning tests support
As far as I can see, there are two approaches to fixing this bug.
And if we go the way of HA_EXTRA_REMEMBER_POS/HA_EXTRA_RESTORE_POS then
your fix is good.
But I'd still like to understand whether write_row is supposed to
disturb the scan. Why should heap_write() overwrite
info->current_ptr=pos and info->current_hash_ptr? Inserting a row
doesn't happen at the "current position", so I don't quite understand
why it modifies current_ptr at all. There is no functionality like
"continue the scan from the last inserted row", right? It just doesn't
make sense to me.
Chief Architect MariaDB