Do not use single-query recordcount method in MySQL installations

Description

While the COUNT(*) OVER() method for obtaining the recordcount as part of the main datamanager listing query works nicely in MariaDB, there seem to be some strange side-effects in MySQL installations, causing query sorting to fail in some instances.

In the absence of a solution for the MySQL behaviour, the enhanced rowcount method should only be applied to MariaDB databases.

In order to detect the vendor, all DB adapters should have their dbInfo query results passed in at instantiation and stored in the adapter for future reference.

MariaDB can be detected by the string "MariaDB" appearing in the database_version value, and the adapter can then choose its supportsCountOverWindowFunction() bahviour based on this information.

Environment

None
Your pinned fields
Click on the next to a field label to start pinning.

Assignee

Seb Duggan

Reporter

Seb Duggan

Accepted

Yes