(No version information available, might only be in Git)
CollectionFind::lockExclusive — Exécute l'opération avec un VERROU EXCLUSIF
$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.
lock_waiting_option
Une option d'attente facultative. Par défaut, c'est MYSQLX_LOCK_DEFAULT
. Les valeurs valides sont ces constantes :
Renvoie un objet CollectionFind qui peut être utilisé pour un traitement ultérieur.
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();
?>