|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
Main unified database system class. More...
#include <unified_database_system.h>

Classes | |
| class | builder |
| Builder class for custom configuration. More... | |
| class | impl |
| struct | pool_stats |
| Get connection pool statistics. More... | |
Public Member Functions | |
| unified_database_system () | |
| Default constructor (zero-config) | |
| unified_database_system (const unified_db_config &config) | |
| Construct with configuration. | |
| ~unified_database_system () | |
| Destructor - automatically disconnects and cleans up. | |
| unified_database_system (const unified_database_system &)=delete | |
| unified_database_system & | operator= (const unified_database_system &)=delete |
| unified_database_system (unified_database_system &&) noexcept | |
| unified_database_system & | operator= (unified_database_system &&) noexcept |
| kcenon::common::VoidResult | connect (const std::string &connection_string) |
| Connect to database. | |
| kcenon::common::VoidResult | connect (backend_type backend, const std::string &connection_string) |
| Connect to database with specific backend. | |
| kcenon::common::VoidResult | disconnect () |
| Disconnect from database. | |
| bool | is_connected () const |
| Check if connected to database. | |
| kcenon::common::Result< query_result > | execute (const std::string &query, const std::vector< query_param > ¶ms={}) |
| kcenon::common::Result< query_result > | select (const std::string &query, const std::vector< query_param > ¶ms={}) |
| Execute a SELECT query. | |
| kcenon::common::Result< size_t > | insert (const std::string &query, const std::vector< query_param > ¶ms={}) |
| Execute an INSERT query. | |
| kcenon::common::Result< size_t > | update (const std::string &query, const std::vector< query_param > ¶ms={}) |
| Execute an UPDATE query. | |
| kcenon::common::Result< size_t > | remove (const std::string &query, const std::vector< query_param > ¶ms={}) |
| Execute a DELETE query. | |
| std::future< kcenon::common::Result< query_result > > | execute_async (const std::string &query, const std::vector< query_param > ¶ms={}) |
| std::future< kcenon::common::Result< query_result > > | execute_async_priority (const std::string &query, int priority, const std::vector< query_param > ¶ms={}) |
| Execute a SQL query asynchronously with priority. | |
| kcenon::common::Result< std::unique_ptr< transaction > > | begin_transaction () |
| kcenon::common::VoidResult | execute_transaction (const std::vector< std::string > &queries) |
| Execute multiple queries in a transaction. | |
| template<typename Func > | |
| kcenon::common::Result< typename std::invoke_result_t< Func, transaction & > > | in_transaction (Func &&func) |
| query_builder | create_query_builder () const |
| database_metrics | get_metrics () const |
| Get current performance metrics. | |
| health_check | check_health () const |
| Perform health check. | |
| void | reset_metrics () |
| Reset metrics counters. | |
| const unified_db_config & | get_config () const |
| Get current configuration. | |
| backend_type | get_backend_type () const |
| Get database backend type. | |
| pool_stats | get_pool_stats () const |
Static Public Member Functions | |
| static builder | create_builder () |
| Create a builder for custom configuration. | |
Private Attributes | |
| std::unique_ptr< impl > | pimpl_ |
Main unified database system class.
This class provides a simple, modern API for database operations with integrated logging, monitoring, and async capabilities.
Thread Safety: All methods are thread-safe Exception Safety: No-throw guarantee (all errors returned via Result) Resource Safety: RAII - resources cleaned up in destructor
Definition at line 288 of file unified_database_system.h.
| database::integrated::unified_database_system::unified_database_system | ( | ) |
Default constructor (zero-config)
Creates a database system with smart defaults:
Definition at line 690 of file unified_database_system.cpp.
|
explicit |
Construct with configuration.
| config | Database configuration |
Definition at line 694 of file unified_database_system.cpp.
|
default |
Destructor - automatically disconnects and cleans up.
|
delete |
|
defaultnoexcept |
| kcenon::common::Result< std::unique_ptr< transaction > > database::integrated::unified_database_system::begin_transaction | ( | ) |
Definition at line 784 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_begin_transaction_failure(), test_begin_transaction_success(), test_transaction_commit(), test_transaction_execute(), test_transaction_is_active(), test_transaction_metrics(), test_transaction_raii_cleanup(), and test_transaction_rollback().

| health_check database::integrated::unified_database_system::check_health | ( | ) | const |
Perform health check.
Definition at line 799 of file unified_database_system.cpp.
References pimpl_.
Referenced by example_alerting(), example_health_monitoring(), test_health_check_api(), and test_thread_safety_health_checks().

| kcenon::common::VoidResult database::integrated::unified_database_system::connect | ( | backend_type | backend, |
| const std::string & | connection_string ) |
Connect to database with specific backend.
| backend | Database backend type |
| connection_string | Database connection string |
Definition at line 709 of file unified_database_system.cpp.
References pimpl_.
| kcenon::common::VoidResult database::integrated::unified_database_system::connect | ( | const std::string & | connection_string | ) |
Connect to database.
| connection_string | Database connection string (format depends on backend) |
Examples:
Definition at line 705 of file unified_database_system.cpp.
References connect(), and database::integrated::postgres.
Referenced by connect(), test_begin_transaction_success(), test_connect_mock_backend(), test_connect_typed_backend(), test_connect_unsupported_backend(), test_execute_success(), test_execute_transaction_success(), test_get_pool_stats(), test_insert_success(), test_metrics_update_on_query(), test_remove_success(), test_reset_metrics(), test_select_success(), test_transaction_commit(), test_transaction_execute(), test_transaction_is_active(), test_transaction_metrics(), test_transaction_raii_cleanup(), test_transaction_rollback(), and test_update_success().


|
static |
Create a builder for custom configuration.
Definition at line 913 of file unified_database_system.cpp.
Referenced by database::integrated::create_database(), main(), main(), test_builder_custom(), test_builder_default(), and test_move_semantics().

| query_builder database::integrated::unified_database_system::create_query_builder | ( | ) | const |
Definition at line 823 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_create_query_builder().

| kcenon::common::VoidResult database::integrated::unified_database_system::disconnect | ( | ) |
Disconnect from database.
Definition at line 715 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_connect_mock_backend(), and test_connection_state_api().

| kcenon::common::Result< query_result > database::integrated::unified_database_system::execute | ( | const std::string & | query, |
| const std::vector< query_param > & | params = {} ) |
Definition at line 725 of file unified_database_system.cpp.
References pimpl_.
Referenced by example_performance_profiling(), test_error_handling_no_connection(), test_execute_success(), test_metrics_update_on_query(), and test_reset_metrics().

| std::future< kcenon::common::Result< query_result > > database::integrated::unified_database_system::execute_async | ( | const std::string & | query, |
| const std::vector< query_param > & | params = {} ) |
Definition at line 769 of file unified_database_system.cpp.
References pimpl_.
Referenced by example_batch_operations(), example_concurrent_queries(), example_error_handling(), example_query_with_timeout(), and example_single_async_query().

| std::future< kcenon::common::Result< query_result > > database::integrated::unified_database_system::execute_async_priority | ( | const std::string & | query, |
| int | priority, | ||
| const std::vector< query_param > & | params = {} ) |
Execute a SQL query asynchronously with priority.
| query | SQL query string |
| priority | Task priority (0=lowest, 100=highest) |
| params | Optional query parameters |
Definition at line 775 of file unified_database_system.cpp.
References pimpl_.
| kcenon::common::VoidResult database::integrated::unified_database_system::execute_transaction | ( | const std::vector< std::string > & | queries | ) |
Execute multiple queries in a transaction.
| queries | List of queries to execute |
This is a convenience method that automatically begins, executes, and commits/rollbacks.
Definition at line 788 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_execute_transaction_failure(), and test_execute_transaction_success().

| backend_type database::integrated::unified_database_system::get_backend_type | ( | ) | const |
Get database backend type.
Definition at line 813 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_get_backend_type().

| const unified_db_config & database::integrated::unified_database_system::get_config | ( | ) | const |
Get current configuration.
Definition at line 809 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_get_config().

| database_metrics database::integrated::unified_database_system::get_metrics | ( | ) | const |
Get current performance metrics.
Definition at line 795 of file unified_database_system.cpp.
References pimpl_.
Referenced by example_alerting(), example_performance_profiling(), example_realtime_monitoring(), test_metrics_api(), test_metrics_update_on_query(), test_reset_metrics(), test_thread_safety_metrics(), and test_transaction_metrics().

| unified_database_system::pool_stats database::integrated::unified_database_system::get_pool_stats | ( | ) | const |
Definition at line 817 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_get_pool_stats().

| kcenon::common::Result< typename std::invoke_result_t< Func, transaction & > > database::integrated::unified_database_system::in_transaction | ( | Func && | func | ) |
| kcenon::common::Result< size_t > database::integrated::unified_database_system::insert | ( | const std::string & | query, |
| const std::vector< query_param > & | params = {} ) |
Execute an INSERT query.
| query | SQL INSERT statement |
| params | Optional query parameters |
Definition at line 737 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_insert_failure_not_connected(), and test_insert_success().

| bool database::integrated::unified_database_system::is_connected | ( | ) | const |
Check if connected to database.
Definition at line 719 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_config_construction(), test_connect_mock_backend(), test_connect_typed_backend(), test_connect_unsupported_backend(), test_connection_state_api(), and test_zero_config_construction().

|
delete |
|
defaultnoexcept |
| kcenon::common::Result< size_t > database::integrated::unified_database_system::remove | ( | const std::string & | query, |
| const std::vector< query_param > & | params = {} ) |
Execute a DELETE query.
| query | SQL DELETE statement |
| params | Optional query parameters |
Definition at line 757 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_remove_failure_not_connected(), and test_remove_success().

| void database::integrated::unified_database_system::reset_metrics | ( | ) |
Reset metrics counters.
Definition at line 803 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_metrics_update_on_query(), test_reset_metrics(), and test_transaction_metrics().

| kcenon::common::Result< query_result > database::integrated::unified_database_system::select | ( | const std::string & | query, |
| const std::vector< query_param > & | params = {} ) |
Execute a SELECT query.
| query | SQL SELECT statement |
| params | Optional query parameters |
Definition at line 731 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_select_failure_not_connected(), and test_select_success().

| kcenon::common::Result< size_t > database::integrated::unified_database_system::update | ( | const std::string & | query, |
| const std::vector< query_param > & | params = {} ) |
Execute an UPDATE query.
| query | SQL UPDATE statement |
| params | Optional query parameters |
Definition at line 747 of file unified_database_system.cpp.
References pimpl_.
Referenced by test_update_failure_not_connected(), and test_update_success().

|
private |
Definition at line 635 of file unified_database_system.h.
Referenced by begin_transaction(), check_health(), connect(), create_query_builder(), disconnect(), execute(), execute_async(), execute_async_priority(), execute_transaction(), get_backend_type(), get_config(), get_metrics(), get_pool_stats(), insert(), is_connected(), remove(), reset_metrics(), select(), and update().