Now DBIter::Next supports lazy load value, but DBIter::Prev does not support lazy load for first visible is kValueType.
DBIter::Prev needs to calling underlying iter->Prev to get the iter pos of first visible kValueType, this needs to backup iter->value(), thus can not realize lazy load.
ToplingZipTable can load the value by ValueID, thus we can backup the ValueID instead of value content to realize lazy load. -- If zero copy is applicable, the lazy load is not needed.
Now
DBIter::Nextsupports lazy load value, butDBIter::Prevdoes not support lazy load for first visible is kValueType.DBIter::Prevneeds to calling underlyingiter->Prevto get the iter pos of first visible kValueType, this needs to backupiter->value(), thus can not realize lazy load.ToplingZipTable can load the value by
ValueID, thus we can backup theValueIDinstead ofvalue contentto realize lazy load. -- If zero copy is applicable, the lazy load is not needed.