Fix (unreleased) regression on report pager
authoreileen <emcnaughton@wikimedia.org>
Fri, 4 May 2018 04:38:22 +0000 (16:38 +1200)
committereileen <emcnaughton@wikimedia.org>
Tue, 8 May 2018 00:17:38 +0000 (12:17 +1200)
commitb040d4b600e400edcfd3273c701df73b116d123e
treef8a2866b38a6ef77cfc153e1c6126a26e7fbba29
parent58fe2d8be7f4de1daea04dd4f40ea9fa8a09e1ca
Fix (unreleased) regression on report pager

We recently added a patch to disable full group by before some queries that were not
compliant with that standard. That patch broke the report pager because later code relied on the
last issued query ALWAYS being the one that determined how many rows are retrived by the main query,
however, we were doing a query to check sql mode after the main query.

I could make a case for storing sql mode data somewhere sensible at the start of the session.
However, I think this fix is the right fix for the bug as it calculates the rows retrieved
/ retrievable immediately after the retrieval query, rather than 'at some later date when
we hope no other queries have run'. If is in the same function as the enableFullGroupBy so
only reports that ALSO run that will hit the line (ie. not reports that override buildRows)
CRM/Report/Form.php