CRM-21412 Do not give fatal error on report when no fields selected #11259
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
This is a trivial fix to ensure that when a report that inherits the main 'select' function is rendered with no fields selected there is no hard error - by adding SELECT 1 instead of leaving the select clause missing.
Before
In some rare circumstances (especially when extension writers write reports) a report can be rendered with no fields selected for display. In this case a fatal db error occurs
After
Report shows empty rows but no hard fatal error
Technical Details
This is an upstream of a fix that has been in extended reports for some time.
Comments
I don't know of an obvious way to replicate it but I feel there is no risk of harm here (reports that do weird things manage their own selects) and it helps people writing custom reports.