github.com/cockroachdb/pebble@v1.1.1-0.20240513155919-3622ade60459/tool/make_test_sstables.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 //go:build make_test_sstables 6 // +build make_test_sstables 7 8 // Run using: go run -tags make_test_sstables ./tool/make_test_sstables.go 9 package main 10 11 import ( 12 "log" 13 14 "github.com/cockroachdb/pebble/internal/private" 15 "github.com/cockroachdb/pebble/objstorage/objstorageprovider" 16 "github.com/cockroachdb/pebble/sstable" 17 "github.com/cockroachdb/pebble/vfs" 18 ) 19 20 func makeOutOfOrder() { 21 fs := vfs.Default 22 f, err := fs.Create("tool/testdata/out-of-order.sst") 23 if err != nil { 24 log.Fatal(err) 25 } 26 w := sstable.NewWriter(objstorageprovider.NewFileWritable(f), sstable.WriterOptions{}) 27 private.SSTableWriterDisableKeyOrderChecks(w) 28 29 set := func(key string) { 30 if err := w.Set([]byte(key), nil); err != nil { 31 log.Fatal(err) 32 } 33 } 34 35 set("a") 36 set("c") 37 set("b") 38 39 if err := w.Close(); err != nil { 40 log.Fatal(err) 41 } 42 } 43 44 func main() { 45 makeOutOfOrder() 46 }