Inconsistent compile-time switching on ROCKSDB_LITE in public APIs
Open
- Dominant language
- C++
- Stars
- 32.1k
- Forks
- 6.9k
- Avg merge
- 32m
- Merged PRs (30d)
- 1
Description
Some options not applicable to ROCKSDB_LITE are still compiled in in the public API headers:
$ git grep 'Not supported in ROCKSDB_LITE' include/ | wc -l
11
presumably so that the ROCKSDB_LITE macro is not needed to safely call in to APIs supported by LITE when linked against a LITE build.
But the public headers already have many ifndef ROCKSDB_LITE:
$ git grep 'ifndef ROCKSDB_LITE' include/ | wc -l
36
including around struct members like DBOptions::wal_filter, surely affecting layout of the struct.
One potential resolution is dropping ROCKSDB_LITE altogether.
Contributor guide
Assessment
This issue has not been assessed yet.