Oracle 8i Data Cartridge Developer's Guide
Release 2 (8.1.6)

Part Number A76937-01

Library

Product

Contents

Index

Go to previous page Go to beginning of chapter Go to next page

Reference: Cartridge Services Using C, 4 of 6


Cartridge Services -- Maintaining Context

Table 13-11 OCI Parameter Manager Interface Functions Quick Reference  
Function/Page  Purpose 

OCIContextSetValue() 

Save a value (or address) for a particular duration. 

OCIContextGetValue() 

Return the value stored in the context. 

OCIContextClearValue() 

Remove the value stored in the context. 

OCIContextGenerateKey() 

Returns a unique 4-byte value each time it is called. 

OCIContextSetValue()

Purpose

This call is used to save a value (or address) for a particular duration.

Syntax

sword OCIContextSetValue( dvoid       *hndl, 
                          OCIError    *err, 
                          OCIDuration duration, 
                          ub1         *key, 
                          ub1         keylen, 
                          dvoid       *ctx_value);

Parameters

hndl (IN)

The OCI environment or user session handle.

err (IN)

The error handle.

duration (IN)

One of the following (a previously created user duration):

OCI_DURATION_STATEMENT

OCI_DURATION_SESSION

key (IN)

Unique key value.

keylen (IN)

Length of the key. Maximum is 64 bits.

ctx_value (IN)

Pointer that will be saved in the context.

Comments

The context value being stored must be allocated out of memory of duration greater than or equal to the duration being passed in. The key being passed in should be unique in this session. Trying to save a context value under the same key and duration again will result in overwriting the old context value with the new one. Typically, a client will allocate a structure, store its address in the context using this call, and get this address in a separate call using OCIContextGetValue(). The (key, value) association can be explicitly removed by calling OCIContextClearValue() or else it will go away at the end of the duration.

Returns

OCIContextGetValue()

Purpose

This call is used to return the value that is stored in the context associated with the given key (by calling OCIContextSetValue()).

Syntax

sword OCIContextGetValue( dvoid      *hndl, 
                          OCIError   *err, 
                          ub1        *key, 
                          ub1        keylen, 
                          dvoid      **ctx_value);

Parameters

hndl (IN)

The OCI environment or user session handle.

err (IN)

The error handle.

key (IN)

Unique key value.

keylen (IN)

Length of the key. Maximum is 64 bits.

ctx_value (IN)

Pointer to the value stored in the context (NULL if no value was stored).

Comments

For ctx_value: a pointer to a preallocated pointer for the stored context to be returned is required.

Returns

OCIContextClearValue()

Purpose

This call is used to remove the value that is stored in the context associated with the given key (by calling OCIContextSetValue()).

Syntax

sword OCIContextClearValue( dvoid    *hndl, 
                            OCIError *err, 
                            ub1      *key, 
                            ub1      keylen);

Parameters

hndl (IN)

The OCI environment or user session handle.

err (IN)

The error handle.

key (IN)

Unique key value.

keylen (IN)

Length of the key. Maximum is 64 bits.

Comments

An error is returned when a non-existent key is passed.

Returns

OCIContextGenerateKey()

Purpose

This call will return a unique, 4-byte value each time it is called.

Syntax

sword OCIContextGenerateKey( dvoid    *hndl, 
                             OCIError *err, 
                             ub4      *key);

Parameters

hndl (IN)

The OCI environment or user session handle.

err (IN)

The error handle.

key (IN)

Unique key value.

keylen (IN)

Length of the key. Maximum is 64 bits.

Comments

This value is going to be unique on a per session basis.

Returns


Go to previous page Go to beginning of chapter Go to next page
Oracle
Copyright © 1996-2000, Oracle Corporation.

All Rights Reserved.

Library

Product

Contents

Index