mirror of
https://github.com/ente-io/ente.git
synced 2025-05-29 22:09:43 +00:00
40 lines
1.9 KiB
Dart
40 lines
1.9 KiB
Dart
enum SqliteAsyncConflictAlgorithm {
|
|
/// When a constraint violation occurs, an immediate ROLLBACK occurs,
|
|
/// thus ending the current transaction, and the command aborts with a
|
|
/// return code of SQLITE_CONSTRAINT. If no transaction is active
|
|
/// (other than the implied transaction that is created on every command)
|
|
/// then this algorithm works the same as ABORT.
|
|
rollback,
|
|
|
|
/// When a constraint violation occurs,no ROLLBACK is executed
|
|
/// so changes from prior commands within the same transaction
|
|
/// are preserved. This is the default behavior.
|
|
abort,
|
|
|
|
/// When a constraint violation occurs, the command aborts with a return
|
|
/// code SQLITE_CONSTRAINT. But any changes to the database that
|
|
/// the command made prior to encountering the constraint violation
|
|
/// are preserved and are not backed out.
|
|
fail,
|
|
|
|
/// When a constraint violation occurs, the one row that contains
|
|
/// the constraint violation is not inserted or changed.
|
|
/// But the command continues executing normally. Other rows before and
|
|
/// after the row that contained the constraint violation continue to be
|
|
/// inserted or updated normally. No error is returned.
|
|
ignore,
|
|
|
|
/// When a UNIQUE constraint violation occurs, the pre-existing rows that
|
|
/// are causing the constraint violation are removed prior to inserting
|
|
/// or updating the current row. Thus the insert or update always occurs.
|
|
/// The command continues executing normally. No error is returned.
|
|
/// If a NOT NULL constraint violation occurs, the NULL value is replaced
|
|
/// by the default value for that column. If the column has no default
|
|
/// value, then the ABORT algorithm is used. If a CHECK constraint
|
|
/// violation occurs then the IGNORE algorithm is used. When this conflict
|
|
/// resolution strategy deletes rows in order to satisfy a constraint,
|
|
/// it does not invoke delete triggers on those rows.
|
|
/// This behavior might change in a future release.
|
|
replace,
|
|
}
|