CollectionFind::lockShared

(No version information available, might only be in Git)

CollectionFind::lockSharedВыполняет операцию с SHARED LOCK

Описание

public function mysql_xdevapi\CollectionFind::lockShared(int $lock_waiting_option = ?): mysql_xdevapi\CollectionFind

Разрешает разделять документы между несколькими транзакциями, которые блокируются в режиме совместного доступа.

Другие сеансы могут читать строки, но не могут изменять их, пока ваша транзакция не будет зафиксирована.

Если какая-то из этих строк была изменена другой транзакцией, которая ещё не зафиксирована, запрос подождёт завершения этой транзакции, а затем использует зафиксированные значения.

Список параметров

lock_waiting_option

Дополнительная опция ожидания. По умолчанию имеет значение MYSQLX_LOCK_DEFAULT. Допустимые значения представлены константами:

Возвращаемые значения

Возвращает объект класса CollectionFind, с которым можно будет работать далее.

Примеры

Пример #1 Пример использования метода mysql_xdevapi\CollectionFind::lockShared()

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema     = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$session->startTransaction();

$result = $collection
  ->find("age > 50")
  ->lockShared()
  ->execute();

// ... читаем объект в режиме совместного доступа

// Завершаем транзакцию и разблокируем документ
$session->commit();
?>