ヘッダーをスキップ
Oracle Call Interfaceプログラマーズ・ガイド
11g リリース1(11.1)
E05677-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

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

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

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

関数 用途

OCICacheUnmark()


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

OCIObjectMarkDelete()


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

OCIObjectMarkDeleteByRef()


参照によって指定されたオブジェクトに削除マークを設定します。

OCIObjectMarkUpdate()


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

OCIObjectUnmark()


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

OCIObjectUnmarkByRef()


参照によって指定されたオブジェクトのマークを解除します。



OCICacheUnmark()

用途

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

構文

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

パラメータ

env (IN/OUT)

オブジェクト・モードで初期化されたOCI環境ハンドルです。詳細は、OCIEnvCreate()および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()およびOCIInitialize()の説明を参照してください。

err (IN/OUT)

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

instance (IN)

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

コメント

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

永続オブジェクト

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

一時オブジェクト

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

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

関連関数

OCIObjectMarkDeleteByRef()OCIObjectGetProperty()


OCIObjectMarkDeleteByRef()

用途

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

構文

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

パラメータ

env (IN/OUT)

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

err (IN/OUT)

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

object_ref (IN)

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

コメント

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

永続オブジェクト

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

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

一時オブジェクト

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

関連関数

OCIObjectMarkDelete()OCIObjectGetProperty()


OCIObjectMarkUpdate()

用途

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

構文

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

パラメータ

env (IN/OUT)

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

err (IN/OUT)

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

object (IN)

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

コメント

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

永続オブジェクト

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

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

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

一時オブジェクト

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

値に対しては何も行われません。


関連項目:


この関数の使用方法の詳細は、「オブジェクトのマークおよび変更のフラッシュ」を参照してください。

関連関数

OCIObjectPin()OCIObjectGetProperty()OCIObjectIsDirty()OCIObjectUnmark()


OCIObjectUnmark()

用途

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

構文

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

パラメータ

env (IN/OUT)

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

err (IN/OUT)

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

object (IN)

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

コメント

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

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

値に対しては何も行われません。これは、値に対して関数をコールしても何も影響がないことを意味します。

関連関数

OCIObjectUnmarkByRef()


OCIObjectUnmarkByRef()

用途

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

構文

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

パラメータ

env (IN/OUT)

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

err (IN/OUT)

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

ref (IN)

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

コメント

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

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

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

値に対しては何も行われません。

関連関数

OCIObjectUnmark()