270: -- schema - schema
271: -- tab - table name
272: -- length - length of the constraint
273: -- row - rowid of the row in CDEF$
274: -- RETURNS: XMLType containing parsed condition as XML
275: -- if length is not NULL
276: -- otherwise NULL
277:
278: FUNCTION parse_condition(
279: schema IN VARCHAR2,
280: tab IN VARCHAR2,
281: length IN NUMBER,
282: row IN ROWID)
283: RETURN SYS.XMLTYPE;
284:
285: -- PARSE_DEFAULT: Parse the default value of a virtual column
286: -- (which contains an arithmetic expression for a functional index)
287: -- and return it as XML
289: -- schema - schema
290: -- tab - table name
291: -- length - length of the default
292: -- row - rowid of the row in COL$
293: -- RETURNS: XMLType containing parsed expression as XML
294: -- if length is not NULL
295: -- otherwise NULL
296:
297: FUNCTION parse_default(
298: schema IN VARCHAR2,
299: tab IN VARCHAR2,
300: length IN NUMBER,
301: row IN ROWID)
302: RETURN SYS.XMLTYPE;
303:
304: -- PARSE_QUERY: Parse a query stored in a long column (e.g., view query).
305: -- and return it as XML
306: -- PARAMETERS:
310: -- col - column name
311: -- row - rowid of the row
312: -- read_only - non-0 = query has 'with read only'
313: -- check_option - non-0 = query has 'with check option'
314: -- RETURNS: XMLType containing parsed query as XML
315: -- if length is not NULL
316: -- otherwise NULL
317:
318: FUNCTION parse_query(
322: col IN VARCHAR2,
323: row IN ROWID,
324: read_only IN NUMBER DEFAULT 0,
325: check_option IN NUMBER DEFAULT 0)
326: RETURN SYS.XMLTYPE;
327:
328: -- PARSE_QUERY: Parse a query stored in a clob
329: -- and return it as XML
330: -- PARAMETERS:
331: -- schema - schema
332: -- query - query text
333: -- read_only - non-0 = query has 'with read only'
334: -- check_option - non-0 = query has 'with check option'
335: -- RETURNS: XMLType containing parsed query as XML
336: -- if length is not NULL
337: -- otherwise NULL
338:
339: FUNCTION parse_query(
340: schema IN VARCHAR2,
341: query IN CLOB,
342: read_only IN NUMBER DEFAULT 0,
343: check_option IN NUMBER DEFAULT 0)
344: RETURN SYS.XMLTYPE;
345:
346: -- NULLTOCHR0 - Replace \0 with CHR(0) in varchar
347: -- PARAMETERS:
348: -- value - varchar value
422: -- a nested table belongs
423: -- PARAMETERS:
424: -- nt - obj# of the nested table
425: -- exclude_xml - 0 - return anc for all NTs
426: -- 1 - exclude NTs for XMLtype OR storage
427: -- 2 - include only NTs for XMLtype OR storage
428: -- RETURNS:
429: -- obj# of the base table
430:
423: -- PARAMETERS:
424: -- nt - obj# of the nested table
425: -- exclude_xml - 0 - return anc for all NTs
426: -- 1 - exclude NTs for XMLtype OR storage
427: -- 2 - include only NTs for XMLtype OR storage
428: -- RETURNS:
429: -- obj# of the base table
430:
431: FUNCTION get_anc(
664: )
665: RETURN NUMBER;
666:
667: ----------------------------------------------------------------------------
668: -- GET_XMLTYPE_FMTS: Return formats of XMLType columns in a table
669: -- PARAMETERS:
670: -- objnum - table object number
671: -- RETURNS: 0x01 = table has XMLType stored as CLOB
672: -- 0x02 = table has XMLType stored OR or binary
667: ----------------------------------------------------------------------------
668: -- GET_XMLTYPE_FMTS: Return formats of XMLType columns in a table
669: -- PARAMETERS:
670: -- objnum - table object number
671: -- RETURNS: 0x01 = table has XMLType stored as CLOB
672: -- 0x02 = table has XMLType stored OR or binary
673:
674: FUNCTION get_xmltype_fmts(
675: objnum IN number)
668: -- GET_XMLTYPE_FMTS: Return formats of XMLType columns in a table
669: -- PARAMETERS:
670: -- objnum - table object number
671: -- RETURNS: 0x01 = table has XMLType stored as CLOB
672: -- 0x02 = table has XMLType stored OR or binary
673:
674: FUNCTION get_xmltype_fmts(
675: objnum IN number)
676: RETURN NUMBER;
670: -- objnum - table object number
671: -- RETURNS: 0x01 = table has XMLType stored as CLOB
672: -- 0x02 = table has XMLType stored OR or binary
673:
674: FUNCTION get_xmltype_fmts(
675: objnum IN number)
676: RETURN NUMBER;
677:
678: ----------------------------------------------------------------------------
690: RETURN CLOB;
691:
692: -----------------------------------------------------------------------
693: -- GET_BASE_INTCOL_NUM - Return intcol# of base column.
694: -- For lobs associated with XMLType columns,
695: -- this is the intcol# of the XMLType column;
696: -- otherwise, intcol# of the first column with this col#
697: -- PARAMETERS:
698: -- objnum - table obj#
691:
692: -----------------------------------------------------------------------
693: -- GET_BASE_INTCOL_NUM - Return intcol# of base column.
694: -- For lobs associated with XMLType columns,
695: -- this is the intcol# of the XMLType column;
696: -- otherwise, intcol# of the first column with this col#
697: -- PARAMETERS:
698: -- objnum - table obj#
699: -- colnum - col# of this column
709: RETURN NUMBER;
710:
711: -----------------------------------------------------------------------
712: -- GET_BASE_COL_TYPE - Return 1 if base column is udt,
713: -- 2 if base column is XMLType stored OR or CSX
714: -- 3 if base column is XMLType stored as LOB
715: -- 0 if intcol = base column or base column not
716: -- udt or XMLType
717: -- PARAMETERS:
710:
711: -----------------------------------------------------------------------
712: -- GET_BASE_COL_TYPE - Return 1 if base column is udt,
713: -- 2 if base column is XMLType stored OR or CSX
714: -- 3 if base column is XMLType stored as LOB
715: -- 0 if intcol = base column or base column not
716: -- udt or XMLType
717: -- PARAMETERS:
718: -- objnum - table obj#
712: -- GET_BASE_COL_TYPE - Return 1 if base column is udt,
713: -- 2 if base column is XMLType stored OR or CSX
714: -- 3 if base column is XMLType stored as LOB
715: -- 0 if intcol = base column or base column not
716: -- udt or XMLType
717: -- PARAMETERS:
718: -- objnum - table obj#
719: -- colnum - col# of this column
720: -- intcol - intcol# of this column
728: )
729: RETURN NUMBER;
730:
731: -----------------------------------------------------------------------
732: -- GET_BASE_COL_NAME - return name of base xmltype column
733: -- PARAMETERS:
734: -- objnum - table obj#
735: -- colnum - col# of this column
736: -- intcol - intcol# of this column
770: RETURN NUMBER;
771:
772: ---------------------------------------------------------------------
773: -- GET_INDEX_INTCOL - Get intcol# in table of column on which index is
774: -- defined (need special handling for xmltype cols)
775: -- PARAMETERS:
776: -- obj_num - base table object #
777: -- intcol_num - intcol# from icol$
778: --
823: PROCEDURE LOAD_XSD(filename varchar2);
824:
825: ---------------------------------------------------------------------
826: -- GET_XMLCOLSET - return nested table of intcol numbers for OR storage
827: -- columns for xmltypes in table
828: --
829: -- PARAMETERS:
830: -- obj_num - object number of table
831:
843: RETURN CHAR;
844:
845: ---------------------------------------------------------------------
846: -- isXml - return number indicating if intcol is OR storage
847: -- column of an xmltype column in table
848: -- PARAMETERS:
849: -- obj_num - object number of table
850: -- intcol - column to be tested
851: -- RETURNS
848: -- PARAMETERS:
849: -- obj_num - object number of table
850: -- intcol - column to be tested
851: -- RETURNS
852: -- 0 = not part of xmltype column
853: -- 1 = is part of xmltype column
854:
855: FUNCTION isXml (obj_num IN NUMBER, intcol IN NUMBER) return NUMBER;
856:
849: -- obj_num - object number of table
850: -- intcol - column to be tested
851: -- RETURNS
852: -- 0 = not part of xmltype column
853: -- 1 = is part of xmltype column
854:
855: FUNCTION isXml (obj_num IN NUMBER, intcol IN NUMBER) return NUMBER;
856:
857: ---------------------------------------------------------------------
855: FUNCTION isXml (obj_num IN NUMBER, intcol IN NUMBER) return NUMBER;
856:
857: ---------------------------------------------------------------------
858: -- isXml - another variant, starting with nested table
859: -- column of an xmltype column in table
860: -- PARAMETERS:
861: -- nt_num - nt number of nested table
862: -- RETURNS
863: -- 0 = not part of xmltype column
859: -- column of an xmltype column in table
860: -- PARAMETERS:
861: -- nt_num - nt number of nested table
862: -- RETURNS
863: -- 0 = not part of xmltype column
864: -- 1 = is part of xmltype column
865:
866: FUNCTION isXml (nt_num IN NUMBER) return NUMBER;
867:
860: -- PARAMETERS:
861: -- nt_num - nt number of nested table
862: -- RETURNS
863: -- 0 = not part of xmltype column
864: -- 1 = is part of xmltype column
865:
866: FUNCTION isXml (nt_num IN NUMBER) return NUMBER;
867:
868: ---------------------------------------------------------------------