Fix regression on CiviRules search due to exception handling #11829
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.
Overview
CiviRules is currently giving a fatal error on the civirules custom search. This is an Intra-rc regression found by @danielVV #11746 (comment)
Before
Fatal error on civirules custom search
After
custom search succeeds
Technical Details
When running CiviRules there is an incorrect sql query that runs in fillupPrevNextCache - a change in exception handling turned this into a fatal error. I've used the trapException parameter to make it non-fatal again.
Comments
I would prefer to have some sort of notice / deprecation warning when an invalid query is run here. If this were fixed in CiviRules then I think we could add that (seems like a bad idea when we know it will confuse rules users).
The issues with the query are
a) the alias for the contact table is contact not the usual (in our search framework) contact_a
b) it tries to order by
rule_label
and that fails (not quite sure why, I didn't dig).ping @jaapjansma @ErikHommel -
Huge thanks for @danielVV for identifying the issue while in the rc stage