CdbrEqlStatement::ChangeLockTypeメソッド

機能

ロック種別の変更

形式

DmaBoolean ChangeLockType(
 DmaInteger32       lLockType)

詳細

検索結果(edmSQL文の実行結果)として取得するオブジェクトに設定するロック種別を変更するメソッドです。

このメソッドで変更したロック種別は,CdbrEqlStatement::Executeメソッドのコール時に有効になります。

CdbrEqlStatement::Initializeメソッドがコールされていない状態でこのメソッドをコールすると,エラーになります。また,戻り値がDMA_FALSEの場合,設定したロック種別は保証できません。

引数

lLockType

検索結果(edmSQL文の実行結果)として取得したオブジェクトに設定するロックの種別を指定します。

次に示す値のどれかを指定してください。これら以外のロック種別を指定した場合にはエラーになります。

注意
  • DBR_WITHOUT_LOCKを指定した場合,検索(edmSQL文)実行時にデータベースはロックされません。このため,取得した結果のオブジェクトを使用する段階で,すでにデータベースの内容が書き換えられている可能性があります。取得結果のオブジェクトとデータベースのデータの整合性を確保したい場合は,ロックタイプを指定し,明示的にロックを設定するようにしてください。
  • DBR_LOCK_READ_FOR_UPDATEを指定した場合には,データベース内に作業表(検索結果の整合性を更新作業から守るために検索結果を一時的にコピーしておく作業領域)が作成されます。このため,DBR_LOCK_READを指定した場合より処理速度が遅くなる可能性があります。したがって,このロックタイプは,検索対象クラスを結合していて,かつ,取得した結果のオブジェクトを更新または削除する場合に限って使用するようにしてください。

戻り値

DMA_TRUE  正常終了

DMA_FALSE 異常終了

戻り値の詳細

major_codeminor_code説明対処
ERR_DBRERR_EQL_NOT_INITIALIZE初期化が実行されていません。初期化を実行してください。
ERR_DMADMARC_BAD_PARAMETER不正な引数が入力されました。正しい引数を指定してください。