select '1','2',
oo.obj#,
value(o),
oo.oid$,
t.typeid, t.version#,
sys.dbms_metadata.get_hashcode(o.owner_name,o.name),
t.typecode, t.properties,
t.attributes, t.methods, t.hiddenMethods,
t.externtype, t.externname,
sys.dbms_metadata_util.get_source_lines(oo.name,oo.obj#,oo.type#),
(select value(c) from ku$_switch_compiler_view c
where c.obj_num =oo.obj#),
(select value(stso) from ku$_schemaobj_view stso
where stso.oid = t.supertoid),
(select value(c) from ku$_collection_view c
where oo.oid$ = c.toid),
cast(multiset(select value(a)
from sys.ku$_type_attr_view a
where a.toid = oo.oid$)
as ku$_type_attr_list_t),
cast(multiset(select value(m)
from sys.ku$_method_view m
where m.toid = oo.oid$ and m.xflags=0 and m.obj_num=oo.obj#)
as ku$_method_list_t)
from sys.obj$ oo, sys.ku$_edition_schemaobj_view o, type$ t
where oo.type# = 13
and oo.obj# = o.obj_num
and oo.subname is null /* latest type version */
and oo.oid$ = t.toid
/* type$ properties bits:
262144=0 - latest type version
other bits=0 - not system-generated type
*/
and bitand(t.properties,262144+2048+64+16)=0
AND (SYS_CONTEXT('USERENV','CURRENT_USERID') IN (o.owner_num, 0) OR
EXISTS ( SELECT * FROM sys.session_roles
WHERE role='SELECT_CATALOG_ROLE' ))
SELECT '1'
, '2'
,
OO.OBJ#
,
VALUE(O)
,
OO.OID$
,
T.TYPEID
, T.VERSION#
,
SYS.DBMS_METADATA.GET_HASHCODE(O.OWNER_NAME
, O.NAME)
,
T.TYPECODE
, T.PROPERTIES
,
T.ATTRIBUTES
, T.METHODS
, T.HIDDENMETHODS
,
T.EXTERNTYPE
, T.EXTERNNAME
,
SYS.DBMS_METADATA_UTIL.GET_SOURCE_LINES(OO.NAME
, OO.OBJ#
, OO.TYPE#)
,
(SELECT VALUE(C)
FROM KU$_SWITCH_COMPILER_VIEW C
WHERE C.OBJ_NUM =OO.OBJ#)
,
(SELECT VALUE(STSO)
FROM KU$_SCHEMAOBJ_VIEW STSO
WHERE STSO.OID = T.SUPERTOID)
,
(SELECT VALUE(C)
FROM KU$_COLLECTION_VIEW C
WHERE OO.OID$ = C.TOID)
,
CAST(MULTISET(SELECT VALUE(A)
FROM SYS.KU$_TYPE_ATTR_VIEW A
WHERE A.TOID = OO.OID$)
AS KU$_TYPE_ATTR_LIST_T)
,
CAST(MULTISET(SELECT VALUE(M)
FROM SYS.KU$_METHOD_VIEW M
WHERE M.TOID = OO.OID$
AND M.XFLAGS=0
AND M.OBJ_NUM=OO.OBJ#)
AS KU$_METHOD_LIST_T)
FROM SYS.OBJ$ OO
, SYS.KU$_EDITION_SCHEMAOBJ_VIEW O
, TYPE$ T
WHERE OO.TYPE# = 13
AND OO.OBJ# = O.OBJ_NUM
AND OO.SUBNAME IS NULL /* LATEST TYPE VERSION */
AND OO.OID$ = T.TOID
/* TYPE$ PROPERTIES BITS:
262144=0 - LATEST TYPE VERSION
OTHER BITS=0 - NOT SYSTEM-GENERATED TYPE
*/
AND BITAND(T.PROPERTIES
, 262144+2048+64+16)=0
AND (SYS_CONTEXT('USERENV'
, 'CURRENT_USERID') IN (O.OWNER_NUM
, 0) OR
EXISTS ( SELECT *
FROM SYS.SESSION_ROLES
WHERE ROLE='SELECT_CATALOG_ROLE' ))
|
|
|