PHP Conference China 2020

CollectionFind::lockShared

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

CollectionFind::lockSharedSHARED LOCK 付きで操作を実行する

説明

public mysql_xdevapi\CollectionFind::lockShared ([ integer $lock_waiting_option ] ) : mysql_xdevapi\CollectionFind

ロックを共有モードで使う複数のトランザクション間で、ドキュメントを共有することができます。

他のセッションからは行を読めますが、あなたがトランザクションをコミットするまで変更できません。

もしまだコミットしていない別のトランザクションから、これらの行が変更された場合、

あなたのクエリは、トランザクションが終了し、最新の値を使うまで待たされます。

パラメータ

lock_waiting_option

オプションで指定できる、ロック待ちのオプション。 デフォルトは MYSQLX_LOCK_DEFAULT です。 有効な値は以下のとおりです:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

返り値

後の処理で使える CollectionFind オブジェクトを返します。

例1 mysql_xdevapi\CollectionFind::lockShared() の例

<?php
$session 
mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema     $session->getSchema("addressbook");
$collection $schema->createCollection("people");

$session->startTransaction();

$result $collection
  
->find("age > 50")
  ->
lockShared()
  ->
execute();

// ... read the object in shared mode

// Complete the transaction and unlock the document
$session->commit();
?>
add a note add a note

User Contributed Notes

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