Add in method to allow extensions to opt out of using temporary table… #15701
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
… when building ACL Contact Cache
Overview
This adds in getter and setter functions and a static class variable to determine if temporary table should be used when building the ACL contact Cache
Before
Temporary Table always used
After
Temporary table used by default unless class variable set to not
Technical Details
in AUG we use the Multisite extension and one of the permissions it adds is "View all Contacts in domain" which is separate from View All Contacts so the core code when say loading an mailing will trigger a cache build. In one of our domains we have > 400K contacts that users with the permission View all contacts in domain for that domain can see which means we can easily run into Temporary Table is full errors. This was after we had increased the tmp_table_size and max_heap_table_size variables. So this gives us a way of using either the multisite extension or some other extension telling it to not use a temporary table to build the ACL Contact Cache for these users
ping @eileenmcnaughton @mattwire @monishdeb