関数はまず、各vproc上でローカルWRITEロックを取得しようとします。どのvprocもロックを取得できない場合、関数は値-2を戻し、すべてのロックを解放します。必要に応じて、呼び出しは再試行できます。ロックがすべてのvproc上で取得された後に、必要とされる範囲のメモリが、呼び出し元からすべてのvprocに送信されます。ロックは、すべてのコピーが更新されるまで解放されません。正常な呼び出しは、結果に対して0を戻します。いくつかの付加的な考慮事項を以下に示します。
- これは高価な操作です。この関数を頻繁に呼び出すことは避けてください。
- 適切な外部ルーチンがグローバル更新を実行するようにし、それらが相互にステップオーバーしないようにします。
- 最善の方法は、GLOPデータの何らかのタイプのバージョン情報を使用して、外部ルーチンが正しいバージョンを使用していることを確認することです。これは外部ルーチンに合わせる必要があります。
- グローバル コピーは、大量のデータを再配布するようには設計されていません。これは行を複製するためには使用しないでください。代わりに、大量のデータの再配布にはSQL文を使用してください。グローバル コピーをそのように使用すると、システム パフォーマンス面では妥協が必要になります。
- グローバル コピーは、特定のセット内の特定のGLOPデータのすべてのvproc (すべてのノード)上のすべてのデータについて、指定範囲を変更します。
- グローバル コピーは、型およびコンテキストと関連するすべてのvproc上のすべての既存のGLOPデータだけを変更します。この呼び出しに続いて追加のコンテキストが確立される場合、それらは初期GLOPコンテキストを持ちます。それ以降のGLOPデータは、グローバル コピー コマンドによる変更と同期させられることはありません。GLOPデータがトランザクション ベースの場合、それはトランザクションと関連するそれらのGLOPマッピングだけを更新します。データがユーザー ベースの場合、それはこのコマンドの実行時に現在マップされているユーザーと関連するすべてのGLOPマッピングを更新します。