Skip to content

Commit

Permalink
Merge from 4.7.18rc to master (#10075)
Browse files Browse the repository at this point in the history
* Minor test tidy up.

(this is actually because we need a commit to do a merge to master after the same commit was merged to both).

* CRM-20342: add 'view' Api action

* CRM-19385 revert changes to order by id on prevnext_cache.

After PR #10019 was merged @bhahumanists reported on #9801 that smart group ordering was broken. The
report is lacking detail and I could not replicate it, but am reverting the search changes for safety.

After this revert sites can still experiment with dropping/altering the primary key on
-civicrm_cache
-civicrm_group_contact_cache
-civicrm_acl_cache

But not civicrm_prevnext_cache.

Although I could not replicate the search issue it seems to me that our Ubuntu test suite
is failing where the other one is not on search-related items, suggesting that
for some reason Ubuntu does not default to the natural search order, due to
some config or other difference
  • Loading branch information
eileenmcnaughton authored Mar 29, 2017
1 parent e655358 commit 9b5914f
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
6 changes: 4 additions & 2 deletions CRM/Contact/BAO/Query.php
Original file line number Diff line number Diff line change
Expand Up @@ -4788,9 +4788,11 @@ public function getCachedContacts($cacheKey, $offset, $rowCount, $includeContact
$onlyDeleted = in_array(array('deleted_contacts', '=', '1', '0', '0'), $this->_params);
list($select, $from, $where) = $this->query(FALSE, FALSE, FALSE, $onlyDeleted);
$from = " FROM civicrm_prevnext_cache pnc INNER JOIN civicrm_contact contact_a ON contact_a.id = pnc.entity_id1 AND pnc.cacheKey = '$cacheKey' " . substr($from, 31);
$groupBy = self::getGroupByFromSelectColumns($this->_select, array('contact_a.id'));
$order = " ORDER BY pnc.id";
$groupByCol = array('contact_a.id', 'pnc.id');
$groupBy = self::getGroupByFromSelectColumns($this->_select, $groupByCol);
$limit = " LIMIT $offset, $rowCount";
$query = "$select $from $where $groupBy $limit";
$query = "$select $from $where $groupBy $order $limit";

return CRM_Core_DAO::executeQuery($query);
}
Expand Down
1 change: 1 addition & 0 deletions CRM/Core/BAO/PrevNextCache.php
Original file line number Diff line number Diff line change
Expand Up @@ -506,6 +506,7 @@ public static function getSelection($cacheKey, $action = 'get', $entity_table =
WHERE cacheKey LIKE %1
$actionGet
$entity_whereClause
ORDER BY id
";
$params[1] = array("{$cacheKey}%", 'String');

Expand Down

0 comments on commit 9b5914f

Please sign in to comment.