Execute operation with EXCLUSIVE LOCK

- « CollectionFind::limit

- CollectionFind::lockShared »

- PHP Manual
- mysql_xdevapi\CollectionFind
- Execute operation with EXCLUSIVE LOCK

# CollectionFind::lockExclusive

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

CollectionFind::lockExclusive — Execute operation with EXCLUSIVE LOCK

### Description

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

Lock exclusively the document, other transactions are blocked from updating the document until the document is locked While the document is locked, other transactions are blocked from updating those docs, from doing SELECT ... LOCK IN SHARE MODE, or from reading the data in certain transaction isolation levels. Consistent reads ignore any locks set on the records that exist in the read view.

This feature is directly useful with the modify() command, to avoid concurrency problems. Basically, it serializes access to a row through row locking

### Parameters

`lock_waiting_option`

  Optional waiting option. By default it is `MYSQLX_LOCK_DEFAULT`. Valid values are these constants:

  - `MYSQLX_LOCK_DEFAULT`

  - `MYSQLX_LOCK_NOWAIT`

  - `MYSQLX_LOCK_SKIP_LOCKED`

### Return Values

Returns a CollectionFind object that can be used for further processing

### Examples

Example #1 mysql_xdevapi\CollectionFind::lockExclusive() example

    <?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();// ... do an operation on the object// Complete the transaction and unlock the document$session->commit();?>