1059 Commits

Author SHA1 Message Date
Ben Johnson
1282a4aff7 Merge pull request #76 from benbjohnson/fsync
fdatasync
2014-03-23 10:01:58 -06:00
Ben Johnson
a10ce47f54 Consolidate syscall files. 2014-03-23 08:59:45 -07:00
Ben Johnson
fd8a13e837 Merge branch 'fdatasync' of https://github.com/tv42/bolt into fsync 2014-03-23 09:42:21 -06:00
Ben Johnson
f0e582d910 Merge pull request #75 from Slacken/32bit_build_fails_bucket_go_67
Fix 32bit build
2014-03-23 09:37:27 -06:00
binz
540d94614d fix 32bit build fails: bucket.go#67 2014-03-23 13:54:51 +08:00
Tommi Virtanen
5ce378b046 Call fdatasync/fsync after writing out non-meta pages
This avoids a case where writes can be reordered so meta page is
written before a page it refers to, potentially causing a corrupt
database after a power loss or kernel crash.
2014-03-22 20:47:08 -07:00
Ben Johnson
6d6303a0a2 Merge pull request #74 from benbjohnson/cli
CLI
2014-03-22 14:12:00 -06:00
Ben Johnson
4f4e15e6dd Fix print. 2014-03-21 23:07:46 -06:00
Ben Johnson
845a4d47ce Add 'bolt buckets'. 2014-03-21 22:56:17 -06:00
Ben Johnson
64a52452d3 Add 'bolt set'. 2014-03-21 22:51:22 -06:00
Ben Johnson
0e4d77d424 Add 'bolt pages'. 2014-03-21 22:34:54 -06:00
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 1ad2b99f281d587b767b36f886401e81d17915a9.
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