PHP 8.4.2 Released!

CollectionFind::lockExclusive

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

CollectionFind::lockExclusiveExécute l'opération avec un VERROU EXCLUSIF

Description

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

Vérouille le document de manière exclusive. Tant que le document est verrouillé, d'autres transactions ne peuvent pas mettre à jour le document, utiliser SELECT ... LOCK IN SHARE MODE, ou lire les données dans certains niveaux d'isolation de transaction. Les lectures cohérentes ignorent les verrous définis sur les enregistrements qui existent dans la vue de lecture.

Pour éviter les problèmes de concurrence, il est logique d'utiliser cette fonction avec la méthode mysql_xdevapi\Collection::modify(). Essentiellement, cette fonction utilise des verrous de ligne pour sérialiser l'accès aux lignes.

Liste de paramètres

lock_waiting_option

Une option d'attente facultative. Par défaut, c'est MYSQLX_LOCK_DEFAULT. Les valeurs valides sont ces constantes :

Valeurs de retour

Renvoie un objet CollectionFind qui peut être utilisé pour un traitement ultérieur.

Exemples

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

// ... faire une opération sur l'objet

// Valider la transaction et déverrouiller le document
$session->commit();
?>
add a note

User Contributed Notes

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