プライマリ・コンテンツに移動
Oracle® Call Interfaceプログラマーズ・ガイド
12c リリース1 (12.1)
B72465-07
目次へ移動
目次
索引へ移動
索引

前
次

OCIオブジェクトおよびキャッシュへのマークまたはマーク解除関数

表18-6は、この項で説明しているOCIオブジェクトおよびキャッシュへのマークまたはマーク解除関数を示しています。

表18-6 オブジェクトおよびキャッシュへのマークまたはマーク解除関数

関数 用途

「OCICacheUnmark()」

キャッシュ内のオブジェクトのマークを解除します。

「OCIObjectMarkDelete()」

オブジェクトに削除済のマークを付けるか、または、値インスタンスを削除します。

「OCIObjectMarkDeleteByRef()」

オブジェクトへの参照の指定時に、オブジェクトに削除済のマークを付けます。

「OCIObjectMarkUpdate()」

オブジェクトに更新済または使用済のマークを付けます。

「OCIObjectUnmark()」

オブジェクトのマークを解除します。

「OCIObjectUnmarkByRef()」

オブジェクトへの参照の指定時に、オブジェクトのマークを解除します。

OCICacheUnmark()

用途

オブジェクト・キャッシュ内のすべての使用済オブジェクトのマークを解除します。

構文

sword OCICacheUnmark ( OCIEnv            *env, 
                       OCIError          *err,
                       const OCISvcCtx   *svc );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

svc (IN)

OCIサービス・コンテキストです。

コメント

接続が指定された場合、この関数は、その接続内のすべての使用済オブジェクトのマークを解除します。それ以外の場合は、キャッシュ内のすべての使用済オブジェクトのマークを解除します。

関連項目:

オブジェクトのマーク解除の詳細は、「OCIObjectUnmark()」を参照してください

関連関数

OCIObjectUnmark()

OCIObjectMarkDelete()

用途

スタンドアロン・インスタンスへのポインタの指定時に、そのインスタンスに削除マークを設定します。

構文

sword OCIObjectMarkDelete ( OCIEnv        *env, 
                            OCIError      *err, 
                            void          *instance );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

instance (IN)

インスタンスへのポインタです。これはスタンドアロン型にする必要があり、オブジェクトの場合は確保されることも必要です。

コメント

この関数は、スタンドアロン・インスタンスへのポインタを受け取り、そのオブジェクトに削除マークを設定します。オブジェクトは、次の規則に従って解放されます。

永続オブジェクトの場合

オブジェクトに削除マークが設定されます。オブジェクトのメモリーは解放されません。オブジェクトは、そのオブジェクトがフラッシュされたときにサーバー内で削除されます。

一時オブジェクトの場合

オブジェクトに削除マークが設定されます。オブジェクトのメモリーは解放されません。

値の場合

この関数は、ただちに値を解放します。

OCIObjectMarkDeleteByRef()

用途

オブジェクトへの参照の指定時に、そのオブジェクトに削除マークを設定します。

構文

sword OCIObjectMarkDeleteByRef ( OCIEnv         *env, 
                                 OCIError       *err, 
                                 OCIRef         *object_ref );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

object_ref (IN)

削除されるオブジェクトへの参照です。

コメント

この関数は、オブジェクトへの参照を受け取り、object_refによって指定されたオブジェクトに削除マークを設定します。オブジェクトはマーク付けされて、次のように解放されます。

永続オブジェクトの場合

オブジェクトがロードされていない場合は、一時オブジェクトが作成され、それに対して削除マークが設定されます。それ以外の場合は、オブジェクトに削除マークが設定されます。

オブジェクトは、そのオブジェクトがフラッシュされたときにサーバー内で削除されます。

一時オブジェクトの場合

オブジェクトに削除マークが設定されます。オブジェクトは、確保が解除されるまで解放されません。

OCIObjectMarkUpdate()

永続オブジェクトに更新済(使用済)マークを設定します。

用途

永続オブジェクトに更新済(使用済)マークを設定します。

構文

sword OCIObjectMarkUpdate ( OCIEnv        *env,
                            OCIError      *err, 
                            void          *object );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

object (IN)

永続オブジェクトへのポインタです。すでに確保されていることが必要です。

コメント

この関数は、永続オブジェクトに更新済(使用済)マークを設定します。オブジェクトの型に応じて、次の規則が適用されます。オブジェクトの使用済状態は、OCIObjectIsLocked()をコールすることによりチェックできます。

永続オブジェクトの場合

この関数は、指定された永続オブジェクトに更新済マークを設定します。

オブジェクト・キャッシュがフラッシュされると、サーバーに永続オブジェクトを書き込みます。この関数は、オブジェクトのロックもフラッシュも行いません。削除済オブジェクトを更新しようとすると、エラーが発生します。

オブジェクトの更新済マークの設定とフラッシュが実行された後、オブジェクトがフラッシュ後も使用済になっている場合は、この関数を再度コールしてオブジェクトに更新済マークを設定する必要があります。

一時オブジェクトの場合

この関数は、指定された一時オブジェクトに更新済マークを設定します。一時オブジェクトは、サーバーには書き込まれません。削除済オブジェクトを更新しようとすると、エラーが発生します。

値の場合

この関数は、値に対しては何も行われません。

OCIObjectUnmark()

用途

オブジェクトの使用済マークを解除します。

構文

sword OCIObjectUnmark ( OCIEnv       *env,
                        OCIError     *err,
                        void         *object );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

object (IN)

永続オブジェクトへのポインタです。確保されることが必要です。

コメント

永続オブジェクトと一時オブジェクト

この関数は、指定された永続オブジェクトの使用済マークを解除します。オブジェクトに対して行われた変更は、サーバーに書き込まれません。オブジェクトにロック・マークが設定されている場合は、ロックされたままになります。オブジェクトに対してこれまで実行された変更は、暗黙的に元に戻されません。

値の場合

この関数は、値に対してコールしても何も影響がありません。

OCIObjectUnmarkByRef()

用途

オブジェクトへのrefの指定時に、オブジェクトの使用済マークを解除します。

構文

sword OCIObjectUnmarkByRef ( OCIEnv      *env, 
                             OCIError    *err,
                             OCIRef      *ref );

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()OCIEnvNlsCreate()およびOCIInitialize() (非推奨)の説明を参照してください。

err (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

ref (IN)

オブジェクトの参照です。確保されることが必要です。

コメント

この関数は、オブジェクトの使用済マークを解除します。オブジェクトへのrefを引数として取ることを除けば、この関数はOCIObjectUnmark()と同じです。

永続オブジェクトと一時オブジェクト

この関数は、指定された永続オブジェクトの使用済マークを解除します。オブジェクトに対して行われた変更は、サーバーに書き込まれません。オブジェクトにロック・マークが設定されている場合は、ロックされたままになります。オブジェクトに対してこれまで実行された変更は、暗黙的に元に戻されません。

値の場合

この関数は、値に対しては何も行われません。

関連関数

OCIObjectUnmark()