この Natural プロファイルおよびセッションパラメータは、Natural アプリケーション内で取得可能なデータベースレコードの数を制限するために使用します。 この制限は、データベースからレコードを取得するすべてのステートメント、つまり次のステートメントに適用されます。
単一レコードのみを取得するステートメント(FIND UNIQUE
、FIND NUMBER
、FIND FIRST
、GET
(SAME
)、SELECT SINGLE
など)
取得レコードはすべてカウントされ、カウント結果が LT
制限と比較されます。 カウントには、FIND
、READ
、または HISTOGRAM
ステートメントの WHERE
節で拒否されたレコードも含まれます。 LT
制限は、ステートメント STORE
、UPDATE
、DELETE
、END TRANSACTION
、および BACKOUT TRANSACTION
には影響しません。
Natural セッション内で、プロファイルパラメータ LT
をセッションパラメータ LT
で上書きできます。
レコードがデータベースから取得されると、取得レコードのカウントが増加し、その後で LT
パラメータの現在の値と比較されます。 増加したカウントが現在の LT
値を超過した場合、Natural エラー NAT1003("データベースコールに対するグローバルリミットに達しました")が発生します。 Natural プログラムがレベル 1 で起動されるたびに取得レコードのカウントがゼロにリセットされます。
レベル 1 のプログラムが別の Natural オブジェクトを呼び出した場合は、カウントはリセットされません(『プログラミングガイド』の「呼び出されるオブジェクトの複数レベル」を参照)。 したがって、LT
パラメータでは、レベル 1 のプログラムによってデータベースから取得されたレコードの数と、そのプログラムによって 1 以外のレベルで呼び出されたオブジェクトの数を制限します。
LT
パラメータの値が SET GLOBALS LT=n
ステートメントを使用してプログラム内でダイナミックに変更された場合、データベースからレコードを取得する次のステートメントで新しい制限値が有効になります。
可能な設定 | 0 - 2147483647
セッション内: (セッション開始時は |
取得可能なレコードの最大数。 すべての取得レコード(
|
|
---|---|---|---|
デフォルト設定 | 99999999 |
||
ダイナミックな指定 | 可 | ||
セッション内の指定 | 可 | 適用可能なステートメント: | SET GLOBALS (注参照)
|
適用可能なコマンド: | GLOBALS (注参照)
|
||
アプリケーションプログラミングインターフェイス | USR1005N |
『ユーティリティ』ドキュメントの「SYSEXT - Natural アプリケーションプログラミングインターフェイス」を参照してください。 |
注意:LT
パラメータをステートメント SET GLOBALS
またはシステムコマンド GLOBALS
と組み合わせて使用する場合、設定する制限値は Natural パラメータモジュール NATPARM
で定義された LT
値を超えないようにする必要があります。