code: func (mvcc *MVCCLevelDB) RawScan(startKey, endKey []byte, limit int) []Pair {
  	mvcc.mu.Lock()
  	defer mvcc.mu.Unlock()
  
  	iter := mvcc.db.NewIterator(&util.Range{
  		Start: startKey,
  	}, nil)
  
  	var pairs []Pair
  	for iter.Next() && len(pairs) < limit {
  		key := iter.Key()
  		value := iter.Value()
  		err := iter.Error()
  		if len(endKey) > 0 && bytes.Compare(key, endKey) >= 0 {
  			break
  		}
  		pairs = append(pairs, Pair{
  			Key:   append([]byte{}, key...),
  			Value: append([]byte{}, value...),
  			Err:   err,
  		})
  	}
  	return pairs
  }
docs: // RawScan implements the RawKV interface.