// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SQL_SQLITE_RESULT_CODE_VALUES_H_
#define SQL_SQLITE_RESULT_CODE_VALUES_H_

namespace sql {

enum class SqliteResultCode : int {
  // See sqlite_result_code.h for a description of SqliteResultCode and
  // functions that create and consume it.
  //
  // The meaning of the codes is listed at https://www.sqlite.org/rescode.html
  //
  // Numerical enums are used here directly to avoid exposing sqlite3.h.
  // The .cc file has static_asserts ensuring the the enums match.
  // Lines are ordered by the numerical constant values.

  kOk = 0,                                  // SQLITE_OK
  kError = 1,                               // SQLITE_ERROR
  kInternal = 2,                            // SQLITE_INTERNAL
  kPermission = 3,                          // SQLITE_PERM
  kAbort = 4,                               // SQLITE_ABORT
  kBusy = 5,                                // SQLITE_BUSY
  kLocked = 6,                              // SQLITE_LOCKED
  kNoMemory = 7,                            // SQLITE_NOMEM
  kReadOnly = 8,                            // SQLITE_READONLY
  kInterrupt = 9,                           // SQLITE_INTERRUPT
  kIo = 10,                                 // SQLITE_IOERR
  kCorrupt = 11,                            // SQLITE_CORRUPT
  kNotFound = 12,                           // SQLITE_NOTFOUND
  kFullDisk = 13,                           // SQLITE_FULL
  kCantOpen = 14,                           // SQLITE_CANTOPEN
  kLockingProtocol = 15,                    // SQLITE_PROTOCOL
  kEmpty = 16,                              // SQLITE_EMPTY
  kSchemaChanged = 17,                      // SQLITE_SCHEMA
  kTooBig = 18,                             // SQLITE_TOOBIG
  kConstraint = 19,                         // SQLITE_CONSTRAINT
  kTypeMismatch = 20,                       // SQLITE_MISMATCH
  kApiMisuse = 21,                          // SQLITE_MISUSE
  kNoLargeFileSupport = 22,                 // SQLITE_NOLFS
  kUnauthorized = 23,                       // SQLITE_AUTH
  kFormat = 24,                             // SQLITE_FORMAT
  kIndexRange = 25,                         // SQLITE_RANGE
  kNotADatabase = 26,                       // SQLITE_NOTADB
  kLoggingNotice = 27,                      // SQLITE_NOTICE
  kLoggingWarning = 28,                     // SQLITE_WARNING
  kRow = 100,                               // SQLITE_ROW
  kDone = 101,                              // SQLITE_DONE
  kLoadPermanently = 256,                   // SQLITE_OK_LOAD_PERMANENTLY
  kMissingCollatingSequence = 257,          // SQLITE_ERROR_MISSING_COLLSEQ
  kBusyRecovery = 261,                      // SQLITE_BUSY_RECOVERY
  kLockedSharedCache = 262,                 // SQLITE_LOCKED_SHAREDCACHE
  kReadOnlyRecovery = 264,                  // SQLITE_READONLY_RECOVERY
  kIoRead = 266,                            // SQLITE_IOERR_READ
  kCorruptVirtualTable = 267,               // SQLITE_CORRUPT_VTAB
  kCantOpenNoTemporaryDirectory = 270,      // SQLITE_CANTOPEN_NOTEMPDIR
  kConstraintCheck = 275,                   // SQLITE_CONSTRAINT_CHECK
  kUnauthorizedUser = 279,                  // SQLITE_AUTH_USER
  kLoggingNoticeRecoverWal = 283,           // SQLITE_NOTICE_RECOVER_WAL
  kLoggingWarningAutoIndex = 284,           // SQLITE_WARNING_AUTOINDEX
  kOkSymlink = 512,                         // SQLITE_OK_SYMLINK
  kRetryPreparedStatement = 513,            // SQLITE_ERROR_RETRY
  kAbortRollback = 516,                     // SQLITE_ABORT_ROLLBACK
  kBusySnapshot = 517,                      // SQLITE_BUSY_SNAPSHOT
  kLockedVirtualTable = 518,                // SQLITE_LOCKED_VTAB
  kReadOnlyCantLock = 520,                  // SQLITE_READONLY_CANTLOCK
  kIoShortRead = 522,                       // SQLITE_IOERR_SHORT_READ
  kCorruptSequence = 523,                   // SQLITE_CORRUPT_SEQUENCE
  kCantOpenIsDir = 526,                     // SQLITE_CANTOPEN_ISDIR
  kConstraintCommitHook = 531,              // SQLITE_CONSTRAINT_COMMITHOOK
  kLoggingNoticeRecoverRollback = 539,      // SQLITE_NOTICE_RECOVER_ROLLBACK
  kErrorSnapshot = 769,                     // SQLITE_ERROR_SNAPSHOT
  kBusyTimeout = 773,                       // SQLITE_BUSY_TIMEOUT
  kReadOnlyRollback = 776,                  // SQLITE_READONLY_ROLLBACK
  kIoWrite = 778,                           // SQLITE_IOERR_WRITE
  kCorruptIndex = 779,                      // SQLITE_CORRUPT_INDEX
  kCantOpenFullPath = 782,                  // SQLITE_CANTOPEN_FULLPATH
  kConstraintForeignKey = 787,              // SQLITE_CONSTRAINT_FOREIGNKEY
  kLoggingNoticeResumableBulkUpdate = 795,  // SQLITE_NOTICE_RBU
  kReadOnlyDbMoved = 1032,                  // SQLITE_READONLY_DBMOVED
  kIoFsync = 1034,                          // SQLITE_IOERR_FSYNC
  kCantOpenConvertPath = 1038,              // SQLITE_CANTOPEN_CONVPATH
  kConstraintFunction = 1043,               // SQLITE_CONSTRAINT_FUNCTION
  kReadOnlyCantInit = 1288,                 // SQLITE_READONLY_CANTINIT
  kIoDirFsync = 1290,                       // SQLITE_IOERR_DIR_FSYNC
  kCantOpenDirtyWal = 1294,                 // SQLITE_CANTOPEN_DIRTYWAL
  kConstraintNotNull = 1299,                // SQLITE_CONSTRAINT_NOTNULL
  kReadOnlyDirectory = 1544,                // SQLITE_READONLY_DIRECTORY
  kIoTruncate = 1546,                       // SQLITE_IOERR_TRUNCATE
  kCantOpenSymlink = 1550,                  // SQLITE_CANTOPEN_SYMLINK
  kConstraintPrimaryKey = 1555,             // SQLITE_CONSTRAINT_PRIMARYKEY
  kIoFstat = 1802,                          // SQLITE_IOERR_FSTAT
  kConstraintTrigger = 1811,                // SQLITE_CONSTRAINT_TRIGGER
  kIoUnlock = 2058,                         // SQLITE_IOERR_UNLOCK
  kConstraintUnique = 2067,                 // SQLITE_CONSTRAINT_UNIQUE
  kIoReadLock = 2314,                       // SQLITE_IOERR_RDLOCK
  kConstraintVirtualTable = 2323,           // SQLITE_CONSTRAINT_VTAB
  kIoDelete = 2570,                         // SQLITE_IOERR_DELETE
  kConstraintRowId = 2579,                  // SQLITE_CONSTRAINT_ROWID
  kIoBlocked = 2826,                        // SQLITE_IOERR_BLOCKED
  kConstraintPinned = 2835,                 // SQLITE_CONSTRAINT_PINNED
  kIoNoMemory = 3082,                       // SQLITE_IOERR_NOMEM
  kConstraintDataType = 3091,               // SQLITE_CONSTRAINT_DATATYPE
  kIoAccess = 3338,                         // SQLITE_IOERR_ACCESS
  kIoCheckReservedLock = 3594,              // SQLITE_IOERR_CHECKRESERVEDLOCK
  kIoLock = 3850,                           // SQLITE_IOERR_LOCK
  kIoClose = 4106,                          // SQLITE_IOERR_CLOSE
  kIoDirClose = 4362,                       // SQLITE_IOERR_DIR_CLOSE
  kIoSharedMemoryOpen = 4618,               // SQLITE_IOERR_SHMOPEN
  kIoSharedMemorySize = 4874,               // SQLITE_IOERR_SHMSIZE
  kIoSharedMemoryLock = 5130,               // SQLITE_IOERR_SHMLOCK
  kIoSharedMemoryMap = 5386,                // SQLITE_IOERR_SHMMAP
  kIoSeek = 5642,                           // SQLITE_IOERR_SEEK
  kIoDeleteNoEntry = 5898,                  // SQLITE_IOERR_DELETE_NOENT
  kIoMemoryMapping = 6154,                  // SQLITE_IOERR_MMAP
  kIoGetTemporaryPath = 6410,               // SQLITE_IOERR_GETTEMPPATH
  kIoConvertPath = 6666,                    // SQLITE_IOERR_CONVPATH
  kIoVfsNode = 6922,                        // SQLITE_IOERR_VNODE
  kIoUnauthorized = 7178,                   // SQLITE_IOERR_AUTH
  kIoBeginAtomic = 7434,                    // SQLITE_IOERR_BEGIN_ATOMIC
  kIoCommitAtomic = 7690,                   // SQLITE_IOERR_COMMIT_ATOMIC
  kIoRollbackAtomic = 7946,                 // SQLITE_IOERR_ROLLBACK_ATOMIC
  kIoData = 8202,                           // SQLITE_IOERR_DATA
  kIoCorruptFileSystem = 8458,              // SQLITE_IOERR_CORRUPTFS
  kIoInPage = 8714,                         // SQLITE_IOERR_IN_PAGE
};

enum class SqliteErrorCode : int {
  // See sqlite_result_code.h for a description of SqliteErrorCode and functions
  // that create and consume it.
  //
  // The values here are a subset of SqliteResultCode values.
  // When adding new values, match the ordering in SqliteResultCode.

  kError = static_cast<int>(SqliteResultCode::kError),
  kInternal = static_cast<int>(SqliteResultCode::kInternal),
  kPermission = static_cast<int>(SqliteResultCode::kPermission),
  kAbort = static_cast<int>(SqliteResultCode::kAbort),
  kBusy = static_cast<int>(SqliteResultCode::kBusy),
  kLocked = static_cast<int>(SqliteResultCode::kLocked),
  kNoMemory = static_cast<int>(SqliteResultCode::kNoMemory),
  kReadOnly = static_cast<int>(SqliteResultCode::kReadOnly),
  kInterrupt = static_cast<int>(SqliteResultCode::kInterrupt),
  kIo = static_cast<int>(SqliteResultCode::kIo),
  kCorrupt = static_cast<int>(SqliteResultCode::kCorrupt),
  kNotFound = static_cast<int>(SqliteResultCode::kNotFound),
  kFullDisk = static_cast<int>(SqliteResultCode::kFullDisk),
  kCantOpen = static_cast<int>(SqliteResultCode::kCantOpen),
  kLockingProtocol = static_cast<int>(SqliteResultCode::kLockingProtocol),
  kEmpty = static_cast<int>(SqliteResultCode::kEmpty),
  kSchemaChanged = static_cast<int>(SqliteResultCode::kSchemaChanged),
  kTooBig = static_cast<int>(SqliteResultCode::kTooBig),
  kConstraint = static_cast<int>(SqliteResultCode::kConstraint),
  kTypeMismatch = static_cast<int>(SqliteResultCode::kTypeMismatch),
  kApiMisuse = static_cast<int>(SqliteResultCode::kApiMisuse),
  kNoLargeFileSupport = static_cast<int>(SqliteResultCode::kNoLargeFileSupport),
  kUnauthorized = static_cast<int>(SqliteResultCode::kUnauthorized),
  kFormat = static_cast<int>(SqliteResultCode::kFormat),
  kIndexRange = static_cast<int>(SqliteResultCode::kIndexRange),
  kNotADatabase = static_cast<int>(SqliteResultCode::kNotADatabase),
  kLoggingNotice = static_cast<int>(SqliteResultCode::kLoggingNotice),
  kLoggingWarning = static_cast<int>(SqliteResultCode::kLoggingWarning),
  kMissingCollatingSequence =
      static_cast<int>(SqliteResultCode::kMissingCollatingSequence),
  kBusyRecovery = static_cast<int>(SqliteResultCode::kBusyRecovery),
  kLockedSharedCache = static_cast<int>(SqliteResultCode::kLockedSharedCache),
  kReadOnlyRecovery = static_cast<int>(SqliteResultCode::kReadOnlyRecovery),
  kIoRead = static_cast<int>(SqliteResultCode::kIoRead),
  kCorruptVirtualTable =
      static_cast<int>(SqliteResultCode::kCorruptVirtualTable),
  kCantOpenNoTemporaryDirectory =
      static_cast<int>(SqliteResultCode::kCantOpenNoTemporaryDirectory),
  kConstraintCheck = static_cast<int>(SqliteResultCode::kConstraintCheck),
  kUnauthorizedUser = static_cast<int>(SqliteResultCode::kUnauthorizedUser),
  kLoggingNoticeRecoverWal =
      static_cast<int>(SqliteResultCode::kLoggingNoticeRecoverWal),
  kLoggingWarningAutoIndex =
      static_cast<int>(SqliteResultCode::kLoggingWarningAutoIndex),
  kRetryPreparedStatement =
      static_cast<int>(SqliteResultCode::kRetryPreparedStatement),
  kAbortRollback = static_cast<int>(SqliteResultCode::kAbortRollback),
  kBusySnapshot = static_cast<int>(SqliteResultCode::kBusySnapshot),
  kLockedVirtualTable = static_cast<int>(SqliteResultCode::kLockedVirtualTable),
  kReadOnlyCantLock = static_cast<int>(SqliteResultCode::kReadOnlyCantLock),
  kIoShortRead = static_cast<int>(SqliteResultCode::kIoShortRead),
  kCorruptSequence = static_cast<int>(SqliteResultCode::kCorruptSequence),
  kCantOpenIsDir = static_cast<int>(SqliteResultCode::kCantOpenIsDir),
  kConstraintCommitHook =
      static_cast<int>(SqliteResultCode::kConstraintCommitHook),
  kLoggingNoticeRecoverRollback =
      static_cast<int>(SqliteResultCode::kLoggingNoticeRecoverRollback),
  kErrorSnapshot = static_cast<int>(SqliteResultCode::kErrorSnapshot),
  kBusyTimeout = static_cast<int>(SqliteResultCode::kBusyTimeout),
  kReadOnlyRollback = static_cast<int>(SqliteResultCode::kReadOnlyRollback),
  kIoWrite = static_cast<int>(SqliteResultCode::kIoWrite),
  kCorruptIndex = static_cast<int>(SqliteResultCode::kCorruptIndex),
  kCantOpenFullPath = static_cast<int>(SqliteResultCode::kCantOpenFullPath),
  kConstraintForeignKey =
      static_cast<int>(SqliteResultCode::kConstraintForeignKey),
  kLoggingNoticeResumableBulkUpdate =
      static_cast<int>(SqliteResultCode::kLoggingNoticeResumableBulkUpdate),
  kReadOnlyDbMoved = static_cast<int>(SqliteResultCode::kReadOnlyDbMoved),
  kIoFsync = static_cast<int>(SqliteResultCode::kIoFsync),
  kCantOpenConvertPath =
      static_cast<int>(SqliteResultCode::kCantOpenConvertPath),
  kConstraintFunction = static_cast<int>(SqliteResultCode::kConstraintFunction),
  kReadOnlyCantInit = static_cast<int>(SqliteResultCode::kReadOnlyCantInit),
  kIoDirFsync = static_cast<int>(SqliteResultCode::kIoDirFsync),
  kCantOpenDirtyWal = static_cast<int>(SqliteResultCode::kCantOpenDirtyWal),
  kConstraintNotNull = static_cast<int>(SqliteResultCode::kConstraintNotNull),
  kReadOnlyDirectory = static_cast<int>(SqliteResultCode::kReadOnlyDirectory),
  kIoTruncate = static_cast<int>(SqliteResultCode::kIoTruncate),
  kCantOpenSymlink = static_cast<int>(SqliteResultCode::kCantOpenSymlink),
  kConstraintPrimaryKey =
      static_cast<int>(SqliteResultCode::kConstraintPrimaryKey),
  kIoFstat = static_cast<int>(SqliteResultCode::kIoFstat),
  kConstraintTrigger = static_cast<int>(SqliteResultCode::kConstraintTrigger),
  kIoUnlock = static_cast<int>(SqliteResultCode::kIoUnlock),
  kConstraintUnique = static_cast<int>(SqliteResultCode::kConstraintUnique),
  kIoReadLock = static_cast<int>(SqliteResultCode::kIoReadLock),
  kConstraintVirtualTable =
      static_cast<int>(SqliteResultCode::kConstraintVirtualTable),
  kIoDelete = static_cast<int>(SqliteResultCode::kIoDelete),
  kConstraintRowId = static_cast<int>(SqliteResultCode::kConstraintRowId),
  kIoBlocked = static_cast<int>(SqliteResultCode::kIoBlocked),
  kConstraintPinned = static_cast<int>(SqliteResultCode::kConstraintPinned),
  kIoNoMemory = static_cast<int>(SqliteResultCode::kIoNoMemory),
  kConstraintDataType = static_cast<int>(SqliteResultCode::kConstraintDataType),
  kIoAccess = static_cast<int>(SqliteResultCode::kIoAccess),
  kIoCheckReservedLock =
      static_cast<int>(SqliteResultCode::kIoCheckReservedLock),
  kIoLock = static_cast<int>(SqliteResultCode::kIoLock),
  kIoClose = static_cast<int>(SqliteResultCode::kIoClose),
  kIoDirClose = static_cast<int>(SqliteResultCode::kIoDirClose),
  kIoSharedMemoryOpen = static_cast<int>(SqliteResultCode::kIoSharedMemoryOpen),
  kIoSharedMemorySize = static_cast<int>(SqliteResultCode::kIoSharedMemorySize),
  kIoSharedMemoryLock = static_cast<int>(SqliteResultCode::kIoSharedMemoryLock),
  kIoSharedMemoryMap = static_cast<int>(SqliteResultCode::kIoSharedMemoryMap),
  kIoSeek = static_cast<int>(SqliteResultCode::kIoSeek),
  kIoDeleteNoEntry = static_cast<int>(SqliteResultCode::kIoDeleteNoEntry),
  kIoMemoryMapping = static_cast<int>(SqliteResultCode::kIoMemoryMapping),
  kIoGetTemporaryPath = static_cast<int>(SqliteResultCode::kIoGetTemporaryPath),
  kIoConvertPath = static_cast<int>(SqliteResultCode::kIoConvertPath),
  kIoVfsNode = static_cast<int>(SqliteResultCode::kIoVfsNode),
  kIoUnauthorized = static_cast<int>(SqliteResultCode::kIoUnauthorized),
  kIoBeginAtomic = static_cast<int>(SqliteResultCode::kIoBeginAtomic),
  kIoCommitAtomic = static_cast<int>(SqliteResultCode::kIoCommitAtomic),
  kIoRollbackAtomic = static_cast<int>(SqliteResultCode::kIoRollbackAtomic),
  kIoData = static_cast<int>(SqliteResultCode::kIoData),
  kIoCorruptFileSystem =
      static_cast<int>(SqliteResultCode::kIoCorruptFileSystem),
  kIoInPage = static_cast<int>(SqliteResultCode::kIoInPage),
};

enum class SqliteLoggedResultCode : int {
  // These values are persisted to logs. Entries should not be renumbered and
  // numeric values should never be reused.

  // A success code: OK, DONE, ROW.
  kNoError = 0,

  // Codes that SQLite APIs should never return, such as SQLITE_INTERNAL.
  kUnusedSqlite = 1,

  // Codes that SQLite APIs should never return, given Chrome's usage pattern.
  kUnusedChrome = 2,

  // SQLITE_ERROR
  kGeneric = 3,

  // SQLITE_PERM
  kPermission = 4,

  // SQLITE_ABORT
  kAbort = 5,

  // SQLITE_BUSY
  kBusy = 6,

  // SQLITE_READONLY
  kReadOnly = 7,

  // SQLITE_IOERR
  kIo = 8,

  // SQLITE_CORRUPT
  kCorrupt = 9,

  // SQLITE_FULL
  kFullDisk = 10,

  // SQLITE_CANTOPEN
  kCantOpen = 11,

  // SQLITE_PROTOCOL
  kLockingProtocol = 12,

  // SQLITE_SCHEMA
  kSchemaChanged = 13,

  // SQLITE_TOOBIG
  kTooBig = 14,

  // SQLITE_CONSTRAINT
  kConstraint = 15,

  // SQLITE_MISMATCH
  kTypeMismatch = 16,

  // SQLITE_NOLFS
  kNoLargeFileSupport = 17,

  // SQLITE_NOTADB
  kNotADatabase = 18,

  // SQLITE_BUSY_RECOVERY
  kBusyRecovery = 19,

  // SQLITE_READONLY_RECOVERY
  kReadOnlyRecovery = 20,

  // SQLITE_IOERR_READ
  kIoRead = 21,

  // SQLITE_CONSTRAINT_CHECK
  kConstraintCheck = 22,

  // SQLITE_ABORT_ROLLBACK
  kAbortRollback = 23,

  // SQLITE_BUSY_SNAPSHOT
  kBusySnapshot = 24,

  // SQLITE_READONLY_CANTLOCK
  kReadOnlyCantLock = 25,

  // SQLITE_IOERR_SHORT_READ
  kIoShortRead = 26,

  // SQLITE_CORRUPT_SEQUENCE
  kCorruptSequence = 27,

  // SQLITE_CANTOPEN_ISDIR
  kCantOpenIsDir = 28,

  // SQLITE_READONLY_ROLLBACK
  kReadOnlyRollback = 29,

  // SQLITE_IOERR_WRITE
  kIoWrite = 30,

  // SQLITE_CORRUPT_INDEX
  kCorruptIndex = 31,

  // SQLITE_CONSTRAINT_FOREIGN_KEY
  kConstraintForeignKey = 32,

  // SQLITE_READONLY_DBMOVED
  kReadOnlyDbMoved = 33,

  // SQLITE_IOERR_FSYNC
  kIoFsync = 34,

  // SQLITE_IOERR_DIR_FSYNC
  kIoDirFsync = 35,

  // SQLITE_CONSTRAINT_NOTNULL
  kConstraintNotNull = 36,

  // SQLITE_READONLY_DIRECTORY
  kReadOnlyDirectory = 37,

  // SQLITE_IOERR_TRUNCATE
  kIoTruncate = 38,

  // SQLITE_CONSTRAINT_PRIMARYKEY
  kConstraintPrimaryKey = 39,

  // SQLITE_IOERR_FSTAT
  kIoFstat = 40,

  // SQLITE_IOERR_UNLOCK
  kIoUnlock = 41,

  // SQLITE_CONSTRAINT_UNIQUE
  kConstraintUnique = 42,

  // SQLITE_IOERR_RDLOCK
  kIoReadLock = 43,

  // SQLITE_IOERR_DELETE
  kIoDelete = 44,

  // SQLITE_CONSTRAINT_ROWID
  kConstraintRowId = 45,

  // SQLITE_CONSTRAINT_DATATYPE
  kConstraintDataType = 46,

  // SQLITE_IOERR_ACCESS
  kIoAccess = 47,

  // SQLITE_IOERR_CHECKRESERVEDLOCK
  kIoCheckReservedLock = 48,

  // SQLITE_IOERR_LOCK
  kIoLock = 49,

  // SQLITE_IOERR_CLOSE
  kIoClose = 50,

  // SQLITE_IOERR_SEEK
  kIoSeek = 51,

  // SQLITE_IOERR_DELETE_NOENT
  kIoDeleteNoEntry = 52,

  // SQLITE_IOERR_MMAP
  kIoMemoryMapping = 53,

  // SQLITE_IOERR_GETTEMPPATH
  kIoGetTemporaryPath = 54,

  // SQLITE_IOERR_BEGIN_ATOMIC
  kIoBeginAtomic = 55,

  // SQLITE_IOERR_COMMIT_ATOMIC
  kIoCommitAtomic = 56,

  // SQLITE_IOERR_ROLLBACK_ATOMIC
  kIoRollbackAtomic = 57,

  // SQLITE_IOERR_CORRUPTFS
  kIoCorruptFileSystem = 58,

  // SQLITE_IOERR_IN_PAGE
  kIoInPage = 59,

  kMaxValue = kIoInPage,
};

}  // namespace sql

#endif  // SQL_SQLITE_RESULT_CODE_VALUES_H_
