[Home] [Help]
select
o.logmnr_uid,
o.obj#,
o.objv#,
lc.segcol#,
lc.intcol#,
lc.col#,
lc.name,
lc.type#,
lc.length,
lc.precision#,
lc.scale,
lc.spare2, /* INTERVAL_LEADING_PRECISION */
lc.spare1, /* INTERVAL_TRAILING_PRECISION */
lc.property,
lc.charsetid,
lc.charsetform,
NULL LogmnrColFlags, /* THIS IS BEING SET IN C */
case lc.type#
when 1 /* DTYCHR */ then NULL /* shortcut for most common */
when 2 /* DTYNUM */ then NULL
when 12 /* DTYDAT */ then NULL
when 58 /* DTYOPQ - XMLType, ANYDATA, etc. */ then
(select lv.data_type_owner
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
when 121 /* DTYADT */ then
(select lv.data_type_owner
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
when 122 /* DTYNTB */ then
(select lv.data_type_owner
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
when 123 /* DTYNAR */ then
(select lv.data_type_owner
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
when 111 /* DTYIREF */ then /* needed? copied from dba_tab_cols */
(select lv.data_type_owner
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
else NULL end XTypeSchemaName,
case lc.type#
when 1 /* DTYCHR */ then NULL /* shortcut for most common */
when 2 /* DTYNUM */ then NULL
when 12 /* DTYDAT */ then NULL
when 58 /* DTYOPQ - XMLTYPE, ANYDATA, etc. */ then
(select lv.data_type
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
when 121 /* DTYADT */ then
(select lv.data_type
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
when 122 /* DTYNTB */ then
(select lv.data_type
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
when 123 /* DTYNAR */ then
(select lv.data_type
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
when 111 /* DTYIREF */ then /* needed? copied from dba_tab_cols */
(select lv.data_type
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
else NULL end XTypeName,
case bitand(lc.property, 1029)
when 0 then
null
when 1 then
(select lv.qualified_col_name
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
when 5 then
(select lv.qualified_col_name
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
when 4 then
(select lv.qualified_col_name
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
when 1024 then
(select lv.qualified_col_name
from sys.logmnr_tab_cols_support lv
where lv.logmnr_uid = o.logmnr_uid and
lv.obj# = lc.obj# and
lv.internal_column_id = lc.intcol#)
else NULL end XFQColName,
/* topintcol */
case when (bitand(lt.property,1) = 0) /* typed table bit not set */
then /* relational table */
/* most columns are not hidden and thus do not have */
/* an associated topintcol. Certain special columns */
/* where col# = 0 also do not have topintcol */
case when
(bitand(lc.property,32) = 0) or /* not hidden column */
(lc.col# = 0)then /* special column */
NULL /* do not set topintcol */
else /* it is hidden and is not col# = 0 (ie special) */
/* so find the covering user visible column */
(select min(sc.intcol#) /* min for speedup only */
from system.logmnr_col$ sc
where sc.logmnr_uid = o.logmnr_uid and
sc.obj# = lc.obj# and
sc.col# = lc.col# and
bitand(sc.property,1) = 0 and /*not an attribute*/
bitand(sc.property, 32) = 0) /* not hidden */
end
else /* typed table */
/* everything gets rowinfo$ column as topintcol except */
/* for the rowinfo$ itself, and the oid */
case when
(bitand(lc.property,2) = 0) and /* not an oid */
(bitand(lc.property,512) = 0) then /* not rowinfo$ */
(select min(sc.intcol#) /* min for speedup only */
from system.logmnr_col$ sc
where sc.logmnr_uid = o.logmnr_uid and
sc.obj# = lc.obj# and
bitand(sc.property, 512) = 512) /* rowinfo col */
else NULL end /* oid/rowinfo, leave topintcol null */
end XTopIntCol,
case LC.TYPE# when 111 /* DTYIREF */ then
(select oo.obj#
from system.logmnr_obj$ oo, system.logmnr_refcon$ r
where oo.logmnr_uid = o.logmnr_uid and
r.logmnr_uid = o.logmnr_uid and
oo.oid$ = r.stabid and
r.intcol# = lc.intcol# and
r.obj# = o.obj#)
else NULL end XReffedTableObjn,
case LC.TYPE# when 111 /* DTYIREF */ then
(select oo.objv#
from system.logmnr_obj$ oo, system.logmnr_refcon$ r
where oo.logmnr_uid = o.logmnr_uid and
r.logmnr_uid = o.logmnr_uid and
oo.oid$ = r.stabid and
r.intcol# = lc.intcol# and
r.obj# = o.obj#)
else NULL end XReffedTableObjv,
case LC.TYPE# when 58 /* DTYOPQ */ then
(select ct.flags
from system.logmnr_coltype$ ct
where ct.logmnr_uid = o.logmnr_uid and ct.obj# = o.obj# and
ct.intcol# = lc.INTCOL#)
else NULL end XColTypeFlags,
case LC.TYPE# when 58 /* DTYOPQ */ then
(select ot.type
from system.logmnr_opqtype$ ot
where ot.logmnr_uid = o.logmnr_uid and ot.obj# = o.obj# and
ot.intcol# = lc.intcol#)
else NULL end XOpqTypeType,
case LC.TYPE# when 58 /* DTYOPQ */ then
(select ot.flags
from system.logmnr_opqtype$ ot
where ot.logmnr_uid = o.logmnr_uid and ot.obj# = o.obj# and
ot.intcol# = lc.intcol#)
else NULL end XOpqTypeFlags,
case LC.TYPE# when 58 /* DTYOPQ */ then
(select ot.lobcol
from system.logmnr_opqtype$ ot
where ot.logmnr_uid = o.logmnr_uid and ot.obj# = o.obj# and
ot.intcol# = lc.intcol#)
else NULL end XOpqLobIntcol,
case LC.TYPE# when 58 /* DTYOPQ */ then
(select ot.objcol
from system.logmnr_opqtype$ ot
where ot.logmnr_uid = o.logmnr_uid and ot.obj# = o.obj# and
ot.intcol# = lc.intcol#)
else NULL end XOpqObjIntcol,
/* xmlintcol */
case when (bitand(lt.property,1) = 0) /* typed table bit not set */
then /* relational table */
/* most columns are not hidden and thus do not have */
/* an associated topintcol/xmlintocol. */
case when
(bitand(lc.property,32) = 0) then /* not hidden column */
NULL /* do not set XMLintcol */
else /* it is hidden and is not col# = 0 (ie special) */
/* so find the covering user visible column */
/* if it is not XML, then we want/get NULL */
(select min(sc.intcol#)
from system.logmnr_col$ sc, system.logmnr_opqtype$ opq
where sc.logmnr_uid = o.logmnr_uid and
opq.logmnr_uid = o.logmnr_uid and
sc.obj# = lc.obj# and /* same obj# */
opq.obj# = lc.obj# and /* same obj# */
sc.col# = lc.col# and /* same col# */
sc.intcol# = opq.intcol# and
bitand(sc.property,1) = 0 and /*not an attribute*/
sc.type# = 58 and /* opaque type */
opq.type = 1) /* XML */
end
else /* typed table */
(select min(sc.intcol#) /* NULL if topintocl is not XML */
from system.logmnr_col$ sc, system.logmnr_opqtype$ opq
where sc.logmnr_uid = o.logmnr_uid and sc.obj# = lc.obj# and
opq.logmnr_uid = o.logmnr_uid and opq.obj# = lc.obj# and
opq.intcol# = sc.intcol# and
bitand(sc.property, 512) = 512 and /* rowinfo col */
sc.type# = 58 and /* opaque type */
opq.type = 1) /* XML */
end XXMLIntCol,
case when (bitand(lc.property, 67108864) = 67108864) /* encrypt col */
then
(select ea.owner#
from system.logmnr_enc$ ea
where ea.logmnr_uid = o.logmnr_uid and ea.obj# = o.obj#)
else NULL end EaOwner#,
case when (bitand(lc.property, 67108864) = 67108864)
then
(select ea.mkeyid
from system.logmnr_enc$ ea
where ea.logmnr_uid = o.logmnr_uid and ea.obj# = o.obj#)
else NULL end EaMKeyId,
case when (bitand(lc.property, 67108864) = 67108864)
then
(select ea.encalg
from system.logmnr_enc$ ea
where ea.logmnr_uid = o.logmnr_uid and ea.obj# = o.obj#)
else NULL end EaEncAlg,
case when (bitand(lc.property, 67108864) = 67108864)
then
(select ea.intalg
from system.logmnr_enc$ ea
where ea.logmnr_uid = o.logmnr_uid and ea.obj# = o.obj#)
else NULL end EaIntAlg,
case when (bitand(lc.property, 67108864) = 67108864)
then
(select ea.colklc
from system.logmnr_enc$ ea
where ea.logmnr_uid = o.logmnr_uid and ea.obj# = o.obj#)
else NULL end EaColKlc,
case when (bitand(lc.property, 67108864) = 67108864)
then
(select ea.klclen
from system.logmnr_enc$ ea
where ea.logmnr_uid = o.logmnr_uid and ea.obj# = o.obj#)
else NULL end EaKLcLen,
case when (bitand(lc.property, 67108864) = 67108864)
then
(select nvl(ea.flag,0)
from system.logmnr_enc$ ea
where ea.logmnr_uid = o.logmnr_uid and ea.obj# = o.obj#)
else NULL end EaFlags,
0 as LogmnrDerivedFlags
from
system.logmnr_col$ lc, system.logmnr_tab$ lt, system.logmnr_obj$ o
where
o.logmnr_uid = lc.logmnr_uid AND
o.logmnr_uid = lt.logmnr_uid AND
o.obj# = lt.obj# AND
o.obj# = lc.obj#
order by lc.logmnr_uid, o.obj#, lc.intcol#
SELECT
O.LOGMNR_UID
,
O.OBJ#
,
O.OBJV#
,
LC.SEGCOL#
,
LC.INTCOL#
,
LC.COL#
,
LC.NAME
,
LC.TYPE#
,
LC.LENGTH
,
LC.PRECISION#
,
LC.SCALE
,
LC.SPARE2
, /* INTERVAL_LEADING_PRECISION */
LC.SPARE1
, /* INTERVAL_TRAILING_PRECISION */
LC.PROPERTY
,
LC.CHARSETID
,
LC.CHARSETFORM
,
NULL LOGMNRCOLFLAGS
, /* THIS IS BEING SET IN C */
CASE LC.TYPE#
WHEN 1 /* DTYCHR */ THEN NULL /* SHORTCUT FOR MOST COMMON */
WHEN 2 /* DTYNUM */ THEN NULL
WHEN 12 /* DTYDAT */ THEN NULL
WHEN 58 /* DTYOPQ - XMLTYPE
, ANYDATA
, ETC. */ THEN
(SELECT LV.DATA_TYPE_OWNER
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
WHEN 121 /* DTYADT */ THEN
(SELECT LV.DATA_TYPE_OWNER
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
WHEN 122 /* DTYNTB */ THEN
(SELECT LV.DATA_TYPE_OWNER
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
WHEN 123 /* DTYNAR */ THEN
(SELECT LV.DATA_TYPE_OWNER
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
WHEN 111 /* DTYIREF */ THEN /* NEEDED? COPIED
FROM DBA_TAB_COLS */
(SELECT LV.DATA_TYPE_OWNER
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
ELSE NULL END XTYPESCHEMANAME
,
CASE LC.TYPE#
WHEN 1 /* DTYCHR */ THEN NULL /* SHORTCUT FOR MOST COMMON */
WHEN 2 /* DTYNUM */ THEN NULL
WHEN 12 /* DTYDAT */ THEN NULL
WHEN 58 /* DTYOPQ - XMLTYPE
, ANYDATA
, ETC. */ THEN
(SELECT LV.DATA_TYPE
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
WHEN 121 /* DTYADT */ THEN
(SELECT LV.DATA_TYPE
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
WHEN 122 /* DTYNTB */ THEN
(SELECT LV.DATA_TYPE
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
WHEN 123 /* DTYNAR */ THEN
(SELECT LV.DATA_TYPE
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
WHEN 111 /* DTYIREF */ THEN /* NEEDED? COPIED
FROM DBA_TAB_COLS */
(SELECT LV.DATA_TYPE
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
ELSE NULL END XTYPENAME
,
CASE BITAND(LC.PROPERTY
, 1029)
WHEN 0 THEN
NULL
WHEN 1 THEN
(SELECT LV.QUALIFIED_COL_NAME
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
WHEN 5 THEN
(SELECT LV.QUALIFIED_COL_NAME
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
WHEN 4 THEN
(SELECT LV.QUALIFIED_COL_NAME
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
WHEN 1024 THEN
(SELECT LV.QUALIFIED_COL_NAME
FROM SYS.LOGMNR_TAB_COLS_SUPPORT LV
WHERE LV.LOGMNR_UID = O.LOGMNR_UID AND
LV.OBJ# = LC.OBJ# AND
LV.INTERNAL_COLUMN_ID = LC.INTCOL#)
ELSE NULL END XFQCOLNAME
,
/* TOPINTCOL */
CASE WHEN (BITAND(LT.PROPERTY
, 1) = 0) /* TYPED TABLE BIT NOT SET */
THEN /* RELATIONAL TABLE */
/* MOST COLUMNS ARE NOT HIDDEN
AND THUS DO NOT HAVE */
/* AN ASSOCIATED TOPINTCOL. CERTAIN SPECIAL COLUMNS */
/*
WHERE COL# = 0 ALSO DO NOT HAVE TOPINTCOL */
CASE WHEN
(BITAND(LC.PROPERTY
, 32) = 0) OR /* NOT HIDDEN COLUMN */
(LC.COL# = 0)THEN /* SPECIAL COLUMN */
NULL /* DO NOT SET TOPINTCOL */
ELSE /* IT IS HIDDEN
AND IS NOT COL# = 0 (IE SPECIAL) */
/* SO FIND THE COVERING USER VISIBLE COLUMN */
(SELECT MIN(SC.INTCOL#) /* MIN FOR SPEEDUP ONLY */
FROM SYSTEM.LOGMNR_COL$ SC
WHERE SC.LOGMNR_UID = O.LOGMNR_UID AND
SC.OBJ# = LC.OBJ# AND
SC.COL# = LC.COL# AND
BITAND(SC.PROPERTY
, 1) = 0
AND /*NOT AN ATTRIBUTE*/
BITAND(SC.PROPERTY
, 32) = 0) /* NOT HIDDEN */
END
ELSE /* TYPED TABLE */
/* EVERYTHING GETS ROWINFO$ COLUMN AS TOPINTCOL EXCEPT */
/* FOR THE ROWINFO$ ITSELF
,
AND THE OID */
CASE WHEN
(BITAND(LC.PROPERTY
, 2) = 0)
AND /* NOT AN OID */
(BITAND(LC.PROPERTY
, 512) = 0) THEN /* NOT ROWINFO$ */
(SELECT MIN(SC.INTCOL#) /* MIN FOR SPEEDUP ONLY */
FROM SYSTEM.LOGMNR_COL$ SC
WHERE SC.LOGMNR_UID = O.LOGMNR_UID AND
SC.OBJ# = LC.OBJ# AND
BITAND(SC.PROPERTY
, 512) = 512) /* ROWINFO COL */
ELSE NULL END /* OID/ROWINFO
, LEAVE TOPINTCOL NULL */
END XTOPINTCOL
,
CASE LC.TYPE# WHEN 111 /* DTYIREF */ THEN
(SELECT OO.OBJ#
FROM SYSTEM.LOGMNR_OBJ$ OO
, SYSTEM.LOGMNR_REFCON$ R
WHERE OO.LOGMNR_UID = O.LOGMNR_UID AND
R.LOGMNR_UID = O.LOGMNR_UID AND
OO.OID$ = R.STABID AND
R.INTCOL# = LC.INTCOL# AND
R.OBJ# = O.OBJ#)
ELSE NULL END XREFFEDTABLEOBJN
,
CASE LC.TYPE# WHEN 111 /* DTYIREF */ THEN
(SELECT OO.OBJV#
FROM SYSTEM.LOGMNR_OBJ$ OO
, SYSTEM.LOGMNR_REFCON$ R
WHERE OO.LOGMNR_UID = O.LOGMNR_UID AND
R.LOGMNR_UID = O.LOGMNR_UID AND
OO.OID$ = R.STABID AND
R.INTCOL# = LC.INTCOL# AND
R.OBJ# = O.OBJ#)
ELSE NULL END XREFFEDTABLEOBJV
,
CASE LC.TYPE# WHEN 58 /* DTYOPQ */ THEN
(SELECT CT.FLAGS
FROM SYSTEM.LOGMNR_COLTYPE$ CT
WHERE CT.LOGMNR_UID = O.LOGMNR_UID
AND CT.OBJ# = O.OBJ# AND
CT.INTCOL# = LC.INTCOL#)
ELSE NULL END XCOLTYPEFLAGS
,
CASE LC.TYPE# WHEN 58 /* DTYOPQ */ THEN
(SELECT OT.TYPE
FROM SYSTEM.LOGMNR_OPQTYPE$ OT
WHERE OT.LOGMNR_UID = O.LOGMNR_UID
AND OT.OBJ# = O.OBJ# AND
OT.INTCOL# = LC.INTCOL#)
ELSE NULL END XOPQTYPETYPE
,
CASE LC.TYPE# WHEN 58 /* DTYOPQ */ THEN
(SELECT OT.FLAGS
FROM SYSTEM.LOGMNR_OPQTYPE$ OT
WHERE OT.LOGMNR_UID = O.LOGMNR_UID
AND OT.OBJ# = O.OBJ# AND
OT.INTCOL# = LC.INTCOL#)
ELSE NULL END XOPQTYPEFLAGS
,
CASE LC.TYPE# WHEN 58 /* DTYOPQ */ THEN
(SELECT OT.LOBCOL
FROM SYSTEM.LOGMNR_OPQTYPE$ OT
WHERE OT.LOGMNR_UID = O.LOGMNR_UID
AND OT.OBJ# = O.OBJ# AND
OT.INTCOL# = LC.INTCOL#)
ELSE NULL END XOPQLOBINTCOL
,
CASE LC.TYPE# WHEN 58 /* DTYOPQ */ THEN
(SELECT OT.OBJCOL
FROM SYSTEM.LOGMNR_OPQTYPE$ OT
WHERE OT.LOGMNR_UID = O.LOGMNR_UID
AND OT.OBJ# = O.OBJ# AND
OT.INTCOL# = LC.INTCOL#)
ELSE NULL END XOPQOBJINTCOL
,
/* XMLINTCOL */
CASE WHEN (BITAND(LT.PROPERTY
, 1) = 0) /* TYPED TABLE BIT NOT SET */
THEN /* RELATIONAL TABLE */
/* MOST COLUMNS ARE NOT HIDDEN
AND THUS DO NOT HAVE */
/* AN ASSOCIATED TOPINTCOL/XMLINTOCOL. */
CASE WHEN
(BITAND(LC.PROPERTY
, 32) = 0) THEN /* NOT HIDDEN COLUMN */
NULL /* DO NOT SET XMLINTCOL */
ELSE /* IT IS HIDDEN
AND IS NOT COL# = 0 (IE SPECIAL) */
/* SO FIND THE COVERING USER VISIBLE COLUMN */
/* IF IT IS NOT XML
, THEN WE WANT/GET NULL */
(SELECT MIN(SC.INTCOL#)
FROM SYSTEM.LOGMNR_COL$ SC
, SYSTEM.LOGMNR_OPQTYPE$ OPQ
WHERE SC.LOGMNR_UID = O.LOGMNR_UID AND
OPQ.LOGMNR_UID = O.LOGMNR_UID AND
SC.OBJ# = LC.OBJ#
AND /* SAME OBJ# */
OPQ.OBJ# = LC.OBJ#
AND /* SAME OBJ# */
SC.COL# = LC.COL#
AND /* SAME COL# */
SC.INTCOL# = OPQ.INTCOL# AND
BITAND(SC.PROPERTY
, 1) = 0
AND /*NOT AN ATTRIBUTE*/
SC.TYPE# = 58
AND /* OPAQUE TYPE */
OPQ.TYPE = 1) /* XML */
END
ELSE /* TYPED TABLE */
(SELECT MIN(SC.INTCOL#) /* NULL IF TOPINTOCL IS NOT XML */
FROM SYSTEM.LOGMNR_COL$ SC
, SYSTEM.LOGMNR_OPQTYPE$ OPQ
WHERE SC.LOGMNR_UID = O.LOGMNR_UID
AND SC.OBJ# = LC.OBJ# AND
OPQ.LOGMNR_UID = O.LOGMNR_UID
AND OPQ.OBJ# = LC.OBJ# AND
OPQ.INTCOL# = SC.INTCOL# AND
BITAND(SC.PROPERTY
, 512) = 512
AND /* ROWINFO COL */
SC.TYPE# = 58
AND /* OPAQUE TYPE */
OPQ.TYPE = 1) /* XML */
END XXMLINTCOL
,
CASE WHEN (BITAND(LC.PROPERTY
, 67108864) = 67108864) /* ENCRYPT COL */
THEN
(SELECT EA.OWNER#
FROM SYSTEM.LOGMNR_ENC$ EA
WHERE EA.LOGMNR_UID = O.LOGMNR_UID
AND EA.OBJ# = O.OBJ#)
ELSE NULL END EAOWNER#
,
CASE WHEN (BITAND(LC.PROPERTY
, 67108864) = 67108864)
THEN
(SELECT EA.MKEYID
FROM SYSTEM.LOGMNR_ENC$ EA
WHERE EA.LOGMNR_UID = O.LOGMNR_UID
AND EA.OBJ# = O.OBJ#)
ELSE NULL END EAMKEYID
,
CASE WHEN (BITAND(LC.PROPERTY
, 67108864) = 67108864)
THEN
(SELECT EA.ENCALG
FROM SYSTEM.LOGMNR_ENC$ EA
WHERE EA.LOGMNR_UID = O.LOGMNR_UID
AND EA.OBJ# = O.OBJ#)
ELSE NULL END EAENCALG
,
CASE WHEN (BITAND(LC.PROPERTY
, 67108864) = 67108864)
THEN
(SELECT EA.INTALG
FROM SYSTEM.LOGMNR_ENC$ EA
WHERE EA.LOGMNR_UID = O.LOGMNR_UID
AND EA.OBJ# = O.OBJ#)
ELSE NULL END EAINTALG
,
CASE WHEN (BITAND(LC.PROPERTY
, 67108864) = 67108864)
THEN
(SELECT EA.COLKLC
FROM SYSTEM.LOGMNR_ENC$ EA
WHERE EA.LOGMNR_UID = O.LOGMNR_UID
AND EA.OBJ# = O.OBJ#)
ELSE NULL END EACOLKLC
,
CASE WHEN (BITAND(LC.PROPERTY
, 67108864) = 67108864)
THEN
(SELECT EA.KLCLEN
FROM SYSTEM.LOGMNR_ENC$ EA
WHERE EA.LOGMNR_UID = O.LOGMNR_UID
AND EA.OBJ# = O.OBJ#)
ELSE NULL END EAKLCLEN
,
CASE WHEN (BITAND(LC.PROPERTY
, 67108864) = 67108864)
THEN
(SELECT NVL(EA.FLAG
, 0)
FROM SYSTEM.LOGMNR_ENC$ EA
WHERE EA.LOGMNR_UID = O.LOGMNR_UID
AND EA.OBJ# = O.OBJ#)
ELSE NULL END EAFLAGS
,
0 AS LOGMNRDERIVEDFLAGS
FROM
SYSTEM.LOGMNR_COL$ LC
, SYSTEM.LOGMNR_TAB$ LT
, SYSTEM.LOGMNR_OBJ$ O
WHERE
O.LOGMNR_UID = LC.LOGMNR_UID AND
O.LOGMNR_UID = LT.LOGMNR_UID AND
O.OBJ# = LT.OBJ# AND
O.OBJ# = LC.OBJ#
ORDER BY LC.LOGMNR_UID
, O.OBJ#
, LC.INTCOL#
|
|
|
|