mirror of
https://github.com/openfoodfacts/smooth-app.git
synced 2025-08-26 11:16:45 +08:00
chore: Migration to Dart 3.8 (#6668)
* Migration to Dart 3.8 * New GA * Fix dartdoc
This commit is contained in:
@ -23,24 +23,26 @@ class DaoWorkBarcode extends AbstractSqlDao {
|
||||
final int newVersion,
|
||||
) async {
|
||||
if (oldVersion < 3) {
|
||||
await db.execute('create table $_table('
|
||||
'$_columnWork TEXT NOT NULL'
|
||||
',$_columnBarcode TEXT NOT NULL'
|
||||
// cf. https://www.sqlite.org/lang_conflict.html
|
||||
',PRIMARY KEY($_columnWork,$_columnBarcode) on conflict replace'
|
||||
')');
|
||||
await db.execute(
|
||||
'create table $_table('
|
||||
'$_columnWork TEXT NOT NULL'
|
||||
',$_columnBarcode TEXT NOT NULL'
|
||||
// cf. https://www.sqlite.org/lang_conflict.html
|
||||
',PRIMARY KEY($_columnWork,$_columnBarcode) on conflict replace'
|
||||
')',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the number of barcodes for that work.
|
||||
Future<int> getCount(final String work) async {
|
||||
final List<Map<String, dynamic>> queryResults =
|
||||
await localDatabase.database.query(
|
||||
_table,
|
||||
columns: <String>['count(1) as my_count'],
|
||||
where: '$_columnWork = ?',
|
||||
whereArgs: <String>[work],
|
||||
);
|
||||
final List<Map<String, dynamic>> queryResults = await localDatabase.database
|
||||
.query(
|
||||
_table,
|
||||
columns: <String>['count(1) as my_count'],
|
||||
where: '$_columnWork = ?',
|
||||
whereArgs: <String>[work],
|
||||
);
|
||||
for (final Map<String, dynamic> row in queryResults) {
|
||||
return row['my_count'] as int;
|
||||
}
|
||||
@ -53,14 +55,14 @@ class DaoWorkBarcode extends AbstractSqlDao {
|
||||
final int pageSize,
|
||||
) async {
|
||||
final List<String> result = <String>[];
|
||||
final List<Map<String, dynamic>> queryResults =
|
||||
await localDatabase.database.query(
|
||||
_table,
|
||||
columns: <String>[_columnBarcode],
|
||||
where: '$_columnWork = ?',
|
||||
whereArgs: <String>[work],
|
||||
limit: pageSize,
|
||||
);
|
||||
final List<Map<String, dynamic>> queryResults = await localDatabase.database
|
||||
.query(
|
||||
_table,
|
||||
columns: <String>[_columnBarcode],
|
||||
where: '$_columnWork = ?',
|
||||
whereArgs: <String>[work],
|
||||
limit: pageSize,
|
||||
);
|
||||
for (final Map<String, dynamic> row in queryResults) {
|
||||
result.add(row[_columnBarcode] as String);
|
||||
}
|
||||
@ -71,11 +73,10 @@ class DaoWorkBarcode extends AbstractSqlDao {
|
||||
Future<int> putAll(
|
||||
final String work,
|
||||
final Iterable<String> barcodes,
|
||||
) async =>
|
||||
localDatabase.database.transaction(
|
||||
(final Transaction transaction) async =>
|
||||
_bulkInsert(transaction, work, barcodes),
|
||||
);
|
||||
) async => localDatabase.database.transaction(
|
||||
(final Transaction transaction) async =>
|
||||
_bulkInsert(transaction, work, barcodes),
|
||||
);
|
||||
|
||||
/// Returns the number of inserted rows by optimized bulk insert.
|
||||
Future<int> _bulkInsert(
|
||||
@ -117,12 +118,8 @@ class DaoWorkBarcode extends AbstractSqlDao {
|
||||
/// Deletes all barcodes for a given work.
|
||||
///
|
||||
/// Returns the number of rows deleted.
|
||||
Future<int> deleteWork(final String work) async =>
|
||||
localDatabase.database.delete(
|
||||
_table,
|
||||
where: '$_columnWork = ?',
|
||||
whereArgs: <String>[work],
|
||||
);
|
||||
Future<int> deleteWork(final String work) async => localDatabase.database
|
||||
.delete(_table, where: '$_columnWork = ?', whereArgs: <String>[work]);
|
||||
|
||||
/// Deletes all barcodes for a given work.
|
||||
///
|
||||
@ -130,11 +127,10 @@ class DaoWorkBarcode extends AbstractSqlDao {
|
||||
Future<int> deleteBarcodes(
|
||||
final String work,
|
||||
final Iterable<String> barcodes,
|
||||
) async =>
|
||||
localDatabase.database.transaction(
|
||||
(final Transaction transaction) async =>
|
||||
_bulkDelete(transaction, work, barcodes),
|
||||
);
|
||||
) async => localDatabase.database.transaction(
|
||||
(final Transaction transaction) async =>
|
||||
_bulkDelete(transaction, work, barcodes),
|
||||
);
|
||||
|
||||
/// Returns the number of deleted rows by optimized bulk delete.
|
||||
Future<int> _bulkDelete(
|
||||
@ -154,7 +150,8 @@ class DaoWorkBarcode extends AbstractSqlDao {
|
||||
}
|
||||
final int deleted = await databaseExecutor.delete(
|
||||
_table,
|
||||
where: '$_columnWork = ? '
|
||||
where:
|
||||
'$_columnWork = ? '
|
||||
'and $_columnBarcode in(?${',?' * (parameters.length - 2)})',
|
||||
whereArgs: parameters,
|
||||
);
|
||||
|
Reference in New Issue
Block a user