2.9.4 排他自動解除機能
排他自動解除機能とは,SDBデータベースを操作するAPIまたはDMLで,SDBデータベースを操作した結果,レコード位置指示子が指さなくなったレコード実現値を格納するページに対する排他を,APIまたはDMLの操作完了時に解除する機能です。
なお,複数レコードの検索時に排他自動解除機能を適用すると,複数レコードの検索の結果,検索対象のファミリが移動した場合に,移動元のファミリのルートレコード実現値を格納するページに対する排他を解除する機能となります。
排他自動解除機能を使用しない場合は,トランザクション内で一度確保された排他は,トランザクションが終了するまで保持されます。
排他自動解除機能の選択基準を次の表に示します。
排他自動解除機能 |
選択基準 |
---|---|
使用する |
|
使用しない |
■4V FMBまたは4V AFMのSDBデータベースの場合
■SD FMBのSDBデータベースの場合
|
(1) 適用方法
4V FMBまたは4V AFMのSDBデータベースに対して排他自動解除機能を適用する場合は,マニュアル「TP1/Financial Service Platform 使用の手引」の「SDBハンドラ機能」の「排他制御」を参照してください。排他自動解除機能は,TP1/FSPの個別開始時に指定する排他パラメタの排他モード2で指定します。
SD FMBのSDBデータベースに対して排他自動解除機能を適用する場合は,SDB用UAP環境定義にlockrangeオペランドを指定します。SDB用UAP環境定義については,「9.3 SDB用UAP環境定義【SD FMB】」を参照してください。
(2) SDBデータベースを操作するAPIまたはDMLと,データページの排他解除の有無の関係
SDBデータベースを操作するAPIまたはDMLと,データページ(ページまたはサブページ)の排他解除の有無(排他自動解除機能の対象となるデータページ)の関係については,「付録L SDBデータベースを操作するAPIまたはDMLと,データページの排他解除の有無の関係」を参照してください。
(3) 注意事項
■4V FMBまたは4V AFMのSDBデータベースの場合
-
個別開始から個別終了までの間に,SDBデータベースを操作するAPIで,排他自動解除機能の適用の有無を一致させる必要があります。
-
排他自動解除機能の対象となるかどうかは,SDBデータベースを操作するAPIの排他モード1の指定('S'(共用モード),'E'(排他モード),および'O'(占有モード))に依存しません。
-
次の場合,排他自動解除機能は適用されません。
-
TAMのデータベースの無排他検索機能が適用される検索(FETCH),および構成情報取得
-
SDBデータベースを操作するAPIの排他モード1に'N'(無排他モード)を指定している検索(FETCH),および構成情報取得
-
■SD FMBのSDBデータベースの場合
-
排他自動解除機能の対象となるかどうかは,レコードの検索(FETCH)または位置指示子の位置づけ(FIND)のFOR UPDATEオペランドの指定に依存しません。
-
SDB用UAP環境定義のsubschemaオペランドの-eオプションにnonprotectedを指定している場合,排他自動解除機能は適用されません。