ConFoo 2025

CollectionFind::lockExclusive

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

CollectionFind::lockExclusiveFührt eine Operation mit EXCLUSIVE LOCK aus

Beschreibung

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

Sperrt das Dokument exklusiv. Solange das Dokument gesperrt ist, können andere Transaktionen das Dokument nicht aktualisieren, SELECT ... LOCK IN SHARE MODE verwenden oder die Daten in bestimmten Isolationsstufen der Transaktion lesen. Zusammenhängende Lesevorgänge ignorieren alle Sperren, die auf die in der Leseansicht vorhandenen Datensätze gesetzt sind.

Um Gleichzeitigkeitsprobleme zu vermeiden, ist es sinnvoll, diese Funktion zusammen mit der Methode mysql_xdevapi\Collection::modify() zu verwenden. Im Wesentlichen verwendet diese Funktion Zeilensperren, um den Zugriff auf Zeilen zu serialisieren.

Parameter-Liste

lock_waiting_option

Die optionale Warteoption. Voreingestellt ist MYSQLX_LOCK_DEFAULT. Folgende Konstanten sind zulässig:

Rückgabewerte

Gibt ein CollectionFind-Objekt zurück, das für die weitere Verarbeitung verwendet werden kann.

Beispiele

Beispiel #1 mysql_xdevapi\CollectionFind::lockExclusive()-Beispiel

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

// ... durchführen einer Operation am Objekt

// Abschließen der Transaktion und entsperren des Dokuments
$session->commit();
?>
add a note

User Contributed Notes

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