|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
#include <configuration.h>

Public Member Functions | |
| unified_db_config & | set_backend (backend_type type, const std::string &connection_str) |
| Set database backend type and connection string. | |
| unified_db_config & | set_credentials (const std::string &user, const std::string &pass) |
| Set database credentials. | |
| unified_db_config & | set_pool_size (std::size_t min, std::size_t max) |
| Configure connection pool size. | |
| unified_db_config & | set_pool_name (const std::string &name) |
| Set connection pool name. | |
| unified_db_config & | set_log_level (db_log_level level) |
| Set minimum logging level. | |
| unified_db_config & | enable_query_logging (bool enable=true) |
| Enable/disable query logging. | |
| unified_db_config & | enable_slow_query_logging (bool enable=true, std::chrono::milliseconds threshold=std::chrono::milliseconds(1000)) |
| Configure slow query detection. | |
| unified_db_config & | enable_file_logging (bool enable=true, const std::string &directory="./logs") |
| Enable file logging. | |
| unified_db_config & | enable_monitoring (bool enable=true) |
| Enable/disable monitoring. | |
| unified_db_config & | enable_prometheus (bool enable=true, std::uint16_t port=9090, const std::string &endpoint="/metrics") |
| Configure Prometheus metrics export. | |
| unified_db_config & | set_thread_count (std::size_t count) |
| Set thread pool size. | |
| unified_db_config & | enable_priority_scheduling (bool enable=true) |
| Enable priority-based scheduling. | |
| unified_db_config & | enable_ssl (bool enable=true, const std::string &cert_path="", const std::string &key_path="") |
| Enable SSL/TLS for database connections. | |
| unified_db_config & | set_timeouts (std::chrono::seconds acquisition, std::chrono::seconds idle) |
| Set connection timeouts. | |
Public Attributes | |
| database_config | database |
| Database connection configuration. | |
| pool_config | connection_pool |
| Connection pool configuration. | |
| db_thread_config | thread |
| Thread pool configuration. | |
| db_logger_config | logger |
| Logger configuration. | |
| db_monitoring_config | monitoring |
| Monitoring configuration. | |
| bool | enable_common_system_integration { true } |
| Enable common_system integration (Result pattern, ILogger, LOG_* macros) | |
| bool | enable_thread_system_integration { true } |
| Enable thread_system integration (typed thread pools) | |
| bool | enable_monitoring_system_integration { true } |
| Enable monitoring_system integration. | |
Definition at line 269 of file configuration.h.
|
inline |
Enable file logging.
| enable | Enable logging to files |
| directory | Directory for log files |
Definition at line 390 of file configuration.h.
References database::integrated::db_logger_config::enable_file_logging, database::integrated::db_logger_config::log_directory, and logger.
Referenced by test_builder_pattern().

|
inline |
Enable/disable monitoring.
| enable | True to enable metrics collection |
Definition at line 402 of file configuration.h.
References database::integrated::db_monitoring_config::enable_health_checks, database::integrated::db_monitoring_config::enable_metrics, and monitoring.
Referenced by test_builder_pattern().

|
inline |
Enable priority-based scheduling.
| enable | Enable for both thread pool and connection pool |
Definition at line 441 of file configuration.h.
References connection_pool, database::integrated::pool_config::enable_priority_queue, database::integrated::db_thread_config::enable_priority_scheduling, database::integrated::db_thread_config::pool_type, thread, and database::integrated::typed.
Referenced by test_builder_pattern().

|
inline |
Configure Prometheus metrics export.
| enable | Enable Prometheus endpoint |
| port | Port for metrics server |
| endpoint | HTTP endpoint path |
Definition at line 416 of file configuration.h.
References database::integrated::db_monitoring_config::enable_prometheus_export, monitoring, database::integrated::db_monitoring_config::prometheus_endpoint, and database::integrated::db_monitoring_config::prometheus_port.
Referenced by test_builder_pattern().

|
inline |
Enable/disable query logging.
| enable | True to log all queries |
Definition at line 364 of file configuration.h.
References database::integrated::db_logger_config::enable_query_logging, and logger.
Referenced by test_builder_pattern().

|
inline |
Configure slow query detection.
| enable | Enable slow query logging |
| threshold | Queries slower than this are logged |
Definition at line 376 of file configuration.h.
References database::integrated::db_logger_config::log_slow_queries, logger, and database::integrated::db_logger_config::slow_query_threshold.
Referenced by test_builder_pattern().

|
inline |
Enable SSL/TLS for database connections.
| enable | Enable SSL |
| cert_path | Path to certificate file |
| key_path | Path to key file |
Definition at line 459 of file configuration.h.
Referenced by test_builder_pattern().

|
inline |
Set database backend type and connection string.
| type | Backend type (postgres, sqlite, etc.) |
| connection_str | Connection string in backend-specific format |
Definition at line 304 of file configuration.h.
Referenced by test_builder_pattern(), and test_struct_semantics().

|
inline |
Set database credentials.
| user | Database username |
| pass | Database password |
Definition at line 317 of file configuration.h.
Referenced by test_builder_pattern().

|
inline |
Set minimum logging level.
| level | Minimum level to output |
Definition at line 353 of file configuration.h.
References logger, and database::integrated::db_logger_config::min_log_level.
Referenced by test_builder_pattern().

|
inline |
Set connection pool name.
| name | Pool identifier for logging/monitoring |
Definition at line 342 of file configuration.h.
References connection_pool, and database::integrated::pool_config::pool_name.
Referenced by test_builder_pattern().

|
inline |
Configure connection pool size.
| min | Minimum number of connections |
| max | Maximum number of connections |
Definition at line 330 of file configuration.h.
References connection_pool, database::integrated::pool_config::max_connections, and database::integrated::pool_config::min_connections.
Referenced by test_builder_pattern(), and test_struct_semantics().

|
inline |
Set thread pool size.
| count | Number of worker threads (0 = auto-detect) |
Definition at line 430 of file configuration.h.
References thread, and database::integrated::db_thread_config::thread_count.
Referenced by test_builder_pattern().

|
inline |
Set connection timeouts.
| acquisition | Timeout for acquiring connections |
| idle | Timeout before closing idle connections |
Definition at line 474 of file configuration.h.
References connection_pool, database::integrated::pool_config::connection_timeout, and database::integrated::pool_config::idle_timeout.
Referenced by test_builder_pattern().

| pool_config database::integrated::unified_db_config::connection_pool |
Connection pool configuration.
Definition at line 275 of file configuration.h.
Referenced by database::integrated::unified_database_system::builder::builder(), enable_priority_scheduling(), set_pool_name(), set_pool_size(), set_timeouts(), test_config_construction(), test_default_values(), test_get_config(), test_struct_semantics(), and test_zero_config().
| database_config database::integrated::unified_db_config::database |
Database connection configuration.
Definition at line 272 of file configuration.h.
Referenced by test_config_construction(), test_default_values(), test_get_config(), test_struct_semantics(), and test_zero_config().
| bool database::integrated::unified_db_config::enable_common_system_integration { true } |
Enable common_system integration (Result pattern, ILogger, LOG_* macros)
Definition at line 288 of file configuration.h.
Referenced by test_default_values().
| bool database::integrated::unified_db_config::enable_monitoring_system_integration { true } |
Enable monitoring_system integration.
Definition at line 294 of file configuration.h.
Referenced by test_default_values().
| bool database::integrated::unified_db_config::enable_thread_system_integration { true } |
Enable thread_system integration (typed thread pools)
Definition at line 291 of file configuration.h.
Referenced by test_default_values().
| db_logger_config database::integrated::unified_db_config::logger |
Logger configuration.
Definition at line 281 of file configuration.h.
Referenced by database::integrated::unified_database_system::builder::builder(), enable_file_logging(), enable_query_logging(), enable_slow_query_logging(), database::integrated::unified_database_system::impl::execute(), database::integrated::database_coordinator::impl::initialize(), set_log_level(), test_basic_initialization_and_shutdown(), test_config_construction(), test_default_values(), test_full_integration(), test_logger_functionality(), test_zero_config(), and database::integrated::unified_database_system::impl::update_metrics().
| db_monitoring_config database::integrated::unified_db_config::monitoring |
Monitoring configuration.
Definition at line 284 of file configuration.h.
Referenced by database::integrated::unified_database_system::builder::builder(), enable_monitoring(), enable_prometheus(), database::integrated::database_coordinator::impl::initialize(), test_adapter_access(), test_basic_initialization_and_shutdown(), test_config_construction(), test_default_values(), test_full_integration(), test_health_check(), test_monitoring_functionality(), and test_zero_config().
| db_thread_config database::integrated::unified_db_config::thread |
Thread pool configuration.
Definition at line 278 of file configuration.h.
Referenced by database::integrated::unified_database_system::builder::builder(), enable_priority_scheduling(), database::integrated::database_coordinator::impl::initialize(), set_thread_count(), test_adapter_access(), test_basic_initialization_and_shutdown(), test_default_values(), test_full_integration(), test_health_check(), and test_thread_pool_functionality().