|Oracle Call Interface Programmer's Guide
Release 2 (9.2)
Part Number A96584-01
More OCI Relational Functions, 44 of 106
This call is used for an Advanced Queuing dequeue operation using the OCI.
sword OCIAQDeq ( OCISvcCtx *svch, OCIError *errh, text *queue_name, OCIAQDeqOptions *dequeue_options, OCIAQMsgProperties *message_properties, OCIType *payload_tdo, dvoid **payload, dvoid **payload_ind, OCIRaw **msgid, ub4 flags );
OCI service context.
An error handle you can pass to
OCIErrorGet() for diagnostic information in the event of an error.
The target queue for the dequeue operation.
The options for the dequeue operation; stored in an OCIAQDeqOptions descriptor.
The message properties for the message; stored in an OCIAQMsgProperties descriptor.
The TDO (type descriptor object) of an object type. For a raw queue, this parameter should point to the TDO of SYS.RAW.
A pointer to a pointer to a program variable buffer that is an instance of an object type. For a raw queue, this parameter should point to an instance of OCIRaw.
Memory for the payload is dynamically allocated in the object cache. The application can optionally call
OCIObjectFree() to deallocate the payload instance when it is no longer needed. If the pointer to the program variable buffer (
*payload) is passed as null, the buffer is implicitly allocated in the cache.
The application may choose to pass null for
payload the first time
OCIAQDeq() is called, and let the OCI allocate the memory for the payload. It can then use a pointer to that previously allocated memory in subsequent calls to
The OCI provides functions which allow the user to set attributes of the payload, such as its text. For information about setting these attributes, refer to "Manipulating Object Attributes".
A pointer to a pointer to the program variable buffer containing the parallel indicator structure for the object type.
The memory allocation rules for
payload_ind are the same as those for
The message ID.
Not currently used; pass as OCI_DEFAULT.
Users must have the
aq_user_role or privileges to execute the
dbms_aq package in order to use this call. The OCI environment must be initialized in object mode (using
OCIInitialize()) to use this call.
For code examples, refer to the description of