// Copyright 2022 The Chromium Authors. All rights reserved.
// 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
  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
  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
};

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),
  kLoadPermanently = static_cast<int>(SqliteResultCode::kLoadPermanently),
  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),
  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),
};

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,

  kMaxValue = kIoCorruptFileSystem,
};

}  // namespace sql

#endif  // SQL_SQLITE_RESULT_CODE_VALUES_H_
