DBA Data[Home] [Help]
Skip to content

VIEW: SYS.LOGMNR_GTCS_SUPPORT

Source

View Text - Preformatted

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#
View Text - HTML Formatted

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#