mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-02 13:06:57 +00:00
If utils/rjson.hh is modified, 300 (!) source files get recompiled. This is frustrating for anyone working on this header file (like me). Moreover - utils/rjson.hh includes the large rapidjson header files (rapidjson is a header-only library!), slowing the compilation all these 300 files. It turns out most includers utils/rjson.hh get it because column_computation.hh includes it. But the fact that column computations are serialized as JSON are an internal implementation detail that the users of this header don't need to know - and they care even less that this JSON implementation uses utils/rjson.hh. So in this patch column_computation.hh no longer includes rjson.hh, and no longer exposes a method taking a rjson::value that was never used outside the implementation. After this patch, touching utils/rjson.hh only recompiles 21 files. Refs #1 Signed-off-by: Nadav Har'El <nyh@scylladb.com> Message-Id: <20210422183526.114366-1-nyh@scylladb.com>
59 KiB
59 KiB