Name

DBMS_DEFER_QUERY.GET_ARG_TYPE

Synopsis

You can use this function in conjunction with GET_datatype_ARG or GET_CALL_ARGS to determine information about the deferred RPCs in the queue. GET_ARG_TYPE returns a number corresponding to the argument’s datatype.

FUNCTION DBMS_DEFER_QUEUE.GET_ARG_TYPE
   (callno IN NUMBER,
    deferred_tran_db IN VARCHAR2,
    arg_no IN  NUMBER,
    deferred_tran_id IN VARCHAR2)
RETURN NUMBER;

The following table shows the mapping ofdatatypes to return values:

Argument Datatype

GET_ARG_TYPE Return Code

BFILE (Oracle8 only)

114

BLOB (Oracle8 only)

113

CFIL (Oracle8 only)

115

CHAR

96

CLOB (Oracle8 only)

112

DATE

12

NUMBER

2

RAW

23

ROWID

11

VARCHAR2

1

Notice that the datatypes here are limited to the Oracle-supplied datatypes; you cannot, for example, defer a call to a procedure that accepts a PL/SQL table as a parameter.

There are no restrictions on calling GET_ARG_TYPE.

Parameters

Parameter Name

Description

callno

The CALLNO of the RPC, as stored in the DEFCALL data dictionary view

deferred_tran_db

Global name of the database deferring the call (also stored in DEFCALL)

arg_no

The position of the argument in the RPC

deferred_tran_id

The deferred_tran_id for the call (also stored in DEFCALL)

Exceptions

Exception Name

Number

Description

NO_DATA_FOUND

–00100

Specified argument does not exist for specified RPC.

Get Oracle Distributed Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.