Line data Source code
1 : // Copyright 2018 The LevelDB-Go and Pebble Authors. All rights reserved. Use
2 : // of this source code is governed by a BSD-style license that can be found in
3 : // the LICENSE file.
4 :
5 : package pebble
6 :
7 : import "github.com/cockroachdb/pebble/internal/base"
8 :
9 : // SeqNum exports the base.SeqNum type.
10 : type SeqNum = base.SeqNum
11 :
12 : // InternalKeyKind exports the base.InternalKeyKind type.
13 : type InternalKeyKind = base.InternalKeyKind
14 :
15 : // These constants are part of the file format, and should not be changed.
16 : const (
17 : InternalKeyKindDelete = base.InternalKeyKindDelete
18 : InternalKeyKindSet = base.InternalKeyKindSet
19 : InternalKeyKindMerge = base.InternalKeyKindMerge
20 : InternalKeyKindLogData = base.InternalKeyKindLogData
21 : InternalKeyKindSingleDelete = base.InternalKeyKindSingleDelete
22 : InternalKeyKindRangeDelete = base.InternalKeyKindRangeDelete
23 : InternalKeyKindMax = base.InternalKeyKindMax
24 : InternalKeyKindSetWithDelete = base.InternalKeyKindSetWithDelete
25 : InternalKeyKindRangeKeySet = base.InternalKeyKindRangeKeySet
26 : InternalKeyKindRangeKeyUnset = base.InternalKeyKindRangeKeyUnset
27 : InternalKeyKindRangeKeyDelete = base.InternalKeyKindRangeKeyDelete
28 : InternalKeyKindRangeKeyMin = base.InternalKeyKindRangeKeyMin
29 : InternalKeyKindRangeKeyMax = base.InternalKeyKindRangeKeyMax
30 : InternalKeyKindIngestSST = base.InternalKeyKindIngestSST
31 : InternalKeyKindDeleteSized = base.InternalKeyKindDeleteSized
32 : InternalKeyKindExcise = base.InternalKeyKindExcise
33 : InternalKeyKindInvalid = base.InternalKeyKindInvalid
34 : )
35 :
36 : // InternalKeyTrailer exports the base.InternalKeyTrailer type.
37 : type InternalKeyTrailer = base.InternalKeyTrailer
38 :
39 : // InternalKey exports the base.InternalKey type.
40 : type InternalKey = base.InternalKey
41 :
42 : // MakeInternalKey constructs an internal key from a specified user key,
43 : // sequence number and kind.
44 0 : func MakeInternalKey(userKey []byte, seqNum SeqNum, kind InternalKeyKind) InternalKey {
45 0 : return base.MakeInternalKey(userKey, seqNum, kind)
46 0 : }
47 :
48 : // MakeInternalKeyTrailer constructs a trailer from a specified sequence number
49 : // and kind.
50 1 : func MakeInternalKeyTrailer(seqNum SeqNum, kind InternalKeyKind) InternalKeyTrailer {
51 1 : return base.MakeTrailer(seqNum, kind)
52 1 : }
53 :
54 : type internalIterator = base.InternalIterator
55 :
56 : type topLevelIterator = base.TopLevelIterator
57 :
58 : // IsCorruptionError returns true if the given error indicates database
59 : // corruption.
60 1 : func IsCorruptionError(err error) bool {
61 1 : return base.IsCorruptionError(err)
62 1 : }
63 :
64 : // ErrCorruption is a marker to indicate that data in a file (WAL, MANIFEST,
65 : // sstable) isn't in the expected format.
66 : // DEPRECATED: should use IsCorruptionError() instead.
67 : var ErrCorruption = base.ErrCorruption
68 :
69 : // AttributeAndLen exports the base.AttributeAndLen type.
70 : type AttributeAndLen = base.AttributeAndLen
71 :
72 : // ShortAttribute exports the base.ShortAttribute type.
73 : type ShortAttribute = base.ShortAttribute
74 :
75 : // LazyFetcher exports the base.LazyFetcher type. This export is needed since
76 : // LazyValue.Clone requires a pointer to a LazyFetcher struct to avoid
77 : // allocations. No code outside Pebble needs to peer into a LazyFetcher.
78 : type LazyFetcher = base.LazyFetcher
|