Many distributed databases do not support the MySQL get_lock()
function. In order to be able to support alternative databases in the future we need to abstract the use of get_lock()
to the configured PDO adapter.
Instead of calling get_lock()
directly all code should call a new getLock()
method on the current PDO adapter which will allow locking to be handled differently for each database type. All Matomo PDO adapters should be implementing core/Db/AdapterInterface
which can contain the new abstract method definition.
This should not change locking behavior for MySQL in any way.