Fluent builder for constructing database connection strings.
~connection_string_builder()=default
std::optional< uint32_t > connect_timeout_
kcenon::common::Result< std::string > build_sqlite() const
connection_string_builder & user(std::string_view u)
Set the username for authentication.
connection_string_builder & port(uint16_t p)
Set the database port.
connection_string_builder & host(std::string_view h)
Set the database host.
std::optional< std::string > application_name_
connection_string_builder(const connection_string_builder &)=default
connection_string_builder & application_name(std::string_view name)
Set the application name (for PostgreSQL)
kcenon::common::Result< std::string > build_postgres() const
connection_string_builder & reset()
Reset the builder to initial state.
std::vector< std::pair< std::string, std::string > > custom_options_
static std::string ssl_mode_to_postgres_string(enum ssl_mode mode)
kcenon::common::Result< std::string > build_redis() const
connection_string_builder & option(std::string_view key, std::string_view value)
Add a custom option.
std::optional< std::string > database_
std::optional< std::string > password_
connection_string_builder & in_memory()
Configure SQLite to use in-memory database.
connection_string_builder & password(std::string_view p)
Set the password for authentication.
connection_string_builder & operator=(const connection_string_builder &)=default
std::optional< std::string > host_
kcenon::common::Result< std::string > build_mongodb() const
connection_string_builder()=default
connection_string_builder(connection_string_builder &&) noexcept=default
std::optional< std::string > user_
std::optional< enum ssl_mode > ssl_mode_
connection_string_builder & connect_timeout(uint32_t seconds)
Set the connection timeout.
std::optional< uint16_t > port_
kcenon::common::Result< std::string > build(backend_type type) const
Build the connection string for the specified backend.
Unified configuration for integrated database system.
ssl_mode
SSL connection mode for database connections.
@ prefer
Try SSL first, fall back to non-SSL.
@ verify_ca
Require SSL with CA verification.
@ allow
Try SSL, fall back to non-SSL.
@ verify_full
Require SSL with full verification.
@ require
Require SSL, no verification.
backend_type
Database backend type enumeration.
kcenon::common::Result< T > Result
Primary Result type - use this for all database operations.
Result<T> type for database_system error handling.