[mob][photos] Create ConflictAlgorithm enum and stop using it from sqflite
This commit is contained in:
parent
18d68bbdf3
commit
ab9cef689d
|
@ -16,7 +16,8 @@ import "package:photos/models/metadata/common_keys.dart";
|
|||
import "package:photos/services/filter/db_filters.dart";
|
||||
import 'package:photos/utils/file_uploader_util.dart';
|
||||
import "package:photos/utils/primitive_wrapper.dart";
|
||||
import 'package:sqflite/sqflite.dart';
|
||||
import "package:photos/utils/sqlite_util.dart";
|
||||
// import 'package:sqflite/sqflite.dart';
|
||||
import 'package:sqlite_async/sqlite_async.dart' as sqlite_async;
|
||||
|
||||
class FilesDB {
|
||||
|
|
39
mobile/lib/utils/sqlite_util.dart
Normal file
39
mobile/lib/utils/sqlite_util.dart
Normal file
|
@ -0,0 +1,39 @@
|
|||
enum ConflictAlgorithm {
|
||||
/// 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,
|
||||
}
|
Loading…
Reference in a new issue