CollectionFind::lockShared

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

CollectionFind::lockSharedExecuta a operação com SHARED LOCK

Descrição

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

Permite compartilhar os documentos entre múltiplas transações que estão travando em modo compartilhado.

Outras sessões podem ler as linhas, mas não podem modificá-las até que a transação seja efetivamente executada.

Se quaisquer destas linhas tiverem sido alteradas por outra transação que não tenha sido efetivamente executada, a consulta irá esperar até que a transação tenha terminado para ser capaz de usar os valores mais recentes.

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

Um objeto CollectionFind que pode ser usado para processamento adicional.

Exemplos

Example #1 Exemplo de 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();

// ... lê o objeto em modo compartilhado

// Completa a transação e destrava o documento
$session->commit();
?>