pub struct ConfigBuilder<Isolation = ServerDefault, Access = ServerDefault> { /* private fields */ }Expand description
Builds a TransactionConfig, rejecting meaningless combinations at compile time.
Start with TransactionConfig::builder, pick an isolation level and an
access mode in either order, then call build. The type
parameters track the choices and are inferred.
Implementations§
Source§impl<Isolation, Access> ConfigBuilder<Isolation, Access>
impl<Isolation, Access> ConfigBuilder<Isolation, Access>
Sourcepub const fn isolation_level(
self,
level: IsolationLevel,
) -> ConfigBuilder<Dynamic, Access>
pub const fn isolation_level( self, level: IsolationLevel, ) -> ConfigBuilder<Dynamic, Access>
Selects an isolation level supplied at runtime.
Sourcepub const fn read_uncommitted(self) -> ConfigBuilder<ReadUncommitted, Access>
pub const fn read_uncommitted(self) -> ConfigBuilder<ReadUncommitted, Access>
Uses READ UNCOMMITTED isolation.
Sourcepub const fn read_committed(self) -> ConfigBuilder<ReadCommitted, Access>
pub const fn read_committed(self) -> ConfigBuilder<ReadCommitted, Access>
Uses READ COMMITTED isolation.
Sourcepub const fn repeatable_read(self) -> ConfigBuilder<RepeatableRead, Access>
pub const fn repeatable_read(self) -> ConfigBuilder<RepeatableRead, Access>
Uses REPEATABLE READ isolation.
Sourcepub const fn serializable(self) -> ConfigBuilder<Serializable, Access>
pub const fn serializable(self) -> ConfigBuilder<Serializable, Access>
Uses SERIALIZABLE isolation.
Sourcepub const fn access_mode(
self,
mode: AccessMode,
) -> ConfigBuilder<Isolation, Dynamic>
pub const fn access_mode( self, mode: AccessMode, ) -> ConfigBuilder<Isolation, Dynamic>
Selects an access mode supplied at runtime.
Sourcepub const fn read_only(self) -> ConfigBuilder<Isolation, ReadOnly>
pub const fn read_only(self) -> ConfigBuilder<Isolation, ReadOnly>
Rejects writes in the transaction.
Sourcepub const fn read_write(self) -> ConfigBuilder<Isolation, ReadWrite>
pub const fn read_write(self) -> ConfigBuilder<Isolation, ReadWrite>
Permits reads and writes in the transaction.
Sourcepub const fn build(self) -> TransactionConfig
pub const fn build(self) -> TransactionConfig
Returns the finished TransactionConfig.
Source§impl ConfigBuilder<Serializable, ReadOnly>
impl ConfigBuilder<Serializable, ReadOnly>
Sourcepub const fn deferrable(self) -> Self
pub const fn deferrable(self) -> Self
Adds DEFERRABLE: the transaction waits for a snapshot that cannot
cause a serialization failure, then runs without that risk.
Only available after .serializable() and .read_only().