select c.obj#, hh.obj#, c.name, hh.intcol#, hh.distcnt,
case when SYS_OP_DV_CHECK(o.name, o.owner#) = 1
then case when hh.lowval is null
then hh.lowval
else utl_raw.substr(hh.lowval,1,
least(UTL_RAW.LENGTH(hh.lowval), 32))
end
else null
end,
case when SYS_OP_DV_CHECK(o.name, o.owner#) = 1
then case when hh.hival is null
then hh.hival
else utl_raw.substr(hh.hival, 1,
least(UTL_RAW.LENGTH(hh.hival), 32))
end
else null
end,
hh.density, hh.null_cnt, hh.avgcln, bitand(hh.spare2, 3),
bitand(hh.spare2, 4),
cast(multiset(select value(hv)
from sys.ku$_histgrm_view hv
where hv.obj_num = hh.obj#
and hv.intcol_num = hh.intcol#)
as ku$_histgrm_list_t),
(select value(hminv)
from sys.ku$_10_1_histgrm_min_view hminv
where hminv.obj_num = hh.obj#
and hminv.intcol_num = hh.intcol#),
(select value(hmaxv)
from sys.ku$_10_1_histgrm_max_view hmaxv
where hmaxv.obj_num = hh.obj#
and hmaxv.intcol_num = hh.intcol#)
from sys.obj$ o, sys.col$ c, sys.hist_head$ hh
where hh.obj# = c.obj# and o.obj# = hh.obj# and
hh.intcol# = c.intcol# and
-- Need to remove rows for user defined stats. Look in qosp.h
-- for macros likeQOS_IS_*_STATS_EXTN. This is where the next 3
-- lines were taken from.
NOT (BITAND(c.property,65576) = 65576 AND
LENGTH(c.name) > 6 AND
SUBSTR(c.name, 1, 6) = 'SYS_ST')
SELECT C.OBJ#
, HH.OBJ#
, C.NAME
, HH.INTCOL#
, HH.DISTCNT
,
CASE WHEN SYS_OP_DV_CHECK(O.NAME
, O.OWNER#) = 1
THEN CASE WHEN HH.LOWVAL IS NULL
THEN HH.LOWVAL
ELSE UTL_RAW.SUBSTR(HH.LOWVAL
, 1
,
LEAST(UTL_RAW.LENGTH(HH.LOWVAL)
, 32))
END
ELSE NULL
END
,
CASE WHEN SYS_OP_DV_CHECK(O.NAME
, O.OWNER#) = 1
THEN CASE WHEN HH.HIVAL IS NULL
THEN HH.HIVAL
ELSE UTL_RAW.SUBSTR(HH.HIVAL
, 1
,
LEAST(UTL_RAW.LENGTH(HH.HIVAL)
, 32))
END
ELSE NULL
END
,
HH.DENSITY
, HH.NULL_CNT
, HH.AVGCLN
, BITAND(HH.SPARE2
, 3)
,
BITAND(HH.SPARE2
, 4)
,
CAST(MULTISET(SELECT VALUE(HV)
FROM SYS.KU$_HISTGRM_VIEW HV
WHERE HV.OBJ_NUM = HH.OBJ#
AND HV.INTCOL_NUM = HH.INTCOL#)
AS KU$_HISTGRM_LIST_T)
,
(SELECT VALUE(HMINV)
FROM SYS.KU$_10_1_HISTGRM_MIN_VIEW HMINV
WHERE HMINV.OBJ_NUM = HH.OBJ#
AND HMINV.INTCOL_NUM = HH.INTCOL#)
,
(SELECT VALUE(HMAXV)
FROM SYS.KU$_10_1_HISTGRM_MAX_VIEW HMAXV
WHERE HMAXV.OBJ_NUM = HH.OBJ#
AND HMAXV.INTCOL_NUM = HH.INTCOL#)
FROM SYS.OBJ$ O
, SYS.COL$ C
, SYS.HIST_HEAD$ HH
WHERE HH.OBJ# = C.OBJ#
AND O.OBJ# = HH.OBJ# AND
HH.INTCOL# = C.INTCOL# AND
-- NEED TO REMOVE ROWS FOR USER DEFINED STATS. LOOK IN QOSP.H
-- FOR MACROS LIKEQOS_IS_*_STATS_EXTN. THIS IS
WHERE THE NEXT 3
-- LINES WERE TAKEN FROM.
NOT (BITAND(C.PROPERTY
, 65576) = 65576 AND
LENGTH(C.NAME) > 6 AND
SUBSTR(C.NAME
, 1
, 6) = 'SYS_ST')
|
|
|