Как реализовать протокол блокировки отметки времени в mysql / любой другой СУБД - PullRequest
1 голос
/ 26 мая 2020

Я прочитал несколько руководств и кое-что понял о протоколах блокировки и, наконец, начал разбираться в сериализуемости

Я создаю небольшую структуру и библиотеку, которая использует шаблон DAO. Я пишу в PHP.

Я уже создал простой компонент транзакции, который выполняет базовые c методы и блокирует строки, то есть dbms agnosti c, поэтому я мог вызывать методы:

$transact = $sql->transaction();
$transact->begin();
$sql->query()
    ->select(*)
    ->from('User')
    ->where('id','=',$id)
    ->lock('exclusive')
    ->get();
$transact->commit();

Я знаю, что протоколы на основе блокировки могут быть реализованы в mysql с помощью оператора FOR UPDATE или LOCK IN SHARED MODE, но как явно назначить временную метку транзакции? Или в этом нет необходимости?

СУБД делает это автоматически?

Я поискал в Интернете и не нашел практической информации о том, как реализовать это вручную, если было несколько транзакций, не знаю, с чего начать

...