SELECT
u.name, o.name, c.name,
sys.get_stats_extension(c.rowid),
-- TODO use flags once it is available
decode(substr(c.name, 1, 7), 'SYS_STU', 'USER', 'SYSTEM'),
decode(substr(c.name, 1, 6), 'SYS_ST', 'YES', 'NO')
FROM
sys.col$ c, sys."_CURRENT_EDITION_OBJ" o, sys.user$ u
WHERE
o.obj# = c.obj#
and c.default$ is not null -- avoid join index columns
and bitand(c.property, 8) = 8 -- virtual column
and o.owner# = u.user#
and bitand(o.flags, 128) = 0 -- not in recycle bin
-- tables, excluding iot - overflow and nested tables
and o.type# = 2
and not exists (select null
from sys.tab$ t
where t.obj# = o.obj#
and (bitand(t.property, 512) = 512 or
bitand(t.property, 8192) = 8192))
SELECT
U.NAME
, O.NAME
, C.NAME
,
SYS.GET_STATS_EXTENSION(C.ROWID)
,
-- TODO USE FLAGS ONCE IT IS AVAILABLE
DECODE(SUBSTR(C.NAME
, 1
, 7)
, 'SYS_STU'
, 'USER'
, 'SYSTEM')
,
DECODE(SUBSTR(C.NAME
, 1
, 6)
, 'SYS_ST'
, 'YES'
, 'NO')
FROM
SYS.COL$ C
, SYS."_CURRENT_EDITION_OBJ" O
, SYS.USER$ U
WHERE
O.OBJ# = C.OBJ#
AND C.DEFAULT$ IS NOT NULL -- AVOID JOIN INDEX COLUMNS
AND BITAND(C.PROPERTY
, 8) = 8 -- VIRTUAL COLUMN
AND O.OWNER# = U.USER#
AND BITAND(O.FLAGS
, 128) = 0 -- NOT IN RECYCLE BIN
-- TABLES
, EXCLUDING IOT - OVERFLOW
AND NESTED TABLES
AND O.TYPE# = 2
AND NOT EXISTS (SELECT NULL
FROM SYS.TAB$ T
WHERE T.OBJ# = O.OBJ#
AND (BITAND(T.PROPERTY
, 512) = 512 OR
BITAND(T.PROPERTY
, 8192) = 8192))
|
|
|