Go to file
Levi Tamasi a3609b7dde Improve const correctness in BlockBasedTableReader (#5383)
Summary:
Many methods are passing around pointers to non-const objects when in fact
they do not/should not modify said objects. The patch makes the semantics
clearer and also helps from a thread safety point-of-view by changing some
pointers to pointers-to-const and marking some instance methods as const.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5383

Differential Revision: D15562770

Pulled By: ltamasi

fbshipit-source-id: 89361dadbb8b25bbe54d17e8da28fee24a2419af
2019-05-31 11:41:35 -07:00
buckifier Move test related files under util/ to test_util/ (#5377) 2019-05-30 11:25:51 -07:00
build_tools Fixes for build_detect_platform 2019-05-15 16:01:08 -07:00
cache Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
cmake
coverage Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
db move LevelCompactionPicker to a separate file (#5369) 2019-05-30 21:38:24 -07:00
docs Text lint all .gitignore files 2019-05-15 11:37:27 -07:00
env Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
examples Support for single-primary, multi-secondary instances (#4899) 2019-03-26 16:45:31 -07:00
file Auto roll logger to enforce options.keep_log_file_num immediately after a new file is created (#5370) 2019-05-31 10:50:19 -07:00
hdfs Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
include/rocksdb WritePrepared: skip_concurrency_control option (#5330) 2019-05-28 16:29:45 -07:00
java Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
memory Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
memtable Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
monitoring Move test related files under util/ to test_util/ (#5377) 2019-05-30 11:25:51 -07:00
options Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
port Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
table Improve const correctness in BlockBasedTableReader (#5383) 2019-05-31 11:41:35 -07:00
test_util Organizing rocksdb/table directory by format 2019-05-30 14:51:11 -07:00
third-party/gtest-1.7.0/fused-src/gtest remove bundled but unused fbson library (#5108) 2019-03-26 16:37:52 -07:00
tools Fix compilation error in LITE mode (#5391) 2019-05-31 08:32:22 -07:00
util Auto roll logger to enforce options.keep_log_file_num immediately after a new file is created (#5370) 2019-05-31 10:50:19 -07:00
utilities Auto roll logger to enforce options.keep_log_file_num immediately after a new file is created (#5370) 2019-05-31 10:50:19 -07:00
.clang-format
.gitignore
.lgtm.yml
.travis.yml
AUTHORS
CMakeLists.txt Configure ccache in CMakeLists.txt to speed up compilation 2019-05-31 10:45:11 -07:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
COPYING
DEFAULT_OPTIONS_HISTORY.md
DUMP_FORMAT.md
HISTORY.md Auto roll logger to enforce options.keep_log_file_num immediately after a new file is created (#5370) 2019-05-31 10:50:19 -07:00
INSTALL.md
LANGUAGE-BINDINGS.md LANGUAGE-BINDINGS.md: mention python-rocksdb 2019-03-20 11:10:48 -07:00
LICENSE.Apache
LICENSE.leveldb
Makefile Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
README.md Add LevelDB repository link in the Readme 2019-04-01 18:19:09 -07:00
ROCKSDB_LITE.md
TARGETS move LevelCompactionPicker to a separate file (#5369) 2019-05-30 21:38:24 -07:00
USERS.md
Vagrantfile
WINDOWS_PORT.md #5145 , rename port/dirent.h to port/port_dirent.h to avoid compile err when use port dir as header dir output (#5152) 2019-04-04 11:38:19 -07:00
appveyor.yml Add RocksJava build to AppVeyor 2019-01-03 10:44:44 -08:00
defs.bzl Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00
issue_template.md
src.mk move LevelCompactionPicker to a separate file (#5369) 2019-05-30 21:38:24 -07:00
thirdparty.inc Add copyright headers per FB open-source checkup tool. (#5199) 2019-04-18 10:55:01 -07:00

README.md

RocksDB: A Persistent Key-Value Store for Flash and RAM Storage

Linux/Mac Build Status Windows Build status PPC64le Build Status

RocksDB is developed and maintained by Facebook Database Engineering Team. It is built on earlier work on LevelDB by Sanjay Ghemawat (sanjay@google.com) and Jeff Dean (jeff@google.com)

This code is a library that forms the core building block for a fast key value server, especially suited for storing data on flash drives. It has a Log-Structured-Merge-Database (LSM) design with flexible tradeoffs between Write-Amplification-Factor (WAF), Read-Amplification-Factor (RAF) and Space-Amplification-Factor (SAF). It has multi-threaded compactions, making it specially suitable for storing multiple terabytes of data in a single database.

Start with example usage here: https://github.com/facebook/rocksdb/tree/master/examples

See the github wiki for more explanation.

The public interface is in include/. Callers should not include or rely on the details of any other header files in this package. Those internal APIs may be changed without warning.

Design discussions are conducted in https://www.facebook.com/groups/rocksdb.dev/

License

RocksDB is dual-licensed under both the GPLv2 (found in the COPYING file in the root directory) and Apache 2.0 License (found in the LICENSE.Apache file in the root directory). You may select, at your option, one of the above-listed licenses.