MCPcopy
hub / github.com/etcd-io/bbolt / TestBucket_Sequence

Function TestBucket_Sequence

bucket_test.go:818–856  ·  view source on GitHub ↗

Ensure bucket can set and update its sequence number.

(t *testing.T)

Source from the content-addressed store, hash-verified

816
817// Ensure bucket can set and update its sequence number.
818func TestBucket_Sequence(t *testing.T) {
819 db := btesting.MustCreateDB(t)
820
821 if err := db.Update(func(tx *bolt.Tx) error {
822 bkt, err := tx.CreateBucket([]byte("0"))
823 if err != nil {
824 t.Fatal(err)
825 }
826
827 // Retrieve sequence.
828 if v := bkt.Sequence(); v != 0 {
829 t.Fatalf("unexpected sequence: %d", v)
830 }
831
832 // Update sequence.
833 if err := bkt.SetSequence(1000); err != nil {
834 t.Fatal(err)
835 }
836
837 // Read sequence again.
838 if v := bkt.Sequence(); v != 1000 {
839 t.Fatalf("unexpected sequence: %d", v)
840 }
841
842 return nil
843 }); err != nil {
844 t.Fatal(err)
845 }
846
847 // Verify sequence in separate transaction.
848 if err := db.View(func(tx *bolt.Tx) error {
849 if v := tx.Bucket([]byte("0")).Sequence(); v != 1000 {
850 t.Fatalf("unexpected sequence: %d", v)
851 }
852 return nil
853 }); err != nil {
854 t.Fatal(err)
855 }
856}
857
858// Ensure that a bucket can return an autoincrementing sequence.
859func TestBucket_NextSequence(t *testing.T) {

Callers

nothing calls this directly

Calls 9

MustCreateDBFunction · 0.92
UpdateMethod · 0.80
SequenceMethod · 0.80
SetSequenceMethod · 0.80
ViewMethod · 0.80
FatalMethod · 0.65
FatalfMethod · 0.65
CreateBucketMethod · 0.45
BucketMethod · 0.45

Tested by

no test coverage detected