1use super::{ErrorCategory, ErrorCode};
2
3#[derive(PartialEq, Eq, Copy, Clone, Debug)]
5#[non_exhaustive]
6pub enum ErrorReason {
7 Aborted(AbortError),
9
10 Authorization(AuthorizationError),
12
13 Busy(BusyError),
15
16 CantOpen(CantOpenError),
18
19 Constraint(ConstraintError),
21
22 Corrupt(CorruptError),
24
25 Error(GeneralError),
27
28 Io(IoError),
30
31 Locked(LockedError),
33
34 ReadOnly(ReadOnlyError),
36
37 Fetch(FetchError),
44
45 Parameter(ParameterError),
52
53 Row(RowError),
60}
61
62impl ErrorReason {
63 pub const fn category(self) -> ErrorCategory {
65 match self {
66 ErrorReason::Aborted(_) => ErrorCategory::Aborted,
67 ErrorReason::Authorization(_) => ErrorCategory::Authorization,
68 ErrorReason::Busy(_) => ErrorCategory::Busy,
69 ErrorReason::CantOpen(_) => ErrorCategory::CantOpen,
70 ErrorReason::Constraint(_) => ErrorCategory::Constraint,
71 ErrorReason::Corrupt(_) => ErrorCategory::Corrupt,
72 ErrorReason::Error(_) => ErrorCategory::Unknown,
73 ErrorReason::Io(_) => ErrorCategory::Io,
74 ErrorReason::Locked(_) => ErrorCategory::Locked,
75 ErrorReason::ReadOnly(_) => ErrorCategory::ReadOnly,
76
77 ErrorReason::Fetch(_) => ErrorCategory::Fetch,
78 ErrorReason::Parameter(_) => ErrorCategory::Parameter,
79 ErrorReason::Row(_) => ErrorCategory::Parameter,
80 }
81 }
82
83 pub const fn code(self) -> ErrorCode {
85 let code = match self {
86 Self::Aborted(err) => err as i32,
87 Self::Authorization(err) => err as i32,
88 Self::Busy(err) => err as i32,
89 Self::CantOpen(err) => err as i32,
90 Self::Constraint(err) => err as i32,
91 Self::Corrupt(err) => err as i32,
92 Self::Error(err) => err as i32,
93 Self::Io(err) => err as i32,
94 Self::Locked(err) => err as i32,
95 Self::ReadOnly(err) => err as i32,
96
97 Self::Fetch(err) => err as i32,
98 Self::Parameter(err) => err as i32,
99 Self::Row(err) => err as i32,
100 };
101
102 unsafe { ErrorCode::new_unchecked(code) }
103 }
104
105 pub const fn from_code(code: ErrorCode) -> Option<Self> {
107 Self::from_raw_code(code.raw())
108 }
109
110 pub const fn from_raw_code(code: i32) -> Option<Self> {
114 #[allow(deprecated)]
115 match code {
116 sqlite::SQLITE_ABORT_ROLLBACK => Some(Self::Aborted(AbortError::Rollback)),
118
119 sqlite::SQLITE_AUTH_USER => Some(Self::Authorization(AuthorizationError::User)),
121
122 sqlite::SQLITE_BUSY_RECOVERY => Some(Self::Busy(BusyError::Recovery)),
124 sqlite::SQLITE_BUSY_SNAPSHOT => Some(Self::Busy(BusyError::Snapshot)),
125 sqlite::SQLITE_BUSY_TIMEOUT => Some(Self::Busy(BusyError::Timeout)),
126
127 sqlite::SQLITE_CANTOPEN_FULLPATH => Some(Self::CantOpen(CantOpenError::FullPath)),
129 sqlite::SQLITE_CANTOPEN_ISDIR => Some(Self::CantOpen(CantOpenError::IsDir)),
130 sqlite::SQLITE_CANTOPEN_NOTEMPDIR => Some(Self::CantOpen(CantOpenError::NoTempDir)),
131 sqlite::SQLITE_CANTOPEN_CONVPATH => Some(Self::CantOpen(CantOpenError::ConvPath)),
132 sqlite::SQLITE_CANTOPEN_DIRTYWAL => Some(Self::CantOpen(CantOpenError::DirtyWal)),
133 sqlite::SQLITE_CANTOPEN_SYMLINK => Some(Self::CantOpen(CantOpenError::Symlink)),
134
135 sqlite::SQLITE_CONSTRAINT_CHECK => Some(Self::Constraint(ConstraintError::Check)),
137 sqlite::SQLITE_CONSTRAINT_COMMITHOOK => {
138 Some(Self::Constraint(ConstraintError::CommitHook))
139 }
140 sqlite::SQLITE_CONSTRAINT_DATATYPE => Some(Self::Constraint(ConstraintError::DataType)),
141 sqlite::SQLITE_CONSTRAINT_FOREIGNKEY => {
142 Some(Self::Constraint(ConstraintError::ForeignKey))
143 }
144 sqlite::SQLITE_CONSTRAINT_FUNCTION => Some(Self::Constraint(ConstraintError::Function)),
145 sqlite::SQLITE_CONSTRAINT_NOTNULL => Some(Self::Constraint(ConstraintError::NotNull)),
146 sqlite::SQLITE_CONSTRAINT_PINNED => Some(Self::Constraint(ConstraintError::Pinned)),
147 sqlite::SQLITE_CONSTRAINT_PRIMARYKEY => {
148 Some(Self::Constraint(ConstraintError::PrimaryKey))
149 }
150 sqlite::SQLITE_CONSTRAINT_ROWID => Some(Self::Constraint(ConstraintError::RowId)),
151 sqlite::SQLITE_CONSTRAINT_TRIGGER => Some(Self::Constraint(ConstraintError::Trigger)),
152 sqlite::SQLITE_CONSTRAINT_UNIQUE => Some(Self::Constraint(ConstraintError::Unique)),
153 sqlite::SQLITE_CONSTRAINT_VTAB => Some(Self::Constraint(ConstraintError::VTab)),
154
155 sqlite::SQLITE_CORRUPT_INDEX => Some(Self::Corrupt(CorruptError::Index)),
157 sqlite::SQLITE_CORRUPT_SEQUENCE => Some(Self::Corrupt(CorruptError::Sequence)),
158 sqlite::SQLITE_CORRUPT_VTAB => Some(Self::Corrupt(CorruptError::VTab)),
159
160 sqlite::SQLITE_ERROR_MISSING_COLLSEQ => Some(Self::Error(GeneralError::MissingCollSeq)),
162 sqlite::SQLITE_ERROR_RETRY => Some(Self::Error(GeneralError::Retry)),
163 sqlite::SQLITE_ERROR_SNAPSHOT => Some(Self::Error(GeneralError::Snapshot)),
164
165 sqlite::SQLITE_IOERR_READ => Some(Self::Io(IoError::Read)),
167 sqlite::SQLITE_IOERR_WRITE => Some(Self::Io(IoError::Write)),
168 sqlite::SQLITE_IOERR_FSYNC => Some(Self::Io(IoError::FSync)),
169 sqlite::SQLITE_IOERR_FSTAT => Some(Self::Io(IoError::FStat)),
170 sqlite::SQLITE_IOERR_TRUNCATE => Some(Self::Io(IoError::Truncate)),
171 sqlite::SQLITE_IOERR_UNLOCK => Some(Self::Io(IoError::Unlock)),
172 sqlite::SQLITE_IOERR_RDLOCK => Some(Self::Io(IoError::ReadLock)),
173 sqlite::SQLITE_IOERR_DELETE => Some(Self::Io(IoError::Delete)),
174 sqlite::SQLITE_IOERR_BLOCKED => Some(Self::Io(IoError::Blocked)),
175 sqlite::SQLITE_IOERR_NOMEM => Some(Self::Io(IoError::NoMem)),
176 sqlite::SQLITE_IOERR_ACCESS => Some(Self::Io(IoError::Access)),
177 sqlite::SQLITE_IOERR_CHECKRESERVEDLOCK => Some(Self::Io(IoError::CheckReservedLock)),
178 sqlite::SQLITE_IOERR_LOCK => Some(Self::Io(IoError::Lock)),
179 sqlite::SQLITE_IOERR_CLOSE => Some(Self::Io(IoError::Close)),
180 sqlite::SQLITE_IOERR_DIR_CLOSE => Some(Self::Io(IoError::DirClose)),
181 sqlite::SQLITE_IOERR_SHMOPEN => Some(Self::Io(IoError::ShmOpen)),
182 sqlite::SQLITE_IOERR_SHMSIZE => Some(Self::Io(IoError::ShmSize)),
183 sqlite::SQLITE_IOERR_SHMLOCK => Some(Self::Io(IoError::ShmLock)),
184 sqlite::SQLITE_IOERR_SHMMAP => Some(Self::Io(IoError::ShmMap)),
185 sqlite::SQLITE_IOERR_SEEK => Some(Self::Io(IoError::Seek)),
186 sqlite::SQLITE_IOERR_DELETE_NOENT => Some(Self::Io(IoError::DeleteNoEnt)),
187 sqlite::SQLITE_IOERR_MMAP => Some(Self::Io(IoError::MMap)),
188 sqlite::SQLITE_IOERR_GETTEMPPATH => Some(Self::Io(IoError::GetTempPath)),
189 sqlite::SQLITE_IOERR_CONVPATH => Some(Self::Io(IoError::ConvPath)),
190 sqlite::SQLITE_IOERR_VNODE => Some(Self::Io(IoError::VNode)),
191 sqlite::SQLITE_IOERR_AUTH => Some(Self::Io(IoError::Auth)),
192 sqlite::SQLITE_IOERR_BEGIN_ATOMIC => Some(Self::Io(IoError::BeginAtomic)),
193 sqlite::SQLITE_IOERR_COMMIT_ATOMIC => Some(Self::Io(IoError::CommitAtomic)),
194 sqlite::SQLITE_IOERR_ROLLBACK_ATOMIC => Some(Self::Io(IoError::RollbackAtomic)),
195 sqlite::SQLITE_IOERR_DATA => Some(Self::Io(IoError::Data)),
196 sqlite::SQLITE_IOERR_CORRUPTFS => Some(Self::Io(IoError::CorruptFS)),
197 sqlite::SQLITE_IOERR_SHORT_READ => Some(Self::Io(IoError::ShortRead)),
198 sqlite::SQLITE_IOERR_DIR_FSYNC => Some(Self::Io(IoError::DirFSync)),
199
200 sqlite::SQLITE_LOCKED_SHAREDCACHE => Some(Self::Locked(LockedError::SharedCache)),
202 sqlite::SQLITE_LOCKED_VTAB => Some(Self::Locked(LockedError::VTab)),
203
204 sqlite::SQLITE_READONLY_RECOVERY => Some(Self::ReadOnly(ReadOnlyError::Recovery)),
206 sqlite::SQLITE_READONLY_CANTLOCK => Some(Self::ReadOnly(ReadOnlyError::CantLock)),
207 sqlite::SQLITE_READONLY_ROLLBACK => Some(Self::ReadOnly(ReadOnlyError::Rollback)),
208 sqlite::SQLITE_READONLY_DBMOVED => Some(Self::ReadOnly(ReadOnlyError::DbMoved)),
209 sqlite::SQLITE_READONLY_CANTINIT => Some(Self::ReadOnly(ReadOnlyError::CantInit)),
210 sqlite::SQLITE_READONLY_DIRECTORY => Some(Self::ReadOnly(ReadOnlyError::Directory)),
211
212 super::code::SQUIRE_ERROR_FETCH_PARSE => Some(Self::Fetch(FetchError::Parse)),
214 super::code::SQUIRE_ERROR_FETCH_RANGE => Some(Self::Fetch(FetchError::Range)),
215 super::code::SQUIRE_ERROR_PARAMETER_BIND => Some(Self::Parameter(ParameterError::Bind)),
216 super::code::SQUIRE_ERROR_PARAMETER_RANGE => {
217 Some(Self::Parameter(ParameterError::Range))
218 }
219 super::code::SQUIRE_ERROR_PARAMETER_RESOLVE => {
220 Some(Self::Parameter(ParameterError::Resolve))
221 }
222 super::code::SQUIRE_ERROR_PARAMETER_INVALID_INDEX => {
223 Some(Self::Parameter(ParameterError::InvalidIndex))
224 }
225 super::code::SQUIRE_ERROR_ROW_NOT_RETURNED => Some(Self::Row(RowError::NotReturned)),
226
227 _ => None,
228 }
229 }
230}
231
232#[derive(PartialEq, Eq, Copy, Clone, Debug)]
234#[repr(i32)]
235pub enum AbortError {
236 #[doc(alias = "SQLITE_ABORT_ROLLBACK")]
239 Rollback = sqlite::SQLITE_ABORT_ROLLBACK,
240}
241
242#[derive(PartialEq, Eq, Copy, Clone, Debug)]
244#[repr(i32)]
245pub enum AuthorizationError {
246 #[doc(alias = "SQLITE_AUTH_USER")]
249 User = sqlite::SQLITE_AUTH_USER,
250}
251
252#[derive(PartialEq, Eq, Copy, Clone, Debug)]
254#[repr(i32)]
255pub enum BusyError {
256 #[doc(alias = "SQLITE_BUSY_RECOVERY")]
259 Recovery = sqlite::SQLITE_BUSY_RECOVERY,
260
261 #[doc(alias = "SQLITE_BUSY_SNAPSHOT")]
265 Snapshot = sqlite::SQLITE_BUSY_SNAPSHOT,
266
267 #[doc(alias = "SQLITE_BUSY_TIMEOUT")]
270 Timeout = sqlite::SQLITE_BUSY_TIMEOUT,
271}
272
273#[derive(PartialEq, Eq, Copy, Clone, Debug)]
275#[repr(i32)]
276pub enum CantOpenError {
277 #[doc(alias = "SQLITE_CANTOPEN_FULLPATH")]
279 FullPath = sqlite::SQLITE_CANTOPEN_FULLPATH,
280
281 #[doc(alias = "SQLITE_CANTOPEN_ISDIR")]
283 IsDir = sqlite::SQLITE_CANTOPEN_ISDIR,
284
285 #[doc(alias = "SQLITE_CANTOPEN_NOTEMPDIR")]
287 #[deprecated]
288 NoTempDir = sqlite::SQLITE_CANTOPEN_NOTEMPDIR,
289
290 #[doc(alias = "SQLITE_CANTOPEN_CONVPATH")]
293 ConvPath = sqlite::SQLITE_CANTOPEN_CONVPATH,
294
295 #[doc(alias = "SQLITE_CANTOPEN_DIRTYWAL")]
297 #[deprecated]
298 DirtyWal = sqlite::SQLITE_CANTOPEN_DIRTYWAL,
299
300 #[doc(alias = "SQLITE_CANTOPEN_SYMLINK")]
302 Symlink = sqlite::SQLITE_CANTOPEN_SYMLINK,
303}
304
305#[derive(PartialEq, Eq, Copy, Clone, Debug)]
307#[repr(i32)]
308pub enum ConstraintError {
309 #[doc(alias = "SQLITE_CONSTRAINT_CHECK")]
311 Check = sqlite::SQLITE_CONSTRAINT_CHECK,
312
313 #[doc(alias = "SQLITE_CONSTRAINT_COMMITHOOK")]
316 CommitHook = sqlite::SQLITE_CONSTRAINT_COMMITHOOK,
317
318 #[doc(alias = "SQLITE_CONSTRAINT_DATATYPE")]
321 DataType = sqlite::SQLITE_CONSTRAINT_DATATYPE,
322
323 #[doc(alias = "SQLITE_CONSTRAINT_FOREIGNKEY")]
325 ForeignKey = sqlite::SQLITE_CONSTRAINT_FOREIGNKEY,
326
327 #[doc(alias = "SQLITE_CONSTRAINT_FUNCTION")]
329 Function = sqlite::SQLITE_CONSTRAINT_FUNCTION,
330
331 #[doc(alias = "SQLITE_CONSTRAINT_NOTNULL")]
333 NotNull = sqlite::SQLITE_CONSTRAINT_NOTNULL,
334
335 #[doc(alias = "SQLITE_CONSTRAINT_PINNED")]
338 Pinned = sqlite::SQLITE_CONSTRAINT_PINNED,
339
340 #[doc(alias = "SQLITE_CONSTRAINT_PRIMARYKEY")]
342 PrimaryKey = sqlite::SQLITE_CONSTRAINT_PRIMARYKEY,
343
344 #[doc(alias = "SQLITE_CONSTRAINT_ROWID")]
346 RowId = sqlite::SQLITE_CONSTRAINT_ROWID,
347
348 #[doc(alias = "SQLITE_CONSTRAINT_TRIGGER")]
350 Trigger = sqlite::SQLITE_CONSTRAINT_TRIGGER,
351
352 #[doc(alias = "SQLITE_CONSTRAINT_UNIQUE")]
354 Unique = sqlite::SQLITE_CONSTRAINT_UNIQUE,
355
356 #[doc(alias = "SQLITE_CONSTRAINT_VTAB")]
358 VTab = sqlite::SQLITE_CONSTRAINT_VTAB,
359}
360
361#[derive(PartialEq, Eq, Copy, Clone, Debug)]
363#[repr(i32)]
364pub enum CorruptError {
365 #[doc(alias = "SQLITE_CORRUPT_INDEX")]
367 Index = sqlite::SQLITE_CORRUPT_INDEX,
368
369 #[doc(alias = "SQLITE_CORRUPT_SEQUENCE")]
371 Sequence = sqlite::SQLITE_CORRUPT_SEQUENCE,
372
373 #[doc(alias = "SQLITE_CORRUPT_VTAB")]
376 VTab = sqlite::SQLITE_CORRUPT_VTAB,
377}
378
379#[derive(PartialEq, Eq, Copy, Clone, Debug)]
381#[repr(i32)]
382pub enum GeneralError {
383 #[doc(alias = "SQLITE_ERROR_MISSING_COLLSEQ")]
386 MissingCollSeq = sqlite::SQLITE_ERROR_MISSING_COLLSEQ,
387
388 #[doc(alias = "SQLITE_ERROR_RETRY")]
391 Retry = sqlite::SQLITE_ERROR_RETRY,
392
393 #[doc(alias = "SQLITE_ERROR_SNAPSHOT")]
396 Snapshot = sqlite::SQLITE_ERROR_SNAPSHOT,
397}
398
399#[derive(PartialEq, Eq, Copy, Clone, Debug)]
401#[repr(i32)]
402pub enum IoError {
403 #[doc(alias = "SQLITE_IOERR_READ")]
405 Read = sqlite::SQLITE_IOERR_READ,
406
407 #[doc(alias = "SQLITE_IOERR_WRITE")]
409 Write = sqlite::SQLITE_IOERR_WRITE,
410
411 #[doc(alias = "SQLITE_IOERR_FSYNC")]
414 FSync = sqlite::SQLITE_IOERR_FSYNC,
415
416 #[doc(alias = "SQLITE_IOERR_FSTAT")]
419 FStat = sqlite::SQLITE_IOERR_FSTAT,
420
421 #[doc(alias = "SQLITE_IOERR_TRUNCATE")]
423 Truncate = sqlite::SQLITE_IOERR_TRUNCATE,
424
425 #[doc(alias = "SQLITE_IOERR_UNLOCK")]
427 Unlock = sqlite::SQLITE_IOERR_UNLOCK,
428
429 #[doc(alias = "SQLITE_IOERR_RDLOCK")]
431 ReadLock = sqlite::SQLITE_IOERR_RDLOCK,
432
433 #[doc(alias = "SQLITE_IOERR_DELETE")]
435 Delete = sqlite::SQLITE_IOERR_DELETE,
436
437 #[doc(alias = "SQLITE_IOERR_BLOCKED")]
439 #[deprecated]
440 Blocked = sqlite::SQLITE_IOERR_BLOCKED,
441
442 #[doc(alias = "SQLITE_IOERR_NOMEM")]
445 NoMem = sqlite::SQLITE_IOERR_NOMEM,
446
447 #[doc(alias = "SQLITE_IOERR_ACCESS")]
449 Access = sqlite::SQLITE_IOERR_ACCESS,
450
451 #[doc(alias = "SQLITE_IOERR_CHECKRESERVEDLOCK")]
453 CheckReservedLock = sqlite::SQLITE_IOERR_CHECKRESERVEDLOCK,
454
455 #[doc(alias = "SQLITE_IOERR_LOCK")]
457 Lock = sqlite::SQLITE_IOERR_LOCK,
458
459 #[doc(alias = "SQLITE_IOERR_CLOSE")]
461 Close = sqlite::SQLITE_IOERR_CLOSE,
462
463 #[doc(alias = "SQLITE_IOERR_DIR_CLOSE")]
465 #[deprecated]
466 DirClose = sqlite::SQLITE_IOERR_DIR_CLOSE,
467
468 #[doc(alias = "SQLITE_IOERR_SHMOPEN")]
471 ShmOpen = sqlite::SQLITE_IOERR_SHMOPEN,
472
473 #[doc(alias = "SQLITE_IOERR_SHMSIZE")]
476 ShmSize = sqlite::SQLITE_IOERR_SHMSIZE,
477
478 #[doc(alias = "SQLITE_IOERR_SHMLOCK")]
480 #[deprecated]
481 ShmLock = sqlite::SQLITE_IOERR_SHMLOCK,
482
483 #[doc(alias = "SQLITE_IOERR_SHMMAP")]
486 ShmMap = sqlite::SQLITE_IOERR_SHMMAP,
487
488 #[doc(alias = "SQLITE_IOERR_SEEK")]
491 Seek = sqlite::SQLITE_IOERR_SEEK,
492
493 #[doc(alias = "SQLITE_IOERR_DELETE_NOENT")]
496 DeleteNoEnt = sqlite::SQLITE_IOERR_DELETE_NOENT,
497
498 #[doc(alias = "SQLITE_IOERR_MMAP")]
501 MMap = sqlite::SQLITE_IOERR_MMAP,
502
503 #[doc(alias = "SQLITE_IOERR_GETTEMPPATH")]
506 GetTempPath = sqlite::SQLITE_IOERR_GETTEMPPATH,
507
508 #[doc(alias = "SQLITE_IOERR_CONVPATH")]
511 ConvPath = sqlite::SQLITE_IOERR_CONVPATH,
512
513 #[doc(alias = "SQLITE_IOERR_VNODE")]
515 VNode = sqlite::SQLITE_IOERR_VNODE,
516
517 #[doc(alias = "SQLITE_IOERR_AUTH")]
519 Auth = sqlite::SQLITE_IOERR_AUTH,
520
521 #[doc(alias = "SQLITE_IOERR_BEGIN_ATOMIC")]
524 BeginAtomic = sqlite::SQLITE_IOERR_BEGIN_ATOMIC,
525
526 #[doc(alias = "SQLITE_IOERR_COMMIT_ATOMIC")]
529 CommitAtomic = sqlite::SQLITE_IOERR_COMMIT_ATOMIC,
530
531 #[doc(alias = "SQLITE_IOERR_ROLLBACK_ATOMIC")]
534 RollbackAtomic = sqlite::SQLITE_IOERR_ROLLBACK_ATOMIC,
535
536 #[doc(alias = "SQLITE_IOERR_DATA")]
539 Data = sqlite::SQLITE_IOERR_DATA,
540
541 #[doc(alias = "SQLITE_IOERR_CORRUPTFS")]
544 CorruptFS = sqlite::SQLITE_IOERR_CORRUPTFS,
545
546 #[doc(alias = "SQLITE_IOERR_SHORT_READ")]
549 ShortRead = sqlite::SQLITE_IOERR_SHORT_READ,
550
551 #[doc(alias = "SQLITE_IOERR_DIR_FSYNC")]
553 DirFSync = sqlite::SQLITE_IOERR_DIR_FSYNC,
554}
555
556#[derive(PartialEq, Eq, Copy, Clone, Debug)]
558#[repr(i32)]
559pub enum LockedError {
560 #[doc(alias = "SQLITE_LOCKED_SHAREDCACHE")]
563 SharedCache = sqlite::SQLITE_LOCKED_SHAREDCACHE,
564
565 #[doc(alias = "SQLITE_LOCKED_VTAB")]
567 VTab = sqlite::SQLITE_LOCKED_VTAB,
568}
569
570#[derive(PartialEq, Eq, Copy, Clone, Debug)]
572#[repr(i32)]
573pub enum ReadOnlyError {
574 #[doc(alias = "SQLITE_READONLY_RECOVERY")]
578 Recovery = sqlite::SQLITE_READONLY_RECOVERY,
579
580 #[doc(alias = "SQLITE_READONLY_CANTLOCK")]
583 CantLock = sqlite::SQLITE_READONLY_CANTLOCK,
584
585 #[doc(alias = "SQLITE_READONLY_ROLLBACK")]
588 Rollback = sqlite::SQLITE_READONLY_ROLLBACK,
589
590 #[doc(alias = "SQLITE_READONLY_DBMOVED")]
593 DbMoved = sqlite::SQLITE_READONLY_DBMOVED,
594
595 #[doc(alias = "SQLITE_READONLY_CANTINIT")]
599 CantInit = sqlite::SQLITE_READONLY_CANTINIT,
600
601 #[doc(alias = "SQLITE_READONLY_DIRECTORY")]
604 Directory = sqlite::SQLITE_READONLY_DIRECTORY,
605}
606
607#[derive(PartialEq, Eq, Copy, Clone, Debug)]
614#[repr(i32)]
615pub enum FetchError {
616 Parse = super::code::SQUIRE_ERROR_FETCH_PARSE,
619
620 Range = super::code::SQUIRE_ERROR_FETCH_RANGE,
624}
625
626#[derive(PartialEq, Eq, Copy, Clone, Debug)]
633#[repr(i32)]
634pub enum ParameterError {
635 Bind = super::code::SQUIRE_ERROR_PARAMETER_BIND,
638
639 Range = super::code::SQUIRE_ERROR_PARAMETER_RANGE,
643
644 Resolve = super::code::SQUIRE_ERROR_PARAMETER_RESOLVE,
647
648 InvalidIndex = super::code::SQUIRE_ERROR_PARAMETER_INVALID_INDEX,
651}
652
653#[derive(PartialEq, Eq, Copy, Clone, Debug)]
660#[repr(i32)]
661pub enum RowError {
662 NotReturned = super::code::SQUIRE_ERROR_ROW_NOT_RETURNED,
664}