CollectionFind::lockExclusive
(No version information available, might only be in Git)
CollectionFind::lockExclusive — Executa a operação com EXCLUSIVE LOCK
Descrição
$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.
Parâmetros
lock_waiting_option
-
Parâmetro opcional de espera. Por padrão é
MYSQLX_LOCK_DEFAULT
. Valores válidos são estas constantes:
Valor Retornado
Retorna um objeto CollectionFind que pode ser usado para processamento adicional.
Exemplos
Example #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();
?>