New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not all contacts appear in search #328
Comments
It seems that it has something to do with the selection in which fields it should search. When I select all fields the contact does not show up, when I de-select "all fields" it shows up.. Strange |
Hello, can you please elaborate a bit more on the issue:
|
Hello Thanks for the fast answer! I sadly cannot share the vCard due to EU GDPR. But it was just first- & lastname, E-Mail address, telephone and some lines in the notes filled out. |
Well a dummy vcard that shows the problem would be fine for me, too. Or you could alter the strings. When you flick the all search fields switch, the stored VCard will be searched. For the other attributes (firstname, surname, name, email), there are dedicated DB columns so in case all fields is deselected these columns will be searched instead of matching the entire vcard. With "all fields", it basically does not matter where inside the VCard the search string occurs, it can even be outside the payload data. So essentially when searching with "all fields" enabled for the string "stil" you would get a WHERE clause like: Unfortunately, I cannot reproduce the issue on my end, it seems to work as expected. I tried this with postgres.
|
Thanks again for your answer! When I search with all fields selected: When I deselect all fields (searching: showed name, first-name, last-name, E-Mail) Later: I have tried to insert "Moti" into the notes field => Search all fields selected => Search term "Moti" => is not found. That's really strange as it should return the elements if all the v-card fields are searched.... And I don't now if this helps: Should the search be case-sensitive? |
Thanks, I can reproduce. It's because the search pattern is lower-cased, and the search which should be case insensitive is not. It's one of the old parts of the code that does not use the database abstraction but creates SQL statements directly. I recently changed to use of case sensitive collations in MySQL to have uniform behavior across the different DB locations, but forgot to update this part of the code. This was broken with release 4.0.1. |
Glad that we have located the bug! Your plugin is really a great piece of work and makes Roundcube really worth it :) Thanks for your effort! |
Thanks, I'm happy you like the plugin. I have fixed this on the 4.1 branch, but it is quite a big refactoring because I now replaced all leftover direct SQL uses in the plugin; so chances are I broke something else. I want to create a couple of more test cases also for these topics before releasing 4.1, so this issue may still remain open for a while. But if you want you can try the 4.1 branch, which is done concerning features and only needs some more testing. |
I have setup a CardDAV adressbook with about 4867 adressbook entries. Strangley not all adressbook entires appear in Roundcube. The changes of the entries of the adressbook appear in the original adressbook tough...
What could this problem be?
The text was updated successfully, but these errors were encountered: