From 07590fc00bf59b68c0e6292bdb40585df3c1df4e Mon Sep 17 00:00:00 2001 From: Tim Shannon Date: Thu, 23 Apr 2015 09:49:55 -0500 Subject: Added Freehold to the projects list in README. Added a few lines of documentation to clarify that read-only transactions need to be rolled back and not committed, as per the discussion in issue #344 --- README.md | 1 + tx.go | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 401a757..50f5eee 100644 --- a/README.md +++ b/README.md @@ -587,5 +587,6 @@ Below is a list of public, open source projects that use Bolt: * [SkyDB](https://github.com/skydb/sky) - Behavioral analytics database. * [Seaweed File System](https://github.com/chrislusf/weed-fs) - Highly scalable distributed key~file system with O(1) disk read. * [InfluxDB](http://influxdb.com) - Scalable datastore for metrics, events, and real-time analytics. +* [Freehold](http://tshannon.bitbucket.org/freehold/) - An open, secure, and lightweight platform for your files and data. If you are using Bolt in a project please send a pull request to add it to the list. diff --git a/tx.go b/tx.go index fda6a21..3179c71 100644 --- a/tx.go +++ b/tx.go @@ -127,7 +127,8 @@ func (tx *Tx) OnCommit(fn func()) { } // Commit writes all changes to disk and updates the meta page. -// Returns an error if a disk write error occurs. +// Returns an error if a disk write error occurs, or if Commit is +// called on a read-only transaction. func (tx *Tx) Commit() error { _assert(!tx.managed, "managed tx commit not allowed") if tx.db == nil { @@ -203,7 +204,8 @@ func (tx *Tx) Commit() error { return nil } -// Rollback closes the transaction and ignores all previous updates. +// Rollback closes the transaction and ignores all previous updates. Read-only +// transactions must be rolled back and not committed. func (tx *Tx) Rollback() error { _assert(!tx.managed, "managed tx rollback not allowed") if tx.db == nil { -- cgit v1.2.3