Keith Bostic
344a714c3d
Upgrade copyright notices from 2015 to 2016.
2016-01-01 16:37:39 -05:00
Keith Bostic
1f9098871a
Copyright notices: add MongoDB, update to 2015.
2015-01-04 14:07:56 -05:00
Keith Bostic
7590319f16
Rename WT_DEADLOCK to WT_ROLLBACK, reference #1204 .
2014-10-17 07:46:30 -04:00
Michael Cahill
c7ddaaeef8
Fixes for the LevelDB JNI build. Make the fields of Slice public, rename the config file and only include the necessary defines.
2014-09-08 22:20:49 +10:00
Susan LoVerso
e45d3e32b3
Remove loop to walk replay iterator from LiveBackup. #1106
2014-09-02 12:04:30 -04:00
Susan LoVerso
a99330cea9
Fix __log_filesize to look for end in larger chunks.
...
Fix ReplayIterator::Valid() to retry if it's invalid. #1106
2014-08-26 14:27:17 -04:00
Susan LoVerso
dcedda0903
Add tests for ReplayIterator methods.
2014-08-13 15:46:56 -04:00
Susan LoVerso
5dde373e02
Fix valid operation check.
2014-08-13 15:37:24 -04:00
Susan LoVerso
d757114787
Add Replay phase to LiveBackup and add to test program.
2014-08-13 11:24:30 -04:00
Susan LoVerso
df0d6f8d46
Fix merge/conflict error.
2014-08-12 15:18:44 -04:00
Susan LoVerso
e432b716de
Add LiveBackup code.
2014-08-12 14:20:27 -04:00
Susan LoVerso
c4133fd744
Comment about fileid assumptions.
2014-08-12 14:03:59 -04:00
Susan LoVerso
1ae4eada31
Rename SkipTo to SeekTo. Make SkipTo no-op.
2014-08-12 13:26:53 -04:00
Susan LoVerso
306099fc4a
Add "all" and "now" support. Add macro for modification operation.
2014-08-11 15:41:21 -04:00
Susan LoVerso
8e6f946794
Add replay code to Hyperleveldb port. #1106
2014-08-07 14:27:20 -04:00
Michael Cahill
a580a89e85
Sanity check the LevelDB configuration at build time, not runtime.
2014-07-29 17:23:18 +10:00
Michael Cahill
c285f5484b
Make the LevelDB API more resilient to invalid configurations. Also clean up after the test so that "make check" has a better chance of succeeding.
2014-07-29 16:53:42 +10:00
Michael Cahill
56a3dd47f5
Split out HyperLevelDB stubs into a separate file, with comments describing what the methods are supposed to do.
...
--HG--
rename : api/leveldb/dummy.cc => api/leveldb/hyper_wt.cc
2014-07-16 16:43:49 +10:00
Keith Bostic
5ab852221d
Update the copyright checks to match the new LevelDB structure.
...
Add AUTHORS and LICENSE files for HyperLevelDB.
2014-07-15 09:24:10 -04:00
Michael Cahill
4f79426e31
Fix static linking of libraries with builtin extensions.
2014-07-15 17:39:37 +10:00
Michael Cahill
31eef3e5e0
Take Keith's suggestion: rearrange api/leveldb by copyright to simplify maintenance of the license information. Rename the "eleveldb" flavor to "basho" in the process, so the directory name matches the option. List the choices in the configure help, and check for invalid flavors.
...
--HG--
rename : api/leveldb/util/perf_count.cc => api/leveldb/basho/perf_count.cc
rename : api/leveldb/include/leveldb/perf_count.h => api/leveldb/basho/perf_count.h
rename : api/leveldb/include/leveldb/replay_iterator.h => api/leveldb/hyperleveldb/replay_iterator.h
rename : api/leveldb/AUTHORS => api/leveldb/leveldb/AUTHORS
rename : api/leveldb/LICENSE => api/leveldb/leveldb/LICENSE
rename : api/leveldb/db/dbformat.h => api/leveldb/leveldb/db/dbformat.h
rename : api/leveldb/db/skiplist.h => api/leveldb/leveldb/db/skiplist.h
rename : api/leveldb/db/write_batch.cc => api/leveldb/leveldb/db/write_batch.cc
rename : api/leveldb/db/write_batch_internal.h => api/leveldb/leveldb/db/write_batch_internal.h
rename : api/leveldb/include/leveldb/cache.h => api/leveldb/leveldb/include/leveldb/cache.h
rename : api/leveldb/include/leveldb/comparator.h => api/leveldb/leveldb/include/leveldb/comparator.h
rename : api/leveldb/include/leveldb/db.h => api/leveldb/leveldb/include/leveldb/db.h
rename : api/leveldb/include/leveldb/env.h => api/leveldb/leveldb/include/leveldb/env.h
rename : api/leveldb/include/leveldb/filter_policy.h => api/leveldb/leveldb/include/leveldb/filter_policy.h
rename : api/leveldb/include/leveldb/iterator.h => api/leveldb/leveldb/include/leveldb/iterator.h
rename : api/leveldb/include/leveldb/options.h => api/leveldb/leveldb/include/leveldb/options.h
rename : api/leveldb/include/leveldb/slice.h => api/leveldb/leveldb/include/leveldb/slice.h
rename : api/leveldb/include/leveldb/status.h => api/leveldb/leveldb/include/leveldb/status.h
rename : api/leveldb/include/leveldb/write_batch.h => api/leveldb/leveldb/include/leveldb/write_batch.h
rename : api/leveldb/port/port.h => api/leveldb/leveldb/port/port.h
rename : api/leveldb/util/arena.h => api/leveldb/leveldb/util/arena.h
rename : api/leveldb/util/coding.cc => api/leveldb/leveldb/util/coding.cc
rename : api/leveldb/util/coding.h => api/leveldb/leveldb/util/coding.h
rename : api/leveldb/util/comparator.cc => api/leveldb/leveldb/util/comparator.cc
rename : api/leveldb/util/env.cc => api/leveldb/leveldb/util/env.cc
rename : api/leveldb/util/env_posix.cc => api/leveldb/leveldb/util/env_posix.cc
rename : api/leveldb/util/logging.cc => api/leveldb/leveldb/util/logging.cc
rename : api/leveldb/util/logging.h => api/leveldb/leveldb/util/logging.h
rename : api/leveldb/util/options.cc => api/leveldb/leveldb/util/options.cc
rename : api/leveldb/util/posix_logger.h => api/leveldb/leveldb/util/posix_logger.h
rename : api/leveldb/util/random.h => api/leveldb/leveldb/util/random.h
rename : api/leveldb/util/status.cc => api/leveldb/leveldb/util/status.cc
2014-07-15 11:27:11 +10:00
Keith Bostic
4b862378fe
Add the RocksDB license file.
2014-07-14 11:05:26 -04:00
Keith Bostic
56a4a35416
Replace magic byte strings with flat text.
2014-07-14 11:02:36 -04:00
Susan LoVerso
a1f1974afb
Don't print error message for WT_NOTFOUND.
2014-07-14 10:41:12 -04:00
Michael Cahill
3842d5a653
Split out the RocksDB write batch code into a separate file to avoid copyright ambiguity. Update the docs to mention Facebook copyright.
...
--HG--
rename : api/leveldb/db/write_batch.cc => api/leveldb/rocksdb/write_batch.cc
2014-07-14 17:33:12 +10:00
Michael Cahill
846822379a
Handle Deletes of nonexistent keys via the LevelDB API: that is OK. Also add resets to the RocksDB column family operations.
2014-07-09 17:18:40 +10:00
Michael Cahill
5e9075f7ba
Add a fast path for write batches that are either empty or have a single entry. The problem is that begin/commit causes cursors to be reset, and in this workload there are quite a few cursors. Only do that if needed to execute the write batch correctly.
...
This optimization is currently only implemented in RocksDB -- stock LevelDB has no way to figure out the number of entries in a write batch.
2014-07-09 16:25:58 +10:00
Michael Cahill
b484697015
Fix Flush to construct a valid config string for compact.
2014-07-09 16:25:58 +10:00
Michael Cahill
4be7e2a867
Make sure the NewLRUCache function is in the leveldb namespace.
2014-07-09 11:38:23 +10:00
Michael Cahill
30af679e60
The RocksDB Flush operation should only apply to a single table. Fix it, and turn on periodic checkpoints by default so that log files can still be archived.
2014-07-09 10:03:15 +10:00
Michael Cahill
34c45cb6a3
Add support for zlib compression to the RocksDB API.
2014-07-09 10:03:14 +10:00
Michael Cahill
33692a6a3a
Detect at build time whether we need to load the snappy compression extension.
2014-07-09 10:01:45 +10:00
Michael Cahill
44876cbc7c
Some more LevelDB config tweaks: revert to defaults for Bloom filters, move constants into the header file.
2014-07-04 15:09:38 +10:00
Michael Cahill
7b9195c7f7
Configuration tweaks for the MongoDB sysbench workload.
2014-07-04 14:45:24 +10:00
Michael Cahill
6f852e4581
Used cached cursors for LevelDB Iterators. This gives a ~10x performance improvement in sysbench-mongodb tests.
2014-07-03 19:07:48 +10:00
Michael Cahill
55bbe6084a
Check for errors when getting a cursor to avoid "maybe uninitialized" warning.
2014-07-03 14:51:01 +10:00
Michael Cahill
796e20daea
Fix a bad cast, switch from reinterpret_cast to static_cast in an attempt to avoid this kind of thing in the future.
2014-07-03 14:44:30 +10:00
Michael Cahill
f7c912103b
Eliminate warnings from LevelDB API with "g++ -Wall", debug a problem applying write batches to unknown column families.
2014-07-03 14:44:30 +10:00
Michael Cahill
dd24626579
Finish implementation of enough of the RocksDB API to allow MongoDB to run.
2014-07-02 22:39:14 +10:00
Michael Cahill
0fd1ee1345
Fix the installation of wrapper libraries (there was a problem with installation order).
2014-07-01 16:32:41 +10:00
Michael Cahill
8655a624b8
Simplify the context for operations in the LevelDB API: always open sessions for snapshots, and duplicate cursors for iterators, so there is no need to track whether the normal versions are in use.
...
While in the area, always reset cursors after Get operations: the data is copied out, so there is no need for the cursor to stay positioned.
2014-07-01 16:19:34 +10:00
Michael Cahill
4b029ff53b
Implement most of the RocksDB-specific methods.
2014-07-01 12:06:40 +10:00
Michael Cahill
26304c0075
Create wrapper libraries for LevelDB/RocksDB/etc. to ease integration with application builds.
2014-07-01 12:06:40 +10:00
Michael Cahill
7b4f00fdf9
Add stubs for enough of the RocksDB API that MongoDB builds.
2014-06-27 18:38:41 +10:00
Michael Cahill
f2842ced64
Improve building and installing LevelDB variants: add wiredtiger_config.h to the LevelDB includes.
2014-06-27 14:18:11 +10:00
Michael Cahill
a721db22d5
Add support for Basho-specific features.
...
Note that this doesn't yet solve the problem of installed include files: to use this in its current state, you would need something like:
CPPFLAGS="-DHAVE_ELEVELDB -I/path/to/include/wiredtiger" ...
2014-06-27 14:18:11 +10:00
Michael Cahill
75916badfe
Update LevelDB to the new transaction_sync config.
2014-06-25 17:24:33 +10:00
Michael Cahill
7d6e2dabd3
Fix a logic bug releasing cursors after DB::Get operations.
2014-06-25 17:18:51 +10:00
Keith Bostic
1b2f925935
Put the LevelDB API into the public domain, add a copyright notice to
...
leveldb_wt.h, it's simpler that way.
2014-06-24 11:04:39 -04:00
Keith Bostic
2ef3de771b
Minor futzing with the LevelDB copyright checks, add a WiredTiger
...
copyright notice to the leveldb/port/ files (such as they are).
Move src/api/api_XXX into src/conn/XXX, there's no reason to have an api
directory in the lower level (and it's about 100 lines of code, anyway).
2014-06-24 10:06:07 -04:00