diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2014-06-22 09:33:28 -0600 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2014-06-22 09:33:28 -0600 |
commit | 0f585358f41a0e6b9e433e36a35c03e9fd9d4c47 (patch) | |
tree | 270e042d5a039cceb56fd871c93bf4aa3cde75de /bucket.go | |
parent | Merge pull request #206 from Shopify/pending_page_stats (diff) | |
download | dedo-0f585358f41a0e6b9e433e36a35c03e9fd9d4c47.tar.gz dedo-0f585358f41a0e6b9e433e36a35c03e9fd9d4c47.tar.xz |
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.
Diffstat (limited to 'bucket.go')
-rw-r--r-- | bucket.go | 15 |
1 files changed, 2 insertions, 13 deletions
@@ -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. |