DAO/APIv4 - Optimize ACL clauses
authorcolemanw <coleman@civicrm.org>
Mon, 18 Sep 2023 01:56:12 +0000 (21:56 -0400)
committercolemanw <coleman@civicrm.org>
Wed, 20 Sep 2023 11:30:24 +0000 (07:30 -0400)
commit77b6e5ac3377cd1bfb1ebbc18bc9925caf06ad38
tree81e909f7ce011d56cf74d5dc3d2d1423f3136d8b
parent918e583a146876fb42932a1d959796fd710b7b74
DAO/APIv4 - Optimize ACL clauses

Before: no values passed to BAO::addSelectWhereClause

After: $entityName and $conditions passed.
$entityName is rarely needed, but useful for dynamic entities like ECK.
$conditions contains field/value pairs gleaned from the WHERE clause or ON clause
  (depending on how the entity was added to the query)
21 files changed:
CRM/Activity/BAO/Activity.php
CRM/Case/BAO/Case.php
CRM/Case/BAO/CaseContact.php
CRM/Contact/BAO/Contact.php
CRM/Contact/BAO/Group.php
CRM/Contact/BAO/RelationshipCache.php
CRM/Contribute/BAO/ContributionSoft.php
CRM/Core/BAO/CustomValue.php
CRM/Core/BAO/File.php
CRM/Core/BAO/Note.php
CRM/Core/BAO/UFJoin.php
CRM/Core/BAO/UFMatch.php
CRM/Core/BAO/UserJob.php
CRM/Core/DAO.php
CRM/Price/BAO/LineItem.php
CRM/Queue/BAO/Queue.php
CRM/Utils/Hook.php
CRM/Utils/SQL.php
Civi/Api4/Query/Api4SelectQuery.php
ext/oauth-client/CRM/OAuth/BAO/OAuthContactToken.php
tests/phpunit/api/v4/Entity/ActivityTest.php