facebook / facebook/rocksdb

Inconsistent compile-time switching on ROCKSDB_LITE in public APIs

Open
#6,347 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.