[mob][photos] Better db query
This commit is contained in:
parent
e9392d8f33
commit
7f358c4bff
2 changed files with 14 additions and 18 deletions
|
@ -130,18 +130,12 @@ class FaceMLDataDB {
|
|||
/// Returns a map of fileID to the indexed ML version
|
||||
Future<Map<int, int>> getIndexedFileIds({int? minimumMlVersion}) async {
|
||||
final db = await instance.asyncDB;
|
||||
late final String query;
|
||||
String query = '''
|
||||
SELECT $fileIDColumn, $mlVersionColumn
|
||||
FROM $facesTable
|
||||
''';
|
||||
if (minimumMlVersion != null) {
|
||||
query = '''
|
||||
SELECT $fileIDColumn, $mlVersionColumn
|
||||
FROM $facesTable
|
||||
WHERE $mlVersionColumn >= $minimumMlVersion
|
||||
''';
|
||||
} else {
|
||||
query = '''
|
||||
SELECT $fileIDColumn, $mlVersionColumn
|
||||
FROM $facesTable
|
||||
''';
|
||||
query += ' WHERE $mlVersionColumn >= $minimumMlVersion';
|
||||
}
|
||||
final List<Map<String, dynamic>> maps = await db.getAll(query);
|
||||
final Map<int, int> result = {};
|
||||
|
@ -151,11 +145,14 @@ class FaceMLDataDB {
|
|||
return result;
|
||||
}
|
||||
|
||||
Future<int> getIndexedFileCount() async {
|
||||
Future<int> getIndexedFileCount({int? minimumMlVersion}) async {
|
||||
final db = await instance.asyncDB;
|
||||
final List<Map<String, dynamic>> maps = await db.getAll(
|
||||
'SELECT COUNT(DISTINCT $fileIDColumn) as count FROM $facesTable',
|
||||
);
|
||||
String query =
|
||||
'SELECT COUNT(DISTINCT $fileIDColumn) as count FROM $facesTable';
|
||||
if (minimumMlVersion != null) {
|
||||
query += ' WHERE $mlVersionColumn >= $minimumMlVersion';
|
||||
}
|
||||
final List<Map<String, dynamic>> maps = await db.getAll(query);
|
||||
return maps.first['count'] as int;
|
||||
}
|
||||
|
||||
|
|
|
@ -1424,9 +1424,8 @@ class FaceMlService {
|
|||
indexableFiles.add(enteFile);
|
||||
}
|
||||
|
||||
final Map<int, int> alreadyIndexedFiles = await FaceMLDataDB.instance
|
||||
.getIndexedFileIds(minimumMlVersion: faceMlVersion);
|
||||
final int alreadyIndexedCount = alreadyIndexedFiles.length;
|
||||
final int alreadyIndexedCount = await FaceMLDataDB.instance
|
||||
.getIndexedFileCount(minimumMlVersion: faceMlVersion);
|
||||
final int totalIndexableCount = indexableFiles.length;
|
||||
final ratio = alreadyIndexedCount / totalIndexableCount;
|
||||
w?.log('getIndexedDoneRatio');
|
||||
|
|
Loading…
Add table
Reference in a new issue