From 0f585358f41a0e6b9e433e36a35c03e9fd9d4c47 Mon Sep 17 00:00:00 2001 From: Ben Johnson Date: Sun, 22 Jun 2014 09:33:28 -0600 Subject: Change Bucket.NextSequence() to return uint64. This commit changes NextSequence() to return a uint64 instead of an int. This also removes the ErrSequenceOverflow error condition since overflowing a uint64 is unlikely. Fixes #39. --- bucket.go | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'bucket.go') diff --git a/bucket.go b/bucket.go index e66d41c..9984fe8 100644 --- a/bucket.go +++ b/bucket.go @@ -39,10 +39,6 @@ var ( // on an existing non-bucket key or when trying to create or delete a // non-bucket key on an existing bucket key. ErrIncompatibleValue = errors.New("incompatible value") - - // ErrSequenceOverflow is returned when the next sequence number will be - // larger than the maximum integer size. - ErrSequenceOverflow = errors.New("sequence overflow") ) const ( @@ -336,23 +332,16 @@ func (b *Bucket) Delete(key []byte) error { } // NextSequence returns an autoincrementing integer for the bucket. -func (b *Bucket) NextSequence() (int, error) { +func (b *Bucket) NextSequence() (uint64, error) { if b.tx.db == nil { return 0, ErrTxClosed } else if !b.Writable() { return 0, ErrTxNotWritable } - // Make sure next sequence number will not be larger than the maximum - // integer size of the system. - if b.bucket.sequence == uint64(maxInt) { - return 0, ErrSequenceOverflow - } - // Increment and return the sequence. b.bucket.sequence++ - - return int(b.bucket.sequence), nil + return b.bucket.sequence, nil } // ForEach executes a function for each key/value pair in a bucket. -- cgit v1.2.3