There are thousands of images made by a Canon EOS 300D in my database. But if I am searching for images taken by "EOS 300D" only 3 images are found. I am using a German digikam, so I hope my own translations will fit the real English words. STEPS TO REPRODUCE 1. Go to search view 2. Click "New Advanced Search" 3. Go to Image Information ("Fotoinformationen") 4. Select the camera model ("Das Modell der Kamera") "EOS 300D" 5. Click "OK" OBSERVED RESULT Only 3 images are found EXPECTED RESULT There should be 42072 (result of query in SQLiteBrowser on table "ImageMetadata") SOFTWARE/OS VERSIONS Windows: 22H2 Build 22621.1848 (available in About System) KDE Plasma Version: --- KDE Frameworks Version: 5.104.0 Qt Version: 5.15.8 digikam: - Build date: 12.04.2023 15:33 (target: RelWithDebInfo) - Revision: 66b84e1ba8f8003994fa398a669e1ccc4224a901 ADDITIONAL INFORMATION I noticed the following that makes me wonder. 1. The real database entries are make model Canon Canon EOS 300D DIGITAL But in the Advanced Search Dialog's drop down box there is "EOS 300D" only. 2. 42069 datasets are: make model Canon Canon EOS 300D DIGITAL But 3 datasets are: make model CANON CANON EOS 300D DIGITAL These 3 are exactly the images which are found. It seems that "CANON" and "Canon" makes the difference. 3. In the database are camera models like "dffdfg" or "erre" and makes like "gfgfgfgf" like "rg". These appear in the drop down box of the Advanced Search Dialog. But "Canon EOS 300D DIGITAL" or "CANON EOS 300D DIGITAL" do not appear, instead "EOS 300D" appears as model and "CANON" and "Canon" as make only.
I can't reproduce any problem, I also happen to have about 200 images from the EOS 300D in my collection and they all show up. When I select one of my Nikon cameras, thousands of images are listed. Are you sure you didn't accidentally activate another search criterion? By design we only list the camera model name, things like "Canon" or "Digital" will be removed. The database search is a "LIKE" search with wildcards. We need a DebugView log from searching with internal debugging enabled in digiKam Settings-> Miscellaneous-> System or set Qt debug environment variable. Described here: https://www.digikam.org/contribute/ Maik
Hello Maik, yes. I was wondering the same as you. So I tried it several times and I am sure I chose the right option. And not only that. I restarted digikam, I restarted my computer and I recreated the complete database. Always the same. Only "CANON" is found and "Canon" is not. And I checked the database table "ImageMetadata", hope it is the right one. Besides the DebugView, I can offer you to try to rewrite the Canon data entries to match the same notation via "update table" statement. Let me know if you want me to test it with the "update table" statement as well. The DebugView will follow in the next few days.
Created attachment 159786 [details] Log file In the join you will find ..."( ImageMetadata.model = ?)", where "?" is replaced by "CANON EOS 300D DIGITAL". So the case sensitivity is relevant. I tested the SQL with "( ImageMetadata.model like ? )" directly in the SQLiteBrowser. For my case this gives the correct results. All EOS 300D images are found.
Yes, you are right, the model search is not a "LIKE" search. I see the missing code, I'll fix it tonight. Maik
Git commit 2f96b96554911621b80be434145567a43f53815a by Maik Qualmann. Committed on 20/06/2023 at 16:36. Pushed by mqualmann into branch 'master'. use for camera model search a "LIKE" based query Related: bug 450611 FIXED-IN: 8.1.0 M +2 -1 NEWS M +2 -1 core/utilities/searchwindow/searchfields_createfield.cpp https://invent.kde.org/graphics/digikam/-/commit/2f96b96554911621b80be434145567a43f53815a