aboutsummaryrefslogtreecommitdiff
path: root/src/Jellyfin.Database/Jellyfin.Database.Implementations/DbConfiguration/DatabaseLockingBehaviorTypes.cs
blob: 3b2a55802ed61eac2cd4516992abcec1664dad4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace Jellyfin.Database.Implementations.DbConfiguration;

/// <summary>
/// Defines all possible methods for locking database access for concurrent queries.
/// </summary>
public enum DatabaseLockingBehaviorTypes
{
    /// <summary>
    /// Defines that no explicit application level locking for reads and writes should be done and only provider specific locking should be relied on.
    /// </summary>
    NoLock = 0,

    /// <summary>
    /// Defines a behavior that always blocks all reads while any one write is done.
    /// </summary>
    Pessimistic = 1,

    /// <summary>
    /// Defines that all writes should be attempted and when fail should be retried.
    /// </summary>
    Optimistic = 2
}