pch: precompile common schema and mutation headers

Add the core schema, type, token, and mutation headers that are used by a
large fraction of translation units to stdafx.hh.

Also add the local include directories required for the dedicated PCH
library target and qualify the GCP object-storage stream parameter for the
broader PCH environment.
This commit is contained in:
Yaniv Michael Kaul
2026-04-17 04:32:24 +03:00
parent 0798c112d0
commit 92e0597807
3 changed files with 27 additions and 1 deletions

View File

@@ -234,6 +234,9 @@ generate_scylla_version()
option(Scylla_USE_PRECOMPILED_HEADER "Use precompiled header for Scylla" ON)
add_library(scylla-precompiled-header STATIC exported_templates.cc)
target_include_directories(scylla-precompiled-header PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}"
"${scylla_gen_build_dir}")
target_link_libraries(scylla-precompiled-header PRIVATE
absl::headers
absl::btree

View File

@@ -400,4 +400,27 @@
#define ZSTD_STATIC_LINKING_ONLY
#include <zstd.h>
// Scylla internal headers included by most translation units
#include "bytes.hh"
#include "db/timeout_clock.hh"
#include "db_clock.hh"
#include "dht/token.hh"
#include "gc_clock.hh"
#include "gms/inet_address.hh"
#include "keys/keys.hh"
#include "locator/host_id.hh"
#include "locator/token_metadata_fwd.hh"
#include "locator/types.hh"
#include "mutation/mutation_fragment.hh"
#include "mutation/mutation_partition.hh"
#include "schema/schema.hh"
#include "schema/schema_fwd.hh"
#include "seastarx.hh"
#include "types/types.hh"
#include "utils/chunked_vector.hh"
#include "utils/fragment_range.hh"
#include "utils/managed_bytes.hh"
#include "utils/tagged_integer.hh"
#include "utils/UUID.hh"
#endif

View File

@@ -335,7 +335,7 @@ utils::gcp::storage::client::impl::send_with_retry(const std::string& path, cons
} catch (...) {
// just disregard the failure, we will retry below in the wrapped handler
}
auto wrapped_handler = [this, handler = std::move(handler), &req, scope](const reply& rep, input_stream<char>& in) -> future<> {
auto wrapped_handler = [this, handler = std::move(handler), &req, scope](const reply& rep, seastar::input_stream<char>& in) -> future<> {
auto _in = std::move(in);
auto status_class = reply::classify_status(rep._status);
/*