can't ask for nested advisory locks with MySQL, so use a back-ported with_lock.