github.com/cockroachdb/pebble@v0.0.0-20231214172447-ab4952c5f87b/internal/private/sstable.go (about)

     1  // Copyright 2019 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 private
     6  
     7  import "github.com/cockroachdb/pebble/internal/base"
     8  
     9  // SSTableCacheOpts is a hook for specifying cache options to
    10  // sstable.NewReader.
    11  var SSTableCacheOpts func(cacheID uint64, fileNum base.DiskFileNum) interface{}
    12  
    13  // SSTableRawTombstonesOpt is a sstable.Reader option for disabling
    14  // fragmentation of the range tombstones returned by
    15  // sstable.Reader.NewRangeDelIter(). Used by debug tools to get a raw view of
    16  // the tombstones contained in an sstable.
    17  var SSTableRawTombstonesOpt interface{}
    18  
    19  // SSTableWriterDisableKeyOrderChecks is a hook for disabling the key ordering
    20  // invariant check performed by sstable.Writer. It is intended for internal use
    21  // only in the construction of invalid sstables for testing. See
    22  // tool/make_test_sstables.go.
    23  var SSTableWriterDisableKeyOrderChecks func(interface{})
    24  
    25  // SSTableInternalProperties is a func(*sstable.Writer) *sstable.Properties
    26  // function that allows Pebble-internal code to mutate properties that external
    27  // sstable writers are not permitted to edit. It's an untyped interface{} to
    28  // avoid a cyclic dependency.
    29  var SSTableInternalProperties interface{}