select ct.obj#, ct.col#, ct.intcol#, ct.flags, ct.toid,
ct.version#, ct.packed, ct.intcols, ct.intcol#s,
(select sys.dbms_metadata.get_hashcode(o.owner_name,o.name)
from ku$_edition_schemaobj_view o, obj$ oo
where ct.toid = oo.oid$
and o.obj_num = oo.obj#),
(select sys.dbms_metadata_util.has_tstz_elements(o.owner_name,o.name)
from ku$_edition_schemaobj_view o, obj$ oo
where ct.toid = oo.oid$
and o.obj_num = oo.obj#),
ct.typidcol#, ct.synobj#,
(select sy.name from obj$ sy where sy.obj#=ct.synobj#),
(select u.name from user$ u, obj$ o
where o.obj#=ct.synobj# and u.user#=o.owner#),
/* look up stuff in subcoltype$ only if column is substitutable */
decode(bitand(ct.flags, 512), 512,
cast(multiset(select sct.* from ku$_subcoltype_view sct
where ct.obj# = sct.obj_num
and ct.intcol# = sct.intcol_num
) as ku$_subcoltype_list_t
),
null),
(select value(o) from ku$_edition_schemaobj_view o, obj$ oo
where ct.toid = oo.oid$
and o.obj_num = oo.obj#),
-- If column is opaque and has internal columns, check for unpacked
-- anydata type
case when ((bitand(ct.flags, 16384)=16384) and (ct.intcols>0)) then
(select dbms_metadata_util.get_anydata_colset(ct.obj#, ct.col#,
ct.intcols,ct.intcol#s) from dual)
else null end
from coltype$ ct
SELECT CT.OBJ#
, CT.COL#
, CT.INTCOL#
, CT.FLAGS
, CT.TOID
,
CT.VERSION#
, CT.PACKED
, CT.INTCOLS
, CT.INTCOL#S
,
(SELECT SYS.DBMS_METADATA.GET_HASHCODE(O.OWNER_NAME
, O.NAME)
FROM KU$_EDITION_SCHEMAOBJ_VIEW O
, OBJ$ OO
WHERE CT.TOID = OO.OID$
AND O.OBJ_NUM = OO.OBJ#)
,
(SELECT SYS.DBMS_METADATA_UTIL.HAS_TSTZ_ELEMENTS(O.OWNER_NAME
, O.NAME)
FROM KU$_EDITION_SCHEMAOBJ_VIEW O
, OBJ$ OO
WHERE CT.TOID = OO.OID$
AND O.OBJ_NUM = OO.OBJ#)
,
CT.TYPIDCOL#
, CT.SYNOBJ#
,
(SELECT SY.NAME
FROM OBJ$ SY
WHERE SY.OBJ#=CT.SYNOBJ#)
,
(SELECT U.NAME
FROM USER$ U
, OBJ$ O
WHERE O.OBJ#=CT.SYNOBJ#
AND U.USER#=O.OWNER#)
,
/* LOOK UP STUFF IN SUBCOLTYPE$ ONLY IF COLUMN IS SUBSTITUTABLE */
DECODE(BITAND(CT.FLAGS
, 512)
, 512
,
CAST(MULTISET(SELECT SCT.*
FROM KU$_SUBCOLTYPE_VIEW SCT
WHERE CT.OBJ# = SCT.OBJ_NUM
AND CT.INTCOL# = SCT.INTCOL_NUM
) AS KU$_SUBCOLTYPE_LIST_T
)
,
NULL)
,
(SELECT VALUE(O)
FROM KU$_EDITION_SCHEMAOBJ_VIEW O
, OBJ$ OO
WHERE CT.TOID = OO.OID$
AND O.OBJ_NUM = OO.OBJ#)
,
-- IF COLUMN IS OPAQUE
AND HAS INTERNAL COLUMNS
, CHECK FOR UNPACKED
-- ANYDATA TYPE
CASE WHEN ((BITAND(CT.FLAGS
, 16384)=16384)
AND (CT.INTCOLS>0)) THEN
(SELECT DBMS_METADATA_UTIL.GET_ANYDATA_COLSET(CT.OBJ#
, CT.COL#
,
CT.INTCOLS
, CT.INTCOL#S)
FROM DUAL)
ELSE NULL END
FROM COLTYPE$ CT
|
|
|