(No version information available, might only be in Git)
CollectionFind::lockExclusive — Executa a operação com EXCLUSIVE LOCK
$lock_waiting_option
= ?): mysql_xdevapi\CollectionFind
Trava o documento de forma exclusiva.
Enquanto o documento estiver travado,
outras transações não podem atualizá-lo,
use SELECT ... LOCK IN SHARE MODE
,
ou leia os dados em certos níveis de isolamento de transação.
Leituras consistentes ignoram qualquer trava definida em registros que existem na visualização de leitura.
Para evitar problemas de concorrência, faz sentido usar esta função com o método mysql_xdevapi\Collection::modify() Essencialmente, esta função usa travas de registros para serializar acesso a eles.
lock_waiting_option
Parâmetro opcional de espera. Por padrão é MYSQLX_LOCK_DEFAULT
. Valores válidos são estas constantes:
Retorna um objeto CollectionFind que pode ser usado para processamento adicional.
Exemplo #1 Exemplo de 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();
// ... faz uma operação com o objeto
// Completa a transação e destrava o documento
$session->commit();
?>