leveldb: remove unused readBatch and readBatchToMem func
diff --git a/leveldb/batch.go b/leveldb/batch.go
index 407bc72..548f25d 100644
--- a/leveldb/batch.go
+++ b/leveldb/batch.go
@@ -7,7 +7,6 @@
package leveldb
import (
- "bufio"
"encoding/binary"
"fmt"
"io"
@@ -308,96 +307,6 @@
return
}
-func readBatch(br *bufio.Reader, fn func(i int, kt keyType, k, v []byte) error) error {
- var k, v []byte
- for i := 0; ; i++ {
- // Key type.
- c, err := br.ReadByte()
- if err != nil {
- if err == io.EOF {
- err = nil
- }
- return err
- }
- kt := keyType(c)
- if kt > keyTypeVal {
- return newErrBatchCorrupted(fmt.Sprintf("bad record: invalid type %#x", uint(kt)))
- }
-
- // Key.
- x, err := binary.ReadUvarint(br)
- if err == nil {
- k = ensureBuffer(k, int(x))
- _, err = io.ReadFull(br, k)
- }
- if err != nil {
- if err == io.ErrUnexpectedEOF {
- err = newErrBatchCorrupted("bad record: invalid key length")
- }
- return err
- }
-
- // Value.
- if kt == keyTypeVal {
- x, err = binary.ReadUvarint(br)
- if err == nil {
- v = ensureBuffer(v, int(x))
- _, err = io.ReadFull(br, v)
- }
- if err != nil {
- if err == io.ErrUnexpectedEOF {
- err = newErrBatchCorrupted("bad record: invalid value length")
- }
- return err
- }
-
- if err := fn(i, kt, k, v); err != nil {
- return err
- }
- } else {
- if err := fn(i, kt, k, nil); err != nil {
- return err
- }
- }
- }
- return nil
-}
-
-func readBatchToMem(br *bufio.Reader, expectSeq uint64, mdb *memdb.DB) (seq uint64, batchLen int, err error) {
- header, err := br.Peek(batchHeaderLen)
- if err != nil && err != io.EOF {
- // Let's decodeBatchHeader returns "too short" error.
- return 0, 0, err
- }
- seq, batchLen, err = decodeBatchHeader(header)
- if err != nil {
- return 0, 0, err
- }
- if seq < expectSeq {
- return 0, 0, newErrBatchCorrupted("invalid sequence number")
- }
- // Discard is guaranteed to succeed without reading from the underlying
- // io.Reader.
- br.Discard(batchHeaderLen)
- var ik []byte
- var decodedLen int
- err = readBatch(br, func(i int, kt keyType, k, v []byte) error {
- if i >= batchLen {
- return newErrBatchCorrupted("invalid records length")
- }
- ik = makeInternalKey(ik, k, seq+uint64(i), kt)
- if err := mdb.Put(ik, v); err != nil {
- return err
- }
- decodedLen++
- return nil
- })
- if err == nil && decodedLen != batchLen {
- err = newErrBatchCorrupted(fmt.Sprintf("invalid records length: %d vs %d", batchLen, decodedLen))
- }
- return
-}
-
func encodeBatchHeader(dst []byte, seq uint64, batchLen int) []byte {
dst = ensureBuffer(dst, batchHeaderLen)
binary.LittleEndian.PutUint64(dst, seq)
diff --git a/leveldb/batch_test.go b/leveldb/batch_test.go
index b37ed7c..62775f7 100644
--- a/leveldb/batch_test.go
+++ b/leveldb/batch_test.go
@@ -7,7 +7,6 @@
package leveldb
import (
- "bufio"
"bytes"
"fmt"
"testing"
@@ -82,10 +81,6 @@
t.Logf("batch.replayInternal: %v", err)
return false
}
- if err := readBatch(bufio.NewReader(bytes.NewReader(batch.data)), testBatch); err != nil {
- t.Logf("readBatch: %v", err)
- return false
- }
abatch.append(rbatch)
rbatch.Reset()