Commit Graph

748 Commits (97aba5586d36f9670a77dc6e60ec1b9ef31ce9ae)

Author SHA1 Message Date
Ben Johnson 8fa6531b1c Add 'bolt keys'. 2014-03-21 22:05:28 -06:00
Ben Johnson e8d3ae6287 Add 'bolt get'. 2014-03-21 22:00:34 -06:00
Ben Johnson e86296ede7 Merge pull request #71 from benbjohnson/munmap-fix
Fix db.munmap() to return an error.
2014-03-21 13:32:40 -06:00
Ben Johnson d2173f5f0e Fix db.munmap() to return an error.
Changes munmap to return an error and the DB now implements io.Closer.
I also removed all the OS and Syscall mocking because it's causing issues.
Corrupt file tests need to be recreated but directly using the file system
instead.
2014-03-21 13:21:33 -06:00
Ben Johnson 2eea5766ae Merge pull request #68 from benbjohnson/remove-db-functions
Remove ease-of-use functions from the DB type.
2014-03-21 10:21:47 -06:00
Ben Johnson 3cc959fb1a Remove ease-of-use functions from the DB type.
Functions such as DB.Put(), DB.Get(), and DB.Delete() were originally
added to be easy to use, however, after implementing Bolt in multiple
projects I have found these ease-of-use functions useless. Nearly
every use case requires multiple calls in a single transaction.

Using the DB ease of use functions turned out to be an antipattern.
2014-03-21 09:52:01 -06:00
Ben Johnson 1c7b59a4c2 Merge pull request #65 from benbjohnson/fix-tx-buckets-sort-order
Fix Tx.Buckets() sort order.
2014-03-21 08:45:34 -06:00
Ben Johnson 26afa92faf Fix Bucket.ForEach() comment. 2014-03-15 09:14:20 -06:00
Ben Johnson 60fd6f6604 Merge pull request #66 from tv42/testing-short
Skip long-running tests with go test -short
2014-03-13 17:14:21 -07:00
Tommi Virtanen ed909b43ea Skip long-running tests with go test -short 2014-03-13 17:10:33 -07:00
Ben Johnson 62cf02e21a Fix Tx.Buckets() sort order.
@tv42 reported an issue with bucket names returning incorrectly. Not sure if
this fixes the issue but it is necessary anyway.
2014-03-13 15:08:59 -06:00
Ben Johnson fdd7f2162e Merge pull request #64 from benbjohnson/fix-empty-cursor-last
Fix Cursor.Last() on empty buckets.
2014-03-13 13:51:43 -07:00
Ben Johnson 4132080333 Fix Cursor.Last() on empty buckets.
@tv42 reported that creating a cursor on an empty bucket and then calling
Cursor.Last() causes an index out of range error and panics. This commit
adds a check for the page's item count being greater than zero.

Fixes #63.
2014-03-13 14:39:28 -06:00
Ben Johnson b9b69d867a README 2014-03-10 15:03:26 -07:00
Ben Johnson 4e252b8a7f Merge pull request #61 from benbjohnson/merge-tx
Consolidate Tx and RWTx
2014-03-08 19:45:56 -08:00
Ben Johnson a32d0c5c5f Merge pull request #60 from benbjohnson/tx
Rename Transaction to Tx.
2014-03-08 19:44:10 -08:00
Ben Johnson c551e45a47 Consolidate Tx and RWTx. 2014-03-08 20:40:48 -07:00
Ben Johnson 57376f0905 Rename Transaction to Tx.
I changed the Transaction/RWTransaction types to Tx/RWTx, respectively. This makes the naming
more consistent with other packages such as database/sql. The txnid is changed to txid as well.
2014-03-08 17:04:02 -07:00
Ben Johnson 64fcacedfa Add benchmarks. 2014-03-04 13:23:46 -07:00
Ben Johnson 3a1b152562 Ignore multiple transaction commit/rollback/close. 2014-03-01 12:53:05 -07:00
Ben Johnson 7214e089c0 Merge pull request #57 from benbjohnson/node-aware-cursors
Allow reads of unflushed nodes.
2014-03-01 09:21:11 -07:00
Ben Johnson a1f43f4d60 Allow reads of unflushed nodes.
This commit allows cursors to read updated values from within the
RWTransaction.
2014-03-01 09:13:59 -07:00
Ben Johnson 1eb9e09028 Merge branch 'master' of https://github.com/boltdb/bolt 2014-03-01 07:51:45 -07:00
Ben Johnson 956453b69f Minor refactor. 2014-02-28 15:13:07 -07:00
Ben Johnson 9abba5dfa2 Merge pull request #55 from benbjohnson/fix-mmap-resize
Fix the mmap resize to use the correct size.
2014-02-27 14:37:11 -07:00
Ben Johnson 0477c1e0ce Fix the mmap resize to use the correct size.
Fixes #54. Previously the DB was calculating a minimum mmap size but
using the wrong variable after it calculated the size. This commit
changes the DB to use the correct variable.
2014-02-27 14:33:31 -07:00
Ben Johnson 9abced434f Add bucket reclamation.
After RWTransaction.DeleteBucket() is called, all pages related to the
bucket are moved to the freelist for that transaction.
2014-02-27 11:55:44 -07:00
Ben Johnson 0209ad2ed4 Merge pull request #53 from benbjohnson/open-api
Add bolt.Open()
2014-02-26 16:37:22 -07:00
Ben Johnson a47c50295a Add bolt.Open().
Per the suggestion of @tv42 and @cespare, this commit adds a package level
function to create and initialize a database at a given path. This is
a common interface for database packages.
2014-02-26 16:32:40 -07:00
Ben Johnson 41fb285e37 Remove RWTransaction.Bucket().
Add an reference to the RWTransaction onto Transaction so that calls to
Transaction.Bucket() and Transaction.Buckets() return writable buckets
when attached to a writabe transaction.
2014-02-25 08:31:04 -07:00
Ben Johnson 488785df09 Merge pull request #51 from benbjohnson/bucket-refactor
Refactor Bucket
2014-02-23 11:10:48 -07:00
Ben Johnson a544249dd8 Refactor Bucket. 2014-02-23 08:32:53 -07:00
Ben Johnson 3b2fd8f2d3 Revert "Refactor Transaction/Bucket API."
This reverts commit 1ad2b99f28.
2014-02-22 22:54:54 -07:00
Ben Johnson 7f2fe0e1ed Merge pull request #50 from benbjohnson/api
Refactor Transaction/Bucket API
2014-02-21 23:09:24 -07:00
Ben Johnson 1ad2b99f28 Refactor Transaction/Bucket API. 2014-02-21 22:57:50 -07:00
Ben Johnson 8f2f261931 Merge pull request #49 from benbjohnson/stat
Database Stats
2014-02-21 09:53:07 -07:00
Ben Johnson 9827df70e0 Add DB.Stat(). 2014-02-21 09:49:15 -07:00
Ben Johnson 62912a4c2e Merge pull request #48 from benbjohnson/bucket-stat
Bucket stats
2014-02-21 09:23:19 -07:00
Ben Johnson 1028d571d8 Bucket stats. 2014-02-21 09:20:45 -07:00
Ben Johnson ce3fa8a396 Merge pull request #47 from benbjohnson/bidirectional-cursor
Bidirectional cursors
2014-02-20 13:57:26 -07:00
Ben Johnson 15e0eae829 Bidirectional cursors. 2014-02-20 13:53:40 -07:00
Ben Johnson b9ec84552b Merge pull request #45 from benbjohnson/seek
Cursor.Get is now Cursor.Seek, and returns the first possible key.
2014-02-20 13:24:55 -07:00
Tommi Virtanen 8438c6ebc3 Cursor.Get is now Cursor.Seek, and returns the first possible key.
This makes range and prefix queries possible.

Closes: #44
2014-02-20 11:33:28 -08:00
Ben Johnson 8864050f87 Merge pull request #43 from benbjohnson/cursor-godoc-fix
Fix Cursor godoc for First(), Next(), and Get().
2014-02-20 11:05:52 -07:00
Ben Johnson 2d1f21a40d Fix Cursor godoc for First(), Next(), and Get(). 2014-02-20 11:04:46 -07:00
Ben Johnson 87226ac3ec Update project status. 2014-02-20 10:30:01 -07:00
Ben Johnson 44579ac174 Merge pull request #40 from benbjohnson/sequence-overflow
Check for sequence overflow.
2014-02-20 09:26:17 -07:00
Ben Johnson a857b45bac Check for sequence overflow. 2014-02-20 09:24:02 -07:00
Ben Johnson 0752480eb4 Merge branch 'master' of https://github.com/boltdb/bolt 2014-02-20 09:12:11 -07:00
Ben Johnson 00bdc4757f Add 'make cloc'. 2014-02-20 09:11:52 -07:00