select o."OBJ#",o."DATAOBJ#",o."OWNER#",o."NAME",o."NAMESPACE",o."SUBNAME",o."TYPE#",o."CTIME",o."MTIME",o."STIME",o."STATUS",o."REMOTEOWNER",o."LINKNAME",o."FLAGS",o."OID$",o."SPARE1",o."SPARE2",o."SPARE3",o."SPARE4",o."SPARE5",o."SPARE6",o."SIGNATURE",o."SPARE7",o."SPARE8",o."SPARE9",
o.spare3,
case when (o.type# not in (select ue.type# from user_editioning$ ue
where ue.user# = o.spare3) or
bitand(o.flags, 1048576) = 1048576 or
bitand(u.spare1, 16) = 0) then
null
when (u.type# = 2) then
(select eo.name from obj$ eo where eo.obj# = u.spare2)
else
'ORA$BASE'
end
from obj$ o, user$ u
where o.owner# = u.user#
and ( /* non-versionable object */
( ( o.type# not in (select type# from user_editioning$ ue
where ue.user# = o.spare3)
and o.type# != 88)
or bitand(o.flags, 1048576) = 1048576
or bitand(u.spare1, 16) = 0)
/* versionable object visible in designated edition */
or ( o.type# in (select ue.type# from user_editioning$ ue
where ue.user# = o.spare3)
and ( (u.type# <> 2 and
(select distinct sys.dbms_metadata.get_edition from dual)
= 'ORA$BASE')
or (u.type# = 2 and
u.spare2 =
(select distinct sys.dbms_metadata.get_edition_id from dual))
or exists (select 1 from obj$ o2, user$ u2
where o2.type# = 88
and o2.dataobj# = o.obj#
and o2.owner# = u2.user#
and u2.type# = 2
and u2.spare2 =
(select distinct sys.dbms_metadata.get_edition_id from dual))
)
)
)
SELECT O."OBJ#"
, O."DATAOBJ#"
, O."OWNER#"
, O."NAME"
, O."NAMESPACE"
, O."SUBNAME"
, O."TYPE#"
, O."CTIME"
, O."MTIME"
, O."STIME"
, O."STATUS"
, O."REMOTEOWNER"
, O."LINKNAME"
, O."FLAGS"
, O."OID$"
, O."SPARE1"
, O."SPARE2"
, O."SPARE3"
, O."SPARE4"
, O."SPARE5"
, O."SPARE6"
, O."SIGNATURE"
, O."SPARE7"
, O."SPARE8"
, O."SPARE9"
,
O.SPARE3
,
CASE WHEN (O.TYPE# NOT IN (SELECT UE.TYPE#
FROM USER_EDITIONING$ UE
WHERE UE.USER# = O.SPARE3) OR
BITAND(O.FLAGS
, 1048576) = 1048576 OR
BITAND(U.SPARE1
, 16) = 0) THEN
NULL
WHEN (U.TYPE# = 2) THEN
(SELECT EO.NAME
FROM OBJ$ EO
WHERE EO.OBJ# = U.SPARE2)
ELSE
'ORA$BASE'
END
FROM OBJ$ O
, USER$ U
WHERE O.OWNER# = U.USER#
AND ( /* NON-VERSIONABLE OBJECT */
( ( O.TYPE# NOT IN (SELECT TYPE#
FROM USER_EDITIONING$ UE
WHERE UE.USER# = O.SPARE3)
AND O.TYPE# != 88)
OR BITAND(O.FLAGS
, 1048576) = 1048576
OR BITAND(U.SPARE1
, 16) = 0)
/* VERSIONABLE OBJECT VISIBLE IN DESIGNATED EDITION */
OR ( O.TYPE# IN (SELECT UE.TYPE#
FROM USER_EDITIONING$ UE
WHERE UE.USER# = O.SPARE3)
AND ( (U.TYPE# <> 2 AND
(SELECT DISTINCT SYS.DBMS_METADATA.GET_EDITION
FROM DUAL)
= 'ORA$BASE')
OR (U.TYPE# = 2 AND
U.SPARE2 =
(SELECT DISTINCT SYS.DBMS_METADATA.GET_EDITION_ID
FROM DUAL))
OR EXISTS (SELECT 1
FROM OBJ$ O2
, USER$ U2
WHERE O2.TYPE# = 88
AND O2.DATAOBJ# = O.OBJ#
AND O2.OWNER# = U2.USER#
AND U2.TYPE# = 2
AND U2.SPARE2 =
(SELECT DISTINCT SYS.DBMS_METADATA.GET_EDITION_ID
FROM DUAL))
)
)
)
|
|
|