Browse Source

improvements query

Marino Faggiana 7 years ago
parent
commit
c24829ea27
1 changed files with 6 additions and 7 deletions
  1. 6 7
      iOSClient/Database/NCManageDatabase.swift

+ 6 - 7
iOSClient/Database/NCManageDatabase.swift

@@ -1791,15 +1791,14 @@ class NCManageDatabase: NSObject {
         if results != nil {
             
             // Prepare Predicate
-            var directoriesID: String = ""
+            var directoriesID: String = "IN {"
             for directory in results! {
-                
-                if directoriesID.characters.count > 0 {
-                    directoriesID = directoriesID + " OR "
-                }
-                directoriesID = directoriesID + "directoryID = '\(directory.directoryID)'"
+                directoriesID = directoriesID + "'\(directory.directoryID)',"
             }
-            let predicateStr = String(format: "account = '%@' AND (%@) AND session = '' AND type = 'file' AND (typeFile = '%@' OR typeFile = '%@')", tableAccount.account, directoriesID, k_metadataTypeFile_image, k_metadataTypeFile_video)
+            directoriesID = String(directoriesID.characters.dropLast(1))
+            directoriesID = directoriesID + "}"
+            
+            let predicateStr = String(format: "account = '%@' AND session = '' AND type = 'file' AND (typeFile = '%@' OR typeFile = '%@') AND directoryID %@", tableAccount.account, k_metadataTypeFile_image, k_metadataTypeFile_video, directoriesID)
             
             // Query
             let metadatas = realm.objects(tableMetadata.self).filter(NSPredicate(format: predicateStr)).sorted(byKeyPath: "date", ascending: false)