Type Alias PgStore

Source
pub type PgStore = RdsStore<PgClient, PgExecutorFactory, PgSqlTemplateSet>;
Expand description

A PostgreSQL-backed key-value store for metasrv. It uses [deadpool_postgres::Pool] as the connection pool for RdsStore.

Aliased Type§

struct PgStore {
    max_txn_ops: usize,
    txn_retry_count: usize,
    executor_factory: PgExecutorFactory,
    sql_template_set: PgSqlTemplateSet,
    _phantom: PhantomData<PgClient>,
}

Fields§

§max_txn_ops: usize§txn_retry_count: usize§executor_factory: PgExecutorFactory§sql_template_set: PgSqlTemplateSet§_phantom: PhantomData<PgClient>

Implementations§

Source§

impl PgStore

Source

pub async fn with_url( url: &str, table_name: &str, max_txn_ops: usize, ) -> Result<KvBackendRef>

Create PgStore impl of KvBackendRef from url.

Source

pub async fn with_pg_pool( pool: Pool, table_name: &str, max_txn_ops: usize, ) -> Result<KvBackendRef>

Create PgStore impl of KvBackendRef from [deadpool_postgres::Pool].

Trait Implementations§

Source§

impl KvQueryExecutor<PgClient> for PgStore

Source§

fn batch_get_with_query_executor<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, query_executor: &'life1 mut ExecutorImpl<'life2, PgClient>, req: BatchGetRequest, ) -> Pin<Box<dyn Future<Output = Result<BatchGetResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Batch get with certain client. It’s needed for a client with transaction.

Source§

fn range_with_query_executor<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, query_executor: &'life1 mut ExecutorImpl<'life2, PgClient>, req: RangeRequest, ) -> Pin<Box<dyn Future<Output = Result<RangeResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

fn batch_put_with_query_executor<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, query_executor: &'life1 mut ExecutorImpl<'life2, PgClient>, req: BatchPutRequest, ) -> Pin<Box<dyn Future<Output = Result<BatchPutResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

fn delete_range_with_query_executor<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, query_executor: &'life1 mut ExecutorImpl<'life2, PgClient>, req: DeleteRangeRequest, ) -> Pin<Box<dyn Future<Output = Result<DeleteRangeResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

fn batch_delete_with_query_executor<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, query_executor: &'life1 mut ExecutorImpl<'life2, PgClient>, req: BatchDeleteRequest, ) -> Pin<Box<dyn Future<Output = Result<BatchDeleteResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

fn put_with_query_executor<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, query_executor: &'life1 mut ExecutorImpl<'life2, T>, req: PutRequest, ) -> Pin<Box<dyn Future<Output = Result<PutResponse>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,