(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
Verrouille 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();
?>