Oracle PIDL
Version 21c

General Information
Library Note Morgan's Library Page Header
Which has the higher priority in your organization: Deploying a new database or securing the ones you already have? Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
Purpose Built-in support for Portable Interface Definition Language (IDL).
AUTHID DEFINER
Constants
Name Data Type Value
 Persistent IDL datatypes
TRENULL PTNOD 0
 Enumerators for the kinds of reference (ptrty).
PTA_REF PTRTY 0
PTA_PART PTRTY 1
PTA_PREF PTRTY 2
 Enumerators for the idl basetypes (ptbty)
PTABTERR PTBTY 0
PTABT_ND PTBTY 1
PTABT_TX PTBTY 2
PTABT_U4 PTBTY 3
PTABT_U2 PTBTY 4
PTABT_U1 PTBTY 5
PTABT_S4 PTBTY 6
PTABT_S2 PTBTY 7
PTABT_PT PTBTY 9
PTABT_RA PTBTY 10
PTABT_LS PTBTY 11
PTABT_RS PTBTY 12
PTABT_CS PTBTY 13
PTABT_NU PTBTY 14
PTABT_RW PTBTY 15
PTABT_C2 PTBTY 18
PTABT_DT PTBTY 19
PTABT_BI PTBTY 20
PTABT_BO PTBTY 21
PTABTS_0 PTBTY 29
PTABTSND PTBTY (PTABTS_0 + 1)
PTABTSTX PTBTY (PTABTS_0 + 2)
PTABTSU4 PTBTY (PTABTS_0 + 3)
PTABTSU2 PTBTY (PTABTS_0 + 4)
PTABTSU1 PTBTY (PTABTS_0 + 5)
PTABTSS4 PTBTY (PTABTS_0 + 6)
PTABTSS2 PTBTY (PTABTS_0 + 7)
PTABTSPT PTBTY (PTABTS_0 + 9)
PTABTSRA PTBTY (PTABTS_0 + 10)
PTABTSLS PTBTY (PTABTS_0 + 11)
PTABTSRS PTBTY (PTABTS_0 + 12)
PTABTSCS PTBTY (PTABTS_0 + 13)
PTABTSNU PTBTY (PTABTS_0 + 14)
PTABTSRW PTBTY (PTABTS_0 + 15)
PTABTSC2 PTBTY (PTABTS_0 + 18)
PTABTSDT PTBTY (PTABTS_0 + 19)
PTABTSBI PTBTY (PTABTS_0 + 20)
PTABTSBO PTBTY (PTABTS_0 + 21)
 ??
     
     
Data Types SUBTYPE ptnod IS BINARY_INTEGER; -- generic IDL node type
SUBTYPE ub4 IS BINARY_INTEGER; -- Oracle C type, unsigned byte 4
SUBTYPE ub2 IS BINARY_INTEGER; -- Oracle C type, unsigned byte 2
SUBTYPE ub1 IS BINARY_INTEGER; -- Oracle C type, unsigned byte 1
SUBTYPE sb4 IS BINARY_INTEGER; -- Oracle C type, signed byte 4
SUBTYPE sb2 IS BINARY_INTEGER; -- Oracle C type, signed byte 2

----------------------------------------------------------------------------
-- Sequence datatypes.
----------------------------------------------------------------------------
SUBTYPE ptseqtx IS ptnod; -- seq of text/char
SUBTYPE ptseqnd IS ptnod; -- seq of IDL node
SUBTYPE ptsequ4 IS ptnod; -- seq of ub4
SUBTYPE ptsequ2 IS ptnod; -- seq of ub2
SUBTYPE ptsequ1 IS ptnod; -- seq of ub1
SUBTYPE ptseqs4 IS ptnod; -- seq of sb4
SUBTYPE ptseqs2 IS ptnod; -- seq of sb2

----------------------------------------------------------------------------
-- Non-persistent IDL datatypes
----------------------------------------------------------------------------
SUBTYPE private_ptr_t is number;
TYPE ptr_t IS RECORD(private_ptr private_ptr_t);
SUBTYPE ptseqpt IS ptnod; -- seq of ptr_t

----------------------------------------------------------------------------
-- Types used for the implementation of persistent-idl.
----------------------------------------------------------------------------
SUBTYPE ptnty IS ub2; -- node-type enumerators
SUBTYPE ptaty IS ub2; -- attr-type enumerators
SUBTYPE ptbty IS ub2; -- base-type enumerators for attributes
SUBTYPE ptrty IS ub2; -- rererence-type enumerators
Dependencies
DIANA DIUTIL WPIUTL
Documented No
Exceptions
Error Code Reason
   
   
   
First Available Not known
Pragmas -
Security Model Owned by SYS with EXECUTE granted to the EXECUTE_CATALOG_ROLE role.
Source {ORACLE_HOME}/rdbms/admin/pipidl.sql
Subprograms
 
PTATTANM
Returns text name of given attr type pidl.ptattanm(attr_enum IN ptaty) RETURN VARCHAR2;
TBD
 
PTATTBTY
Returns base-type enumerator for type of given attribute pidl.ptattbty(
node_enum IN ptnty,
attr_enum IN ptaty)
RETURN BINARY_INTEGER;
TBD
 
PTATTCNT
Returns number of attributes for given node type pidl.ptattcnt(node_enum IN ptnty) RETURN ub2;
TBD
 
PTATTNNM
Returns text name of given node type pidl.ptattnnm(node_enum IN ptnty) RETURN VARCHAR2;
TBD
 
PTATTRTY
Returns PART, PART_REF, or REF pidl.ptattrty(
node_enum IN ptnty,
attr_enum IN ptaty)
RETURN ptrty;
TBD
 
PTATTTYP
Returns attr-type enumerator for nth attr of given node type pidl.ptatttyp(
node_enum IN ptnty,
nth       IN ub2)
RETURN ptaty;
TBD
 
PTGEND
Undocumented pidl.ptgend(
obj IN ptseqnd,
ndx IN ub2)
RETURN ptnod;
TBD
 
PTGEPT
Undocumented pidl.ptgept(
obj IN ptseqpt,
ndx IN ub2)
RETURN ptr_t;
TBD
 
PTGES2
Undocumented pidl.ptges2(
obj IN ptseqs2,
ndx IN ub2)
RETURN sb2;
TBD
 
PTGES4
Undocumented pidl.ptges4(
obj IN ptseqs4,
ndx IN ub2)
RETURN sb4;
TBD
 
PTGETX
Undocumented pidl.ptgetx(
obj IN ptseqtx,
ndx IN ub2)
RETURN VARCHAR2;
TBD
 
PTGEU1
Undocumented pidl.ptgeu1(
obj IN ptsequ1,
ndx IN ub2)
RETURN ub1;
TBD
 
PTGEU2
Undocumented pidl.ptgeu2(
obj IN ptsequ2,
ndx IN ub2)
RETURN ub2;
TBD
 
PTGEU4
Undocumented pidl.ptgeu4(
obj IN ptsequ4,
ndx IN ub2)
RETURN ub4;
TBD
 
PTGSND
Undocumented pidl.ptgsnd(
obj IN ptnod,
aty IN ptaty)
RETURN ptseqnd;
TBD
 
PTG_ND
Undocumented pidl.ptg_nd(
obj IN ptnod,
aty IN ptaty)
RETURN ptnod;
TBD
 
PTG_PT
Undocumented pidl.ptg_pt(
obj IN ptnod,
aty IN ptaty)
RETURN ptr_t;
TBD
 
PTG_S2
Undocumented pidl.ptg_s2(
obj IN ptnod,
aty IN ptaty)
RETURN sb2;
TBD
 
PTG_S4
Undocumented pidl.ptg_s4(
obj IN ptnod,
aty IN ptaty)
RETURN sb4;
TBD
 
PTG_TX
Undocumented pidl.ptg_tx(
obj IN ptnod,
aty IN ptaty)
RETURN VARCHAR2;
TBD
 
PTG_U1
Undocumented pidl.ptg_u1(
obj IN ptnod,
aty IN ptaty)
RETURN ub1;
TBD
 
PTG_U2
Undocumented pidl.ptg_u2(
obj IN ptnod,
aty IN ptaty)
RETURN ub2;
TBD
 
PTG_U4
Undocumented pidl.ptg_u4(
obj IN ptnod,
aty IN ptaty)
RETURN ub4;
TBD
 
PTKIN
Undocumented pidl.ptkin(obj IN ptnod) RETURN ptnty;
TBD
 
PTP_ND
Undocumented pidl.ptp_nd(
obj IN ptnod,
val IN ptnod,
aty IN ptaty);
TBD
 
PTP_PT
Undocumented pidl.ptp_pt(
obj IN ptnod,
val IN ptr_t,
aty IN ptaty);
TBD
 
PTP_S2
Undocumented pidl.ptp_s2(
obj IN ptnod,
val IN sb2,
aty IN ptaty);
TBD
 
PTP_S4
Undocumented pidl.ptp_s4(
obj IN ptnod,
val IN sb4,
aty IN ptaty);
TBD
 
PTP_TX
Undocumented pidl.ptp_tx(
obj IN ptnod,
val IN VARCHAR2,
aty IN ptaty);
TBD
 
PTP_U1
Undocumented pidl.ptp_u1(
obj IN ptnod,
val IN ub1,
aty IN ptaty);
TBD
 
PTP_U2
Undocumented pidl.ptp_u2(
obj IN ptnod,
val IN ub2,
aty IN ptaty);
TBD
 
PTP_U4
Undocumented pidl.ptp_u4(
obj IN ptnod,
val IN ub4,
aty IN ptaty);
TBD
 
PTSLEN
Returns the length of sequence pidl.ptslen(seq IN ptseqnd) RETURN ub2;
TBD

Related Topics
Built-in Functions
Built-in Packages
Database Security
DIANA
DIUTIL
What's New In 19c
What's New In 20c-21c

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2021 Daniel A. Morgan All Rights Reserved
  DBSecWorx