userver
C++ Async Framework
Loading...
Searching...
No Matches
database.hpp
Go to the documentation of this file.
1
#
pragma
once
2
3
/// @file userver/storages/postgres/database.hpp
4
/// @brief @copybrief storages::postgres::Database
5
6
#
include
<
vector
>
7
8
#
include
<
userver
/
storages
/
postgres
/
database_fwd
.
hpp
>
9
#
include
<
userver
/
storages
/
postgres
/
options
.
hpp
>
10
#
include
<
userver
/
storages
/
postgres
/
postgres_fwd
.
hpp
>
11
12
USERVER_NAMESPACE_BEGIN
13
14
namespace
components
{
15
16
class
Postgres
;
17
18
}
// namespace components
19
20
namespace
storages
::
postgres
{
21
22
/// Object for accessing PostgreSQL database instance (sharded or not)
23
class
Database
{
24
public
:
25
/// Cluster accessor for default shard number
26
ClusterPtr
GetCluster
()
const
;
27
28
/// Cluster accessor for specific shard number
29
ClusterPtr
GetClusterForShard
(size_t shard)
const
;
30
31
/// Get total shard count
32
size_t
GetShardCount
()
const
{
return
clusters_.size(); }
33
34
private
:
35
friend
class
components
::
Postgres
;
36
std::vector<storages::postgres::ClusterPtr> clusters_;
37
};
38
39
}
// namespace storages::postgres
40
41
USERVER_NAMESPACE_END
userver
storages
postgres
database.hpp
Generated on Wed May 15 2024 22:28:22 for userver by
Doxygen
1.10.0