CollectionFind::lockExclusive

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

CollectionFind::lockExclusiveEjecuta la operación con un BLOQUEO EXCLUSIVO

Descripción

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

Bloquea el documento de manera exclusiva. Mientras el documento está bloqueado, otras transacciones no pueden actualizar el documento, utilizar SELECT ... LOCK IN SHARE MODE, o leer los datos en ciertos niveles de aislamiento de transacción. Las lecturas coherentes ignoran los bloqueos establecidos en los registros que existen en la vista de lectura.

Para evitar problemas de concurrencia, es lógico utilizar esta función con el método mysql_xdevapi\Collection::modify(). Esencialmente, esta función utiliza bloqueos de línea para serializar el acceso a las líneas.

Parámetros

lock_waiting_option

Una opción de espera opcional. Por omisión, es MYSQLX_LOCK_DEFAULT. Los valores válidos son estas constantes:

Valores devueltos

Devuelve un objeto CollectionFind que puede ser utilizado para un procesamiento posterior.

Ejemplos

Ejemplo #1 Ejemplo 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();

// ... realizar una operación sobre el objeto

// Validar la transacción y desbloquear el documento
$session->commit();
?>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top