Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

*GUID システム変数

*GUIDシステム変数を使用して、グローバル一意識別子を生成します。

*GUID では、GUID にメルセンヌ・ツイスタの &<a href="https://ja.wikipedia.org/wiki/%E6%93%AC%E4%BC%BC%E4%B9%B1%E6%95%B0" target="_blank" &>擬似乱数発生器&</a&> 擬似乱数発生器(PRNG) を使用します。これは、マシンのいかなる状態にも依存しません。例えば、MAC アドレスや現在の時間にも左右されません。また同時に、スレッドセーフです。この同じアルゴリズムが Windows、IBM i、Linux で使用されています。

メルセンヌ・ツイスタの PRNG では、非常に高質の擬似乱数の整数がすばやく生成され、それまでの PRNG で指摘されていた多くの欠点が大きく修正されて設計されたものです。この名前の由来は、その周期として &<a href="https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%AB%E3%82%BB%E3%83%B3%E3%83%8C%E6%95%B0" target="_blank" &>メルセンヌ素数&</a&>が選ばれたことによります。LANSA は、MT19937 を導入しています。詳細は、以下のリンクを参照してください。&<a href="https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%AB%E3%82%BB%E3%83%B3%E3%83%8C%E3%83%BB%E3%83%84%E3%82%A4%E3%82%B9%E3%82%BF" target="_blank" &>メルセンヌ・ツイスタ&</a&>注:十分な数に達すると メルセンヌ素数 が選ばれたことによります。LANSA は、MT19937 を導入しています。

詳細は、以下のリンクを参照してください。

メルセンヌ・ツイスタ 

Note

注意:十分な数に達すると (624)、未来の反復をすべて予測することが可能です。ですから、目的が暗号化の場合には適していません。

*GUIDは行の挿入時に一度だけ生成され、それ以降は更新されないようになっています。この役割を担うのが、提供されている標準フィールド、#STD_GUIDです。このフィールドにはトリガーがあります。このトリガーにより、挿入前にフィールドに*GUIDが割り当てられます。そして更新前に、トリガーがフィールドが変更されていないかを確認し、変更されていた場合は、ユーザー・エラーではなく、プログラム・レベルのエラーなので、中止されます。