CollectionFind::lockShared

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

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

Описание

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

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

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

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

ваш запрос подождет завершения этой транзакции, а затем использует самые последние значения.

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

lock_waiting_option

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

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

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

Объект 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();
?>