MariaDB compatibility: don't use the START TRANSACTION READ ONLY syntax
switch to a stateful conversation protocol with separate to improve efficiency and so that we can differentiate between moving on and cutting down the range and trying again