Выполняет операцию с EXCLUSIVE LOCK

# CollectionFind::lockExclusive

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

CollectionFind::lockExclusive — Выполняет операцию с EXCLUSIVE LOCK

### Описание

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

Накладывает на документ исключительную блокировку. До тех пор, пока документ заблокирован, другие транзакции не могут обновлять документ, выполнять выражения `SELECT ... LOCK IN SHARE MODE` или читать данные на отдельных уровнях изоляции транзакций. Согласованные чтения игнорируют любые блокировки, установленные для записей, которые существуют в представлении чтения.

Чтобы не было проблем с конкурентным доступом, имеет смысл вызывать этот метод совместно с методом mysql_xdevapi\Collection::modify(). По существу, эта функция использует блокировки строк для сериализации доступа к строкам.

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

`lock_waiting_option`

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

  - `MYSQLX_LOCK_DEFAULT`

  - `MYSQLX_LOCK_NOWAIT`

  - `MYSQLX_LOCK_SKIP_LOCKED`

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

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

### Примеры

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

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

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

    $session->startTransaction();

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

    // ... выполняем операцию с объектом

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open