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{}