21 #include <boost/serialization/unordered_map.hpp>
22 #include <boost/serialization/vector.hpp>
25 namespace serialization {
27 template <
class Archive>
51 template <
class Archive>
56 split_free(ar, query_hint, version);
59 template <
class Archive>
66 template <
class Archive>
68 std::vector<int> inherit_paths;
69 std::vector<std::string> list_options;
70 std::unordered_map<std::string, std::string> kv_options;
79 template <
class Archive>
89 template <
class Archive>
96 bool has_kv_type_options;
100 ar >> has_kv_type_options;
bool isGlobalHint() const
bool overlaps_allow_gpu_build
void load(Archive &ar, ExplainedQueryHint &query_hint, const unsigned int version)
const std::vector< int > & getInteritPath() const
const std::unordered_map< std::string, std::string > & getKVOptions() const
void save(Archive &ar, const ExplainedQueryHint &query_hint, const unsigned int version)
void setListOptions(std::vector< std::string > &list_options)
double overlaps_keys_per_bin
std::optional< bool > dynamic_watchdog
double cuda_grid_size_multiplier
std::vector< bool > registered_hint
void setKVOptions(std::unordered_map< std::string, std::string > &kv_options)
size_t max_join_hash_table_size
bool hasKvOptions() const
bool keep_table_function_result
std::optional< bool > watchdog
void serialize(Archive &ar, RegisteredQueryHint &query_hint, const unsigned int version)
std::optional< bool > use_loop_join
size_t loop_join_inner_table_max_num_rows
double overlaps_bucket_threshold
size_t aggregate_tree_fanout
const QueryHint getHint() const
void save_construct_data(Archive &ar, const ExplainedQueryHint *query_hint, const unsigned int version)
void load_construct_data(Archive &ar, ExplainedQueryHint *query_hint, const unsigned int version)
const std::vector< std::string > & getListOptions() const
void setInheritPaths(std::vector< int > &interit_paths)