code: func (db *DB) buildDataScanKeyRange(storeDataType byte, key []byte, cursor []byte, reverse bool) (minKey []byte, maxKey []byte, err error) {
  	if !reverse {
  		if minKey, err = db.encodeDataScanMinKey(storeDataType, key, cursor); err != nil {
  			return
  		}
  		if maxKey, err = db.encodeDataScanMaxKey(storeDataType, key, nil); err != nil {
  			return
  		}
  	} else {
  		if minKey, err = db.encodeDataScanMinKey(storeDataType, key, nil); err != nil {
  			return
  		}
  		if maxKey, err = db.encodeDataScanMaxKey(storeDataType, key, cursor); err != nil {
  			return
  		}
  	}
  	return
  }
docs: // for specail data scan