# The C# Database Class Enums

### For an overview see page C# Classes

### Enum Definitions

        public enum TransactionType
        {
            ReadOnly, Update, ReadWrite, Exclusive
        }

        public enum TransactionPriority
        {
            Idle, Background, Foreground, AboveNormal, Highest
        }

        public enum IsolationLevel
        {
            Default, ReadCommitted, RepeatableRead, Serializable
        }

        public enum LogType
        {
            NoLog, RedoLog, UndoLog
        }

        public enum IndexType
        {
            Hashtable, BTree, Patricia, RTree, RTreeOfPoint, KDTree, Trigram
        }

        public enum CommitPolicy
        {
            SyncFlush, Buffered, Delayed, NoSync
        }

        public enum TransSchedPolicy
        {
            Fifo, ReaderFavor, WriterFavor
        }

        public enum BackupType {
            Auto, Snapshot, Incremental
        }

## Enum Descriptions

`TransactionType`
Types of transactions.
`TransactionPriority`
Priority levels for transactions.
`IsolationLevel`
Transaction isolation levels.
`LogType`
Types of transaction logs.
`IndexType`
Index types.
`CommitPolicy`
Transaction commit policies (used only for on-disk databases):

- `SyncFlush` - Waits until all changes are written to disk (default policy).
- `Buffered` - Does not flush changes to disk immediately.
- `Delayed` - Defers flushing changes to disk until the amount of modified data or the number of pending transactions exceeds a configured threshold.
- `NoSync` - Flushes changes to disk asynchronously.

`TransSchedPolicy`
Scheduling policy for transactions with the same priority:

- `Fifo` - First-in, first-out (fair queuing).
- `ReaderFavor` - Prioritizes readers over writers in the queue.
- `WriterFavor` - Prioritizes writers over readers in the queue.

`BackupType`
Types of database backups.