Go to file
Jay Zhuang 45c65d6dcf Use thread-safe `strerror_r()` to get error message (#8087)
Summary:
`strerror()` is not thread-safe, using `strerror_r()` instead. The API could be different on the different platforms, used the code from 0deef031cb/folly/String.cpp (L457)

Pull Request resolved: https://github.com/facebook/rocksdb/pull/8087

Reviewed By: mrambacher

Differential Revision: D27267151

Pulled By: jay-zhuang

fbshipit-source-id: 4b8856d1ec069d5f239b764750682c56e5be9ddb
2021-03-24 23:07:27 -07:00
.circleci Add circleci format_compatible nightly build (#7926) 2021-02-09 20:48:53 -08:00
.github/workflows Update clang-format-diff.py path (#7944) 2021-02-09 12:49:38 -08:00
buckifier Update zstd in buck build (#7923) 2021-02-08 14:46:01 -08:00
build_tools Add stress crash test with timestamp to lego determinator (#8104) 2021-03-24 17:58:31 -07:00
cache Include C++ standard library headers instead of C compatibility headers (#8068) 2021-03-19 12:09:47 -07:00
cmake Add `find_dependency()` in cmake config file. (#6791) 2020-05-12 21:18:29 -07:00
coverage Find the correct gcov (#6904) 2020-06-01 16:33:05 -07:00
db Use thread-safe `strerror_r()` to get error message (#8087) 2021-03-24 23:07:27 -07:00
db_stress_tool Add user-defined timestamps to db_stress (#8061) 2021-03-23 05:13:30 -07:00
docs Update github-pages and dependencies (#7850) 2021-01-11 12:48:01 -08:00
env Use thread-safe `strerror_r()` to get error message (#8087) 2021-03-24 23:07:27 -07:00
examples make:Fix c header prototypes (#7994) 2021-03-09 20:44:23 -08:00
file Use SST file manager to track blob files as well (#8037) 2021-03-17 20:44:49 -07:00
fuzz Remove Legacy and Custom FileWrapper classes from header files (#7851) 2021-01-28 22:10:32 -08:00
hdfs fix build with 'USE_HDFS' on windows (#6950) 2020-06-12 16:21:50 -07:00
include/rocksdb Update release version to 6.19 (#8083) 2021-03-21 18:33:46 -07:00
java Fix possible mistype in a comment (#8086) 2021-03-23 12:37:24 -07:00
logging Use SystemClock* instead of std::shared_ptr<SystemClock> in lower level routines (#8033) 2021-03-15 04:34:11 -07:00
memory Use thread-safe `strerror_r()` to get error message (#8087) 2021-03-24 23:07:27 -07:00
memtable Use SystemClock* instead of std::shared_ptr<SystemClock> in lower level routines (#8033) 2021-03-15 04:34:11 -07:00
monitoring Add the statistics and info log for Error handler (#8050) 2021-03-17 22:38:13 -07:00
options Use SystemClock* instead of std::shared_ptr<SystemClock> in lower level routines (#8033) 2021-03-15 04:34:11 -07:00
plugin Makefile support to statically link external plugin code (#7918) 2021-02-10 08:35:34 -08:00
port Use thread-safe `strerror_r()` to get error message (#8087) 2021-03-24 23:07:27 -07:00
table Fix a bug in key comparison when index type is kBinarySearchWithFirstKey (#8062) 2021-03-15 17:44:52 -07:00
test_util Add ROCKSDB_GTEST_BYPASS (#8048) 2021-03-12 16:02:06 -08:00
third-party Fix a compilation error in CircleCI vs2019 CXX20 (#8090) 2021-03-23 10:28:04 -07:00
tools Fix an error while running db_crashtest for non-user-ts tests (#8091) 2021-03-23 12:45:20 -07:00
trace_replay Use SystemClock* instead of std::shared_ptr<SystemClock> in lower level routines (#8033) 2021-03-15 04:34:11 -07:00
util Use thread-safe `strerror_r()` to get error message (#8087) 2021-03-24 23:07:27 -07:00
utilities Remove duplicate code (#8079) 2021-03-22 12:29:21 -07:00
.clang-format
.gitignore gitignore cmake-build-* for CLion integration (#7933) 2021-02-19 13:43:15 -08:00
.lgtm.yml
.travis.yml use `LIB_MODE=shared` on Travis `make` commands (#8043) 2021-03-08 17:21:24 -08:00
.watchmanconfig
AUTHORS
CMakeLists.txt Move compacted_db_impl.[c|h] to db/db_impl (#8082) 2021-03-23 13:49:26 -07:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
COPYING
DEFAULT_OPTIONS_HISTORY.md
DUMP_FORMAT.md
HISTORY.md Use thread-safe `strerror_r()` to get error message (#8087) 2021-03-24 23:07:27 -07:00
INSTALL.md
LANGUAGE-BINDINGS.md Add RestoreDBFromLatestBackup to C API, add new C# package (#7092) 2020-07-08 11:56:41 -07:00
LICENSE.Apache
LICENSE.leveldb
Makefile Add user-defined timestamps to db_stress (#8061) 2021-03-23 05:13:30 -07:00
PLUGINS.md Makefile support to statically link external plugin code (#7918) 2021-02-10 08:35:34 -08:00
README.md Fix the CI badge for ppc64le Jenkins (#7561) 2020-10-16 09:00:56 -07:00
ROCKSDB_LITE.md
TARGETS Move compacted_db_impl.[c|h] to db/db_impl (#8082) 2021-03-23 13:49:26 -07:00
USERS.md Add Apache Doris to USERS (#7865) 2021-01-19 15:31:56 -08:00
Vagrantfile
WINDOWS_PORT.md
appveyor.yml Remove 2019 from appveyor (#7038) 2020-06-29 14:31:41 -07:00
defs.bzl
issue_template.md
src.mk Move compacted_db_impl.[c|h] to db/db_impl (#8082) 2021-03-23 13:49:26 -07:00
thirdparty.inc

README.md

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

CircleCI Status TravisCI Status Appveyor 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 especially 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/ and https://rocksdb.slack.com/

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.