この項では、OCIオブジェクトおよびキャッシュへのマークまたはマーク解除関数について説明します。
表18-7 オブジェクトおよびキャッシュへのマークまたはマーク解除関数
関数 | 用途 |
---|---|
|
キャッシュ内のオブジェクトのマークを解除します。 |
|
オブジェクトに削除済のマークを付けます。または、値インスタンスを削除します。 |
|
参照によって指定されたオブジェクトに削除マークを設定します。 |
|
オブジェクトに更新済/使用済のマークを付けます。 |
|
オブジェクトのマークを解除します。 |
|
参照によって指定されたオブジェクトのマークを解除します。 |
用途
オブジェクト・キャッシュ内のすべての使用済オブジェクトのマークを解除します。
構文
sword OCICacheUnmark ( OCIEnv *env, OCIError *err, const OCISvcCtx *svc );
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()およびOCIInitialize()の説明を参照してください。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()
をコールして診断情報を取得します。
OCIサービス・コンテキストです。
コメント
接続が指定された場合、この関数は、その接続内のすべての使用済オブジェクトのマークを解除します。それ以外の場合は、キャッシュ内のすべての使用済オブジェクトのマークを解除します。
関連関数
用途
スタンドアロン・インスタンスへのポインタを指定して、そのインスタンスに削除マークを設定します。
構文
sword OCIObjectMarkDelete ( OCIEnv *env, OCIError *err, void *instance );
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()およびOCIInitialize()の説明を参照してください。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()
をコールして診断情報を取得します。
インスタンスへのポインタです。これはスタンドアロン型にする必要があり、オブジェクトの場合は確保されることも必要です。
コメント
この関数は、スタンドアロン・インスタンスへのポインタを受け取り、そのオブジェクトに削除マークを設定します。オブジェクトは、次の規則に従って解放されます。
オブジェクトに削除マークが設定されます。オブジェクトのメモリーは解放されません。オブジェクトは、そのオブジェクトがフラッシュされたときにサーバー内で削除されます。
オブジェクトに削除マークが設定されます。オブジェクトのメモリーは解放されません。
この関数は、ただちに値を解放します。
関連関数
OCIObjectMarkDeleteByRef()、OCIObjectGetProperty()
用途
オブジェクトへの参照を指定して、そのオブジェクトに削除マークを設定します。
構文
sword OCIObjectMarkDeleteByRef ( OCIEnv *env, OCIError *err, OCIRef *object_ref );
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()およびOCIInitialize()の説明を参照してください。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()
をコールして診断情報を取得します。
削除されるオブジェクトへの参照です。
コメント
この関数は、オブジェクトへの参照を受け取り、object_ref
によって指定されたオブジェクトに削除マークを設定します。オブジェクトはマーク付けされて、次のように解放されます。
オブジェクトがロードされていない場合は、一時オブジェクトが作成され、それに対して削除マークが設定されます。それ以外の場合は、オブジェクトに削除マークが設定されます。
オブジェクトは、そのオブジェクトがフラッシュされたときにサーバー内で削除されます。
オブジェクトに削除マークが設定されます。オブジェクトは、確保が解除されるまで解放されません。
関連関数
OCIObjectMarkDelete()、OCIObjectGetProperty()
用途
永続オブジェクトに更新済または使用済マークを設定します。
構文
sword OCIObjectMarkUpdate ( OCIEnv *env, OCIError *err, void *object );
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()およびOCIInitialize()の説明を参照してください。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()
をコールして診断情報を取得します。
永続オブジェクトへのポインタです。すでに確保されていることが必要です。
コメント
この関数は、永続オブジェクトに更新済または使用済マークを設定します。オブジェクトの型に応じて、次の規則が適用されます。オブジェクトの使用済状態は、OCIObjectIsLocked()をコールすることによりチェックできます。
この関数は、指定された永続オブジェクトに更新済マークを設定します。
永続オブジェクトは、オブジェクト・キャッシュがフラッシュされたときにサーバーに書き込まれます。この関数は、オブジェクトのロックもフラッシュも行いません。削除済オブジェクトを更新しようとすると、エラーが発生します。
オブジェクトの更新済マークの設定とフラッシュが実行された後、オブジェクトがフラッシュ後も使用済になっている場合は、この関数を再度コールしてオブジェクトに更新済マークを設定する必要があります。
この関数は、指定された一時オブジェクトに更新済マークを設定します。一時オブジェクトは、サーバーには書き込まれません。削除済オブジェクトを更新しようとすると、エラーが発生します。
値に対しては何も行われません。
関連関数
OCIObjectPin()、OCIObjectGetProperty()、OCIObjectIsDirty()、OCIObjectUnmark()
用途
オブジェクトの使用済マークを解除します。
構文
sword OCIObjectUnmark ( OCIEnv *env, OCIError *err, void *object );
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()およびOCIInitialize()の説明を参照してください。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()
をコールして診断情報を取得します。
永続オブジェクトへのポインタです。オブジェクトは確保されることが必要です。
コメント
この関数は、指定された永続オブジェクトの使用済マークを解除します。オブジェクトに対して行われた変更は、サーバーに書き込まれません。オブジェクトにロック・マークが設定されている場合は、ロックされたままになります。オブジェクトに対してこれまで実行された変更は、暗黙的に元に戻されます。
関連関数
用途
オブジェクトへのREF
を指定して、オブジェクトの使用済マークを解除します。
構文
sword OCIObjectUnmarkByRef ( OCIEnv *env, OCIError *err, OCIRef *ref );
パラメータ
オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()およびOCIInitialize()の説明を参照してください。
OCIエラー・ハンドルです。エラーがある場合は、err
に記録され、OCI_ERROR
が戻されます。OCIErrorGet()
をコールして診断情報を取得します。
オブジェクトの参照です。オブジェクトは確保されることが必要です。
コメント
この関数は、オブジェクトの使用済マークを解除します。オブジェクトへのREFを引数として取ることを除けば、この関数はOCIObjectUnmark()と同じです。
この関数は、指定された永続オブジェクトの使用済マークを解除します。オブジェクトに対して行われた変更は、サーバーに書き込まれません。オブジェクトにロック・マークが設定されている場合は、ロックされたままになります。オブジェクトに対してこれまで実行された変更は、暗黙的に元に戻されます。
値に対しては何も行われません。
関連関数