[Home] [Help]
SELECT u.name, o.name, o.obj#,
DECODE(o.type#,
7, 'PROCEDURE',
8, 'FUNCTION',
9, 'PACKAGE',
11, 'PACKAGE BODY',
12, 'TRIGGER',
13, 'TYPE',
14, 'TYPE BODY',
'UNDEFINED'),
o.type#,
p.param, p.value,
decode(bitand(o.flags, 196608), 65536, 1, 131072, 1, 0),
to_number(sys_context('USERENV', 'CON_ID'))
FROM sys."_CURRENT_EDITION_OBJ" o, sys.user$ u, sys.settings$ p
WHERE o.owner# = u.user#
AND o.linkname is null
AND p.obj# = o.obj#
AND (o.type# in (7, 8, 9, 11, 12, 14) or (o.type# = 13 and o.subname is null))
-- This next AND clause ensures that in a PDB we don't select rows
-- corresponding to common objects. This is because settings$ in PDB
-- stores information about Common TYPE objects.
AND (SYS_CONTEXT('USERENV', 'CON_ID')=0 or
SYS_CONTEXT('USERENV', 'CON_ID')=1 or
decode(bitand(o.flags, 196608), 65536, 1, 131072, 1, 0)=0)
SELECT U.NAME
, O.NAME
, O.OBJ#
,
DECODE(O.TYPE#
,
7
, 'PROCEDURE'
,
8
, 'FUNCTION'
,
9
, 'PACKAGE'
,
11
, 'PACKAGE BODY'
,
12
, 'TRIGGER'
,
13
, 'TYPE'
,
14
, 'TYPE BODY'
,
'UNDEFINED')
,
O.TYPE#
,
P.PARAM
, P.VALUE
,
DECODE(BITAND(O.FLAGS
, 196608)
, 65536
, 1
, 131072
, 1
, 0)
,
TO_NUMBER(SYS_CONTEXT('USERENV'
, 'CON_ID'))
FROM SYS."_CURRENT_EDITION_OBJ" O
, SYS.USER$ U
, SYS.SETTINGS$ P
WHERE O.OWNER# = U.USER#
AND O.LINKNAME IS NULL
AND P.OBJ# = O.OBJ#
AND (O.TYPE# IN (7
, 8
, 9
, 11
, 12
, 14) OR (O.TYPE# = 13
AND O.SUBNAME IS NULL))
-- THIS NEXT
AND CLAUSE ENSURES THAT IN A PDB WE DON'T SELECT ROWS
-- CORRESPONDING TO COMMON OBJECTS. THIS IS BECAUSE SETTINGS$ IN PDB
-- STORES INFORMATION ABOUT COMMON TYPE OBJECTS.
AND (SYS_CONTEXT('USERENV'
, 'CON_ID')=0 OR
SYS_CONTEXT('USERENV'
, 'CON_ID')=1 OR
DECODE(BITAND(O.FLAGS
, 196608)
, 65536
, 1
, 131072
, 1
, 0)=0)
|
|
|
|