Do not geocode while merging, rely on existing values
authoreileen <emcnaughton@wikimedia.org>
Thu, 29 Aug 2019 01:23:13 +0000 (13:23 +1200)
committereileen <emcnaughton@wikimedia.org>
Thu, 29 Aug 2019 01:23:13 +0000 (13:23 +1200)
This is a performance fix when merging - on a batch merge job it can be kinda crazy & we already have
geocode data for the contacts

CRM/Dedupe/Merger.php

index 9e501f35f60c2a07f11f11f03d049543429ea0f0..5cf8efb99e1ff1b3789ccb165326d67923773512 100644 (file)
@@ -1181,7 +1181,11 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
             $locations[$moniker][$blockName][$cnt] = $value;
             // Fix address display
             if ($blockName == 'address') {
+              // For performance avoid geocoding while merging https://issues.civicrm.org/jira/browse/CRM-21786
+              // we can expect existing geocode values to be retained.
+              $value['skip_geocode'] = TRUE;
               CRM_Core_BAO_Address::fixAddress($value);
+              unset($value['skip_geocode']);
               $locations[$moniker][$blockName][$cnt]['display'] = CRM_Utils_Address::format($value);
             }
             // Fix email display