ここでは、トランザクションWebサービスで使用できる操作をリストします。
トランザクションWebサービスへのリクエストは、Request要素から構成されます。
操作 | 説明 |
---|---|
startOuterTransaction | 外部トランザクションを開始する操作。オプションで、OuterTransactionId要素でトランザクションIDを指定できます。
この操作に成功すると、外部トランザクションが開始し、トランザクションIDが返され、Dgraphプロセスがトランザクション・モードになります。 この操作が成功しない場合は、Dgraphプロセスは外部トランザクションを開始せず、トランザクションIDを返しません。 外部トランザクションが進行中の場合は、次のアクションが実行されます。
外部トランザクション内で適用された更新は、別のcommitOuterTransaction操作が正常に戻るまで、索引の発行済バージョンになりません。 |
listOuterTransaction | 実行中の外部トランザクションのIDをリクエストする操作。外部トランザクションが進行中の場合、この操作はそのIDを返します。 |
rollBackOuterTransaction | OuterTransactionIdToRollBack要素で指定されたIDの外部トランザクションをロールバックする操作。 |
commitOuterTransaction | 外部トランザクションを終了する操作。
指定されたIDを持つ外部トランザクションが進行中の場合、操作に成功すると、Dgraphプロセスはトランザクションをコミットし、トランザクション・モードを終了します。Dgraphプロセスは、修飾されていない問合せの受入れを再開します。すべてのノードに伝播される索引のバージョンが最後の発行済バージョンになります。 操作に成功しない場合、外部トランザクションはコミットされません。Dgraphプロセスは、トランザクションIDを参照した更新を適用しません。すべての問合せは、索引のトランザクション前のバージョンを引き続き使用します。 注意: 外部トランザクションのコミットに失敗した場合、そのトランザクションはオープンのままになり、失敗したトランザクションをコミットまたはロールバックするまで別の外部トランザクションを開始できません。Dgraphプロセスを停止せずに、トランザクションを手動でコミットし、トランザクションのIDを指定したrollBackOuterTransaction操作を使用して変更をロールバックできます。別の可能なシナリオで、Dgraphの失敗が原因で外部トランザクションがコミットできない場合、そのトランザクションは適用されないため、手動でロールバックする必要はありません。
|