Lbug C++ API
Loading...
Searching...
No Matches
db_config.h
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4
5#include "value.h"
6
7namespace lbug {
8namespace common {
9enum class LogicalTypeID : uint8_t;
10} // namespace common
11
12namespace main {
13
14class ClientContext;
15struct SystemConfig;
16
17typedef void (*set_context)(ClientContext* context, const common::Value& parameter);
18typedef common::Value (*get_setting)(const ClientContext* context);
19
20enum class OptionType : uint8_t { CONFIGURATION = 0, EXTENSION = 1 };
21
35
46
55
56struct DBConfig {
58 uint64_t maxNumThreads;
61 uint64_t maxDBSize;
69#if defined(__APPLE__)
70 uint32_t threadQos;
71#endif
72
73 explicit DBConfig(const SystemConfig& systemConfig);
74
75 static ConfigurationOption* getOptionByName(const std::string& optionName);
76 LBUG_API static bool isDBPathInMemory(const std::string& dbPath);
77};
78
79} // namespace main
80} // namespace lbug
#define LBUG_API
Definition api.h:25
Definition value.h:28
Contain client side configuration. We make profiler associated per query, so the profiler is not main...
Definition client_context.h:72
Definition array_utils.h:7
LogicalTypeID
Definition types.h:184
Definition bind_input.h:16
OptionType
Definition db_config.h:20
@ EXTENSION
Definition db_config.h:20
@ CONFIGURATION
Definition db_config.h:20
common::Value(* get_setting)(const ClientContext *context)
Definition db_config.h:18
void(* set_context)(ClientContext *context, const common::Value &parameter)
Definition db_config.h:17
Definition array_utils.h:7
Definition db_config.h:36
set_context setContext
Definition db_config.h:37
get_setting getSetting
Definition db_config.h:38
ConfigurationOption(std::string name, common::LogicalTypeID parameterType, set_context setContext, get_setting getSetting)
Definition db_config.h:40
static ConfigurationOption * getOptionByName(const std::string &optionName)
bool autoCheckpoint
Definition db_config.h:63
bool forceCheckpointOnClose
Definition db_config.h:65
uint64_t maxDBSize
Definition db_config.h:61
DBConfig(const SystemConfig &systemConfig)
bool enableSpillingToDisk
Definition db_config.h:68
static LBUG_API bool isDBPathInMemory(const std::string &dbPath)
uint64_t maxNumThreads
Definition db_config.h:58
bool enableMultiWrites
Definition db_config.h:62
bool enableCompression
Definition db_config.h:59
bool readOnly
Definition db_config.h:60
uint64_t checkpointThreshold
Definition db_config.h:64
uint64_t bufferPoolSize
Definition db_config.h:57
bool throwOnWalReplayFailure
Definition db_config.h:66
bool enableChecksums
Definition db_config.h:67
common::Value defaultValue
Definition db_config.h:48
ExtensionOption(std::string name, common::LogicalTypeID parameterType, common::Value defaultValue, bool isConfidential)
Definition db_config.h:50
bool isConfidential
Definition db_config.h:26
common::LogicalTypeID parameterType
Definition db_config.h:24
virtual ~Option()=default
std::string name
Definition db_config.h:23
OptionType optionType
Definition db_config.h:25
Option(std::string name, common::LogicalTypeID parameterType, OptionType optionType, bool isConfidential)
Definition db_config.h:28
Stores runtime configuration for creating or opening a Database.
Definition database.h:38