diff options
author | David Grogan <dgrogan@chromium.org> | 2012-10-12 11:53:12 -0700 |
---|---|---|
committer | David Grogan <dgrogan@chromium.org> | 2012-10-12 11:53:12 -0700 |
commit | 946e5b5a4ce7980917b22a408f090a4e86c3fa44 (patch) | |
tree | b5e1a48797824a460af5ce61784671f7205f1a7d /helpers | |
parent | dd0d562b4d4fbd07db6a44f9e221f8d368fee8e4 (diff) | |
download | leveldb-946e5b5a4ce7980917b22a408f090a4e86c3fa44.tar.gz |
Update to leveldb 1.6v1.6
Highlights
----------
Mmap at most 1000 files on Posix to improve performance for large databases.
Support for more architectures (thanks to Alexander K.)
Building and porting
--------------------
HP/UX support (issue 126)
AtomicPointer for ia64 (issue 123)
Sparc v9 support (issue 124)
Atomic ops for powerpc
Use -fno-builtin-memcmp only when using g++
Simplify IOS build rules (issue 114)
Use CXXFLAGS instead of CFLAGS when invoking C++ compiler (issue 118)
Fix snappy shared library problem (issue 94)
Fix shared library installation path regression
Endian-ness detection tweak for FreeBSD
Bug fixes
---------
Stop ignoring FLAGS_open_files in db_bench
Make bloom test behavior agnostic to endian-ness
Performance
-----------
Limit number of mmapped files to 1000 to improve perf for large dbs
Do not delay for 1 second on shutdown path (issue 125)
Misc
----
Make InMemoryEnv return a no-op logger
C binding now has a wrapper for free (issue 117)
Add thread-safety annotations
Added an in-process lock table (issue 120)
Make RandomAccessFile and SequentialFile non-copyable
Diffstat (limited to 'helpers')
-rw-r--r-- | helpers/memenv/memenv.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/helpers/memenv/memenv.cc b/helpers/memenv/memenv.cc index 2082083..5879de1 100644 --- a/helpers/memenv/memenv.cc +++ b/helpers/memenv/memenv.cc @@ -221,6 +221,11 @@ class WritableFileImpl : public WritableFile { FileState* file_; }; +class NoOpLogger : public Logger { + public: + virtual void Logv(const char* format, va_list ap) { } +}; + class InMemoryEnv : public EnvWrapper { public: explicit InMemoryEnv(Env* base_env) : EnvWrapper(base_env) { } @@ -358,6 +363,11 @@ class InMemoryEnv : public EnvWrapper { return Status::OK(); } + virtual Status NewLogger(const std::string& fname, Logger** result) { + *result = new NoOpLogger; + return Status::OK(); + } + private: // Map from filenames to FileState objects, representing a simple file system. typedef std::map<std::string, FileState*> FileSystem; |