diff --git a/mobile/lib/db/ml/embeddings_db.dart b/mobile/lib/db/ml/clip_db.dart similarity index 93% rename from mobile/lib/db/ml/embeddings_db.dart rename to mobile/lib/db/ml/clip_db.dart index 9c362b3d66..846fdef512 100644 --- a/mobile/lib/db/ml/embeddings_db.dart +++ b/mobile/lib/db/ml/clip_db.dart @@ -6,8 +6,9 @@ import "package:photos/db/ml/db.dart"; import "package:photos/db/ml/db_fields.dart"; import "package:photos/events/embedding_updated_event.dart"; import "package:photos/models/ml/clip.dart"; +import "package:photos/models/ml/ml_versions.dart"; -extension EmbeddingsDB on MLDataDB { +extension ClipDB on MLDataDB { static const databaseName = "ente.embeddings.db"; Future> getAll() async { @@ -28,10 +29,12 @@ extension EmbeddingsDB on MLDataDB { return result; } - Future getClipIndexedFileCount() async { + Future getClipIndexedFileCount({ + int minimumMlVersion = clipMlVersion, + }) async { final db = await MLDataDB.instance.asyncDB; - const String query = - 'SELECT COUNT(DISTINCT $fileIDColumn) as count FROM $clipTable'; + final String query = + 'SELECT COUNT(DISTINCT $fileIDColumn) as count FROM $clipTable WHERE $mlVersionColumn >= $minimumMlVersion'; final List> maps = await db.getAll(query); return maps.first['count'] as int; } diff --git a/mobile/lib/services/machine_learning/face_ml/face_recognition_service.dart b/mobile/lib/services/machine_learning/face_ml/face_recognition_service.dart index f2a6f03e31..1db2dfed18 100644 --- a/mobile/lib/services/machine_learning/face_ml/face_recognition_service.dart +++ b/mobile/lib/services/machine_learning/face_ml/face_recognition_service.dart @@ -5,8 +5,8 @@ import "dart:ui" show Image; import "package:logging/logging.dart"; import "package:photos/core/event_bus.dart"; +import "package:photos/db/ml/clip_db.dart"; import "package:photos/db/ml/db.dart"; -import "package:photos/db/ml/embeddings_db.dart"; import "package:photos/events/diff_sync_complete_event.dart"; import "package:photos/events/people_changed_event.dart"; import "package:photos/extensions/list.dart"; diff --git a/mobile/lib/services/machine_learning/semantic_search/semantic_search_service.dart b/mobile/lib/services/machine_learning/semantic_search/semantic_search_service.dart index 3efa3f410a..af345aefb0 100644 --- a/mobile/lib/services/machine_learning/semantic_search/semantic_search_service.dart +++ b/mobile/lib/services/machine_learning/semantic_search/semantic_search_service.dart @@ -9,8 +9,8 @@ import "package:logging/logging.dart"; import "package:photos/core/cache/lru_map.dart"; import "package:photos/core/event_bus.dart"; import "package:photos/db/files_db.dart"; +import "package:photos/db/ml/clip_db.dart"; import "package:photos/db/ml/db.dart"; -import "package:photos/db/ml/embeddings_db.dart"; import 'package:photos/events/embedding_updated_event.dart'; import "package:photos/models/file/file.dart"; import "package:photos/models/ml/clip.dart"; diff --git a/mobile/lib/utils/ml_util.dart b/mobile/lib/utils/ml_util.dart index dffca632bd..d50555d38a 100644 --- a/mobile/lib/utils/ml_util.dart +++ b/mobile/lib/utils/ml_util.dart @@ -6,8 +6,8 @@ import "package:flutter/services.dart" show PlatformException; import "package:logging/logging.dart"; import "package:photos/core/configuration.dart"; import "package:photos/db/files_db.dart"; +import "package:photos/db/ml/clip_db.dart"; import "package:photos/db/ml/db.dart"; -import "package:photos/db/ml/embeddings_db.dart"; import "package:photos/models/file/extensions/file_props.dart"; import "package:photos/models/file/file.dart"; import "package:photos/models/file/file_type.dart"; @@ -51,8 +51,7 @@ class FileMLInstruction { Future getIndexStatus() async { try { final int indexableFiles = (await getIndexableFileIDs()).length; - final int facesIndexedFiles = - await MLDataDB.instance.getIndexedFileCount(); + final int facesIndexedFiles = await MLDataDB.instance.getIndexedFileCount(); final int clipIndexedFiles = await MLDataDB.instance.getClipIndexedFileCount(); final int indexedFiles = math.min(facesIndexedFiles, clipIndexedFiles);