Oracle PIDL
Version 21c

General Information
Library Note Morgan's Library Page Header
ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling complimentary technical Workshops on Database Security for the first 30 Oracle Database customers located anywhere in North America, EMEA, LATAM, or APAC that send an email to asra_us@oracle.com. Request a Workshop for your organization today.
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 21c
What's New In 23c

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-2023 Daniel A. Morgan All Rights Reserved
  DBSecWorx