Bug 1232767

Summary: Address book fails to find multiple contacts
Product: Red Hat Enterprise Linux 7 Reporter: Vadim Rutkovsky <vrutkovs>
Component: evolution-data-serverAssignee: Milan Crha <mcrha>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.2CC: mcrha, vbenes
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: evolution-data-server-3.12.11-17.el7 Doc Type: Bug Fix
Doc Text:
Cause: address book fails to find duplicate contact with the same name when only one has an email set on the contact save Consequence: the merge dialog is not offered Fix: correct an SQL statement of the local summary to properly JOIN multiple results, thus none is missed Result: the merge dialog is shown when an attempt to save a contact with the same name and an email address is already saved in the address book
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-19 07:59:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vadim Rutkovsky 2015-06-17 12:54:17 UTC
Description of problem:
No merge dialog appears if contacts have a duplicate name, but one of them has emails set

Version-Release number of selected component (if applicable):
evolution-ews-3.12.11-4.el7.x86_64

How reproducible:
Always

Steps to Reproduce:
  Scenario: Merge an empty contact and contact with email        
    * Open Evolution via command and setup Exchange 2007 account 
    * Open "Contacts" section                                    
    * Select "Contacts" addressbook                              
    * Delete all contacts containing "Ford"                      
    * Create a new contact                                       
    * Set "Full Name..." in contact editor to "Bill Ford"        
    * Save the contact                                           
    * Refresh addressbook                                        
    * Create a new contact                                       
    * Set "Full Name..." in contact editor to "Bill Ford"        
    * Set emails in contact editor to                            
      | Field | Value                   |
      | Work  | bill.ford   |
      | Home  | billy_ford_72 |
      | Other | billford72    |
    * Save the contact                                

Actual results:
Duplicate Contact Detected dialod didn't appear, two contacts are saved

Expected results:
Duplicate contact dialog appear

Additional info:
This seems to work with Evolution adressbooks (e.g. local and Google) and happens on all Exchange versions

Comment 1 Milan Crha 2015-06-18 17:20:05 UTC
I am able to reproduce the failure with a local book as well. The problem is that the SQLite statement may use LEFT OUTER JOIN instead of an alone JOIN, then it works as expected. I guess the trick is to have another contact with an email which begins with the same "user" part of the email in the database. Like I use email "a" and it was searching for "a" in the database.

Comment 3 Vadim Rutkovsky 2015-09-07 11:06:14 UTC
Works correctly in evolution-data-server-3.12.11-23.el7.x86_64

Comment 4 errata-xmlrpc 2015-11-19 07:59:24 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-2226.html