rocksdb/table
Peter Dillinger bda8d93ba9 Fix and detect headers with missing dependencies (#8893)
Summary:
It's always annoying to find a header does not include its own
dependencies and only works when included after other includes. This
change adds `make check-headers` which validates that each header can
be included at the top of a file. Some headers are excluded e.g. because
of platform or external dependencies.

rocksdb_namespace.h had to be re-worked slightly to enable checking for
failure to include it. (ROCKSDB_NAMESPACE is a valid namespace name.)

Fixes mostly involve adding and cleaning up #includes, but for
FileTraceWriter, a constructor was out-of-lined to make a forward
declaration sufficient.

This check is not currently run with `make check` but is added to
CircleCI build-linux-unity since that one is already relatively fast.

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

Test Plan: existing tests and resolving issues detected by new check

Reviewed By: mrambacher

Differential Revision: D30823300

Pulled By: pdillinger

fbshipit-source-id: 9fff223944994c83c105e2e6496d24845dc8e572
2021-09-10 10:00:26 -07:00
..
adaptive
block_based
cuckoo
plain
block_fetcher.cc
block_fetcher.h
block_fetcher_test.cc
cleanable_test.cc
format.cc
format.h
get_context.cc
get_context.h
internal_iterator.h
iter_heap.h
iterator.cc
iterator_wrapper.h
merger_test.cc
merging_iterator.cc
merging_iterator.h
meta_blocks.cc
meta_blocks.h
mock_table.cc
mock_table.h
multiget_context.h
persistent_cache_helper.cc
persistent_cache_helper.h
persistent_cache_options.h
scoped_arena_iterator.h
sst_file_dumper.cc
sst_file_dumper.h
sst_file_reader.cc
sst_file_reader_test.cc
sst_file_writer.cc
sst_file_writer_collectors.h
table_builder.h
table_factory.cc
table_properties.cc
table_properties_internal.h
table_reader.h
table_reader_bench.cc
table_reader_caller.h
table_test.cc
two_level_iterator.cc
two_level_iterator.h