11#include <kcenon/common/patterns/result.h>
105 kcenon::common::VoidResult
connect_result(
const std::string& connect_string);
124 kcenon::common::Result<core::database_result>
select_query_result(
const std::string& query_string);
173 std::unique_ptr<core::database_backend>
Registry for database backend plugins.
Manages database connections and operations.
kcenon::common::VoidResult connect_result(const std::string &connect_string)
Result-based wrapper for connect().
std::map< std::string, std::string > connection_info() const
Get connection information for monitoring.
kcenon::common::VoidResult commit_transaction()
Commit the current transaction.
std::string last_error() const
Get last error message from the backend.
kcenon::common::VoidResult disconnect_result()
Result-based wrapper for disconnect().
bool set_mode(const database_types &database_type)
Sets the database mode (type) for the manager.
std::string connect_string_
Cached connection string for initialization.
query_builder create_query_builder()
Creates a query builder for the current database type.
kcenon::common::VoidResult rollback_transaction()
Rollback the current transaction.
virtual ~database_manager()
Destructor.
std::unique_ptr< core::database_backend > database_
The underlying database backend.
std::shared_ptr< database_context > context_
Dependency injection context.
bool connected_
Indicates whether a database connection is active.
database_types database_type(void)
Retrieves the current database type used by the manager.
kcenon::common::VoidResult begin_transaction()
Begin a database transaction.
bool in_transaction() const
Check if currently in a transaction.
kcenon::common::VoidResult create_query_result(const std::string &query_string)
Result-based wrapper for create_query().
kcenon::common::VoidResult execute_query_result(const std::string &query_string)
Result-based wrapper for execute_query().
database_manager(std::shared_ptr< database_context > context)
kcenon::common::Result< core::database_result > select_query_result(const std::string &query_string)
Execute a SELECT query and return results.
Universal query builder that adapts to different database types.
Abstract interface for database backends.
Dependency injection container for database system components.
database_types
Represents various database backends or modes.