Browse Source

storage/backend: fix limit doesn't effect in range

Yicheng Qin 10 years ago
parent
commit
7ed929fb3d
1 changed files with 3 additions and 0 deletions
  1. 3 0
      storage/backend/batch_tx.go

+ 3 - 0
storage/backend/batch_tx.go

@@ -68,6 +68,9 @@ func (t *batchTx) UnsafeRange(bucketName []byte, key, endKey []byte, limit int64
 	for ck, cv := c.Seek(key); ck != nil && bytes.Compare(ck, endKey) < 0; ck, cv = c.Next() {
 		vs = append(vs, cv)
 		keys = append(keys, ck)
+		if limit > 0 && limit == int64(len(keys)) {
+			break
+		}
 	}
 
 	return keys, vs