DBA Data[Home] [Help]

VIEW: SYS.KU$_PRIM_COLUMN_VIEW

Source

View Text - Preformatted

select c.obj#, c.col#, c.intcol#, c.segcol#,
         bitand(c.property, 4294967295),
         trunc(c.property / power(2,32)),
         c.name, c.type#, c.length,
         c.precision#, c.scale, c.null$, c.deflength,
         case
           when c.deflength > 4000
           then null
           else
             sys.dbms_metadata_util.long2varchar(c.deflength,
                                                 'SYS.COL$',
                                                 'DEFAULT$',
                                                  c.rowid)
         end,
         case
           when c.deflength <= 4000
           then null
           else
             sys.dbms_metadata_util.long2clob(c.deflength,
                                              'SYS.COL$',
                                              'DEFAULT$',
                                              c.rowid)
         end,
         case
           when c.deflength is null or bitand(c.property,32+65536)=0
           then null
           else
             (select sys.dbms_metadata.parse_default(u.name,o.name,
                                                     c.deflength, c.rowid)
              from obj$ o, user$ u
              where o.obj#=c.obj# and o.owner#=u.user#)
         end,
         sys.dbms_metadata_util.blob2clob(c.obj#,c.intcol#, c.property),
         (select e.guard_id from ecol$ e where e.tabobj#=c.obj# and e.colnum=c.intcol#),
         c.charsetid, c.charsetform,
         c.intcol#,0,NULL,
         ( select value(cv)
             from ku$_constraint_col_view ccv, ku$_constraint0_view cv
             where c.intcol# = ccv.intcol_num
             and c.obj# = ccv.obj_num
             and ccv.con_num = cv.con_num
             and cv.contype in (7,11)
         ),
         c.spare1, c.spare2, c.spare3, c.spare4, c.spare5,
         to_char(c.spare6,'YYYY/MM/DD HH24:MI:SS'),
         case when (bitand(c.property,137438953472+274877906944)!=0) then
             (select value(i) from ku$_identity_col_view i
                              where i.obj_num = c.obj#)
         else null end, nvl(evaledition#,0),
            nvl(unusablebefore#,0),
            nvl(unusablebeginning#,0),
         -- Column sortkey: in principle we want to sort by segcol#, but
         -- segcol# for xmltype is 0 so replace it with the segcol# of its
         -- underlying lob or object rel column that contains the actual
         -- data.  This query needs to be identical to the one for the
         -- col_sorkey column in ku$_strmtable_view in order to ensure that
         -- lob columns are ordered identically when writing to and reading
         -- from dump files (bug# 12998987, 17627666).
         case when (c.segcol# = 0 and c.type# = 58) then
          NVL((select cc.segcol# from col$ cc, opqtype$ opq
              where opq.obj#=c.obj#
                and opq.intcol#=c.intcol#
                and opq.type=1
                and cc.intcol#=opq.lobcol    -- xmltype stored as lob
                and cc.obj#=c.obj#),
                (NVL((select cc.segcol# from col$ cc, opqtype$ opq
                      where opq.obj#=c.obj#
                        and opq.intcol#=c.intcol#
                        and opq.type=1
                        and cc.intcol#=opq.objcol  -- xmltype stored obj rel
                        and bitand(opq.flags,1)=1
                        and cc.obj#=c.obj#),0)))
         else c.segcol#
         end
  from col$ c where ((nvl(unusablebefore#,0) = 0 OR
          dbms_editions_utilities.compare_edition(
            dbms_metadata.get_edition_id, unusablebefore#) in (0, 2))
          AND
          (nvl(unusablebeginning#,0) = 0 OR
           dbms_editions_utilities.compare_edition(
             dbms_metadata.get_edition_id, unusablebeginning#) = 1))
  
View Text - HTML Formatted

SELECT C.OBJ#
, C.COL#
, C.INTCOL#
, C.SEGCOL#
, BITAND(C.PROPERTY
, 4294967295)
, TRUNC(C.PROPERTY / POWER(2
, 32))
, C.NAME
, C.TYPE#
, C.LENGTH
, C.PRECISION#
, C.SCALE
, C.NULL$
, C.DEFLENGTH
, CASE WHEN C.DEFLENGTH > 4000 THEN NULL ELSE SYS.DBMS_METADATA_UTIL.LONG2VARCHAR(C.DEFLENGTH
, 'SYS.COL$'
, 'DEFAULT$'
, C.ROWID) END
, CASE WHEN C.DEFLENGTH <= 4000 THEN NULL ELSE SYS.DBMS_METADATA_UTIL.LONG2CLOB(C.DEFLENGTH
, 'SYS.COL$'
, 'DEFAULT$'
, C.ROWID) END
, CASE WHEN C.DEFLENGTH IS NULL OR BITAND(C.PROPERTY
, 32+65536)=0 THEN NULL ELSE (SELECT SYS.DBMS_METADATA.PARSE_DEFAULT(U.NAME
, O.NAME
, C.DEFLENGTH
, C.ROWID)
FROM OBJ$ O
, USER$ U
WHERE O.OBJ#=C.OBJ#
AND O.OWNER#=U.USER#) END
, SYS.DBMS_METADATA_UTIL.BLOB2CLOB(C.OBJ#
, C.INTCOL#
, C.PROPERTY)
, (SELECT E.GUARD_ID
FROM ECOL$ E
WHERE E.TABOBJ#=C.OBJ#
AND E.COLNUM=C.INTCOL#)
, C.CHARSETID
, C.CHARSETFORM
, C.INTCOL#
, 0
, NULL
, ( SELECT VALUE(CV)
FROM KU$_CONSTRAINT_COL_VIEW CCV
, KU$_CONSTRAINT0_VIEW CV
WHERE C.INTCOL# = CCV.INTCOL_NUM
AND C.OBJ# = CCV.OBJ_NUM
AND CCV.CON_NUM = CV.CON_NUM
AND CV.CONTYPE IN (7
, 11) )
, C.SPARE1
, C.SPARE2
, C.SPARE3
, C.SPARE4
, C.SPARE5
, TO_CHAR(C.SPARE6
, 'YYYY/MM/DD HH24:MI:SS')
, CASE WHEN (BITAND(C.PROPERTY
, 137438953472+274877906944)!=0) THEN (SELECT VALUE(I)
FROM KU$_IDENTITY_COL_VIEW I
WHERE I.OBJ_NUM = C.OBJ#) ELSE NULL END
, NVL(EVALEDITION#
, 0)
, NVL(UNUSABLEBEFORE#
, 0)
, NVL(UNUSABLEBEGINNING#
, 0)
, -- COLUMN SORTKEY: IN PRINCIPLE WE WANT TO SORT BY SEGCOL#
, BUT -- SEGCOL# FOR XMLTYPE IS 0 SO REPLACE IT WITH THE SEGCOL# OF ITS -- UNDERLYING LOB OR OBJECT REL COLUMN THAT CONTAINS THE ACTUAL -- DATA. THIS QUERY NEEDS TO BE IDENTICAL TO THE ONE FOR THE -- COL_SORKEY COLUMN IN KU$_STRMTABLE_VIEW IN ORDER TO ENSURE THAT -- LOB COLUMNS ARE ORDERED IDENTICALLY WHEN WRITING TO
AND READING --
FROM DUMP FILES (BUG# 12998987
, 17627666). CASE WHEN (C.SEGCOL# = 0
AND C.TYPE# = 58) THEN NVL((SELECT CC.SEGCOL#
FROM COL$ CC
, OPQTYPE$ OPQ
WHERE OPQ.OBJ#=C.OBJ#
AND OPQ.INTCOL#=C.INTCOL#
AND OPQ.TYPE=1
AND CC.INTCOL#=OPQ.LOBCOL -- XMLTYPE STORED AS LOB
AND CC.OBJ#=C.OBJ#)
, (NVL((SELECT CC.SEGCOL#
FROM COL$ CC
, OPQTYPE$ OPQ
WHERE OPQ.OBJ#=C.OBJ#
AND OPQ.INTCOL#=C.INTCOL#
AND OPQ.TYPE=1
AND CC.INTCOL#=OPQ.OBJCOL -- XMLTYPE STORED OBJ REL
AND BITAND(OPQ.FLAGS
, 1)=1
AND CC.OBJ#=C.OBJ#)
, 0))) ELSE C.SEGCOL# END
FROM COL$ C
WHERE ((NVL(UNUSABLEBEFORE#
, 0) = 0 OR DBMS_EDITIONS_UTILITIES.COMPARE_EDITION( DBMS_METADATA.GET_EDITION_ID
, UNUSABLEBEFORE#) IN (0
, 2)) AND (NVL(UNUSABLEBEGINNING#
, 0) = 0 OR DBMS_EDITIONS_UTILITIES.COMPARE_EDITION( DBMS_METADATA.GET_EDITION_ID
, UNUSABLEBEGINNING#) = 1))