(#2931) - parallel compaction keeps db integrity

Contains two fixes:

1. adapter.js no longer passes the rev_tree to the underlying
   adapter. The adapter is expected to recalculate, since other-
   wise the database may change in the interim.
2. leveldb.js has a global write lock for all readwrite operations,
   similar to how WebSQL/IndexedDB work under the hood. I'm not
   100% satisfied with that, but it's better for the db to be
   correct than to be fast.
6 files changed
tree: 57d6ce5b6a984e4cfbfd643d4891c63d3d8079d8
  1. bin/
  2. docs/
  3. lib/
  4. scripts/
  5. tests/
  6. vendor/
  7. .gitignore
  8. .jshintignore
  9. .jshintrc
  10. .npmignore
  11. .travis.yml
  12. bower.json
  13. component.json
  14. CONTRIBUTING.md
  15. LICENSE
  16. manifest.json
  17. package.json
  18. README.md
README.md

PouchDB - The Javascript Database that Syncs

PouchDB was written to help web developers build applications that work as well offline as well as they do online, applications save data locally so the user can use all the features of an app even while offline and synchronise the data between clients so they have up to date data wherever they go.

PouchDB is a free open source project, written in Javascript by these wonderful contributors and inspired by Apache CouchDB.

Using PouchDB

To get started using PouchDB check out our Documentation and the API Documentation.

Contributors

If you want to get involved then check out the contributing guide

Example

var db = new PouchDB('dbname');

db.put({
 _id: 'dave@gmail.com',
 name: 'David',
 age: 66
});

db.changes().on('change', function() {
  console.log('Ch-Ch-Changes');
});

db.replicate.to('http://example.com/mydb');