1 PACKAGE dbms_xmlindex AUTHID CURRENT_USER AS
2
3 ----------------------------------------------------------------------------
4 -- PROCEDURE - CreateNumberIndex
5 -- Creates an index for number values in the XMLIndex. The index
6 -- is created on the VALUE column of the XMLIndex path table on the
7 -- expression TO_BINARY_DOUBLE(VALUE).
8 -- PARAMETERS -
9 -- xml_index_schema
10 -- Schema of the XMLIndex: default is current user schema
11 -- xml_index_name
12 -- Name of the XMLIndex
13 -- num_index_name: default is system-generated
14 -- Name of the number index to create
15 -- num_index_clause
16 -- Storage clause for the number index. This would simply be appended
17 -- to the CREATE INDEX statement.
18 -- xmltypename
19 -- Xml type name corresponding to the number - one of the following:
20 -- float
21 -- double
22 -- decimal
23 -- integer
24 -- nonPositiveInteger
25 -- negativeInteger
26 -- long
27 -- int
28 -- short
29 -- byte
30 -- nonNegativeInteger
31 -- unsignedLong
32 -- unsignedInt
33 -- unsignedShort
34 -- unsignedByte
35 -- positiveInteger
36 -- column_name
37 -- Name of the path table column on which to create the number index.
38 ----------------------------------------------------------------------------
39 PROCEDURE CreateNumberIndex(xml_index_schema IN VARCHAR2 := USER,
40 xml_index_name IN VARCHAR2,
41 num_index_name IN VARCHAR2 := NULL,
42 num_index_clause IN VARCHAR2 := NULL,
43 xmltypename IN VARCHAR2 := NULL,
44 column_name IN VARCHAR2 := NULL);
45 PRAGMA SUPPLEMENTAL_LOG_DATA(CreateNumberIndex, AUTO_WITH_COMMIT);
46
47 ----------------------------------------------------------------------------
48 -- PROCEDURE - CreateDateIndex
49 -- Creates an index for date values in the XMLIndex. The user specifies
50 -- the XML type name (date, dateTime etc.) and the index is created
51 -- on SYS_XMLCONV(VALUE) which would always return a TIMESTAMP datatype.
52 -- PARAMETERS -
53 -- xml_index_schema
54 -- Schema of the XMLIndex: default is current user schema
55 -- xml_index_name
56 -- Name of the XMLIndex
57 -- date_index_name: default is system generated
58 -- Name of the date index to be created
59 -- xmltypename
60 -- XML type name - one of the following
61 -- dateTime
62 -- time
63 -- date
64 -- gDay
65 -- gMonth
66 -- gYear
67 -- gYearMonth
68 -- gMonthDay
69 -- date_index_clause
70 -- Storage clause for the date index. This would simply be appended
71 -- to the CREATE INDEX statement.
72 -- column_name
73 -- Name of the path table column on which to create the date index.
74 ----------------------------------------------------------------------------
75 PROCEDURE CreateDateIndex(xml_index_schema IN VARCHAR2 := USER,
76 xml_index_name IN VARCHAR2,
77 date_index_name IN VARCHAR2 := NULL,
78 xmltypename IN VARCHAR2 := NULL,
79 date_index_clause IN VARCHAR2 := NULL,
80 column_name IN VARCHAR2 := NULL);
81 PRAGMA SUPPLEMENTAL_LOG_DATA(CreateDateIndex, AUTO_WITH_COMMIT);
82
83 ----------------------------------------------------------------------------
84 -- PROCEDURE SyncIndex(xml_index_schema IN VARCHAR2,
85 -- xml_index_name IN VARCHAR2,
86 -- partition_name IN VARCHAR2,
87 -- reindex IN BOOLEAN);
88
89 -- This procedure synchronizes an asynchronously maintained xmlindex.
90 -- It applies to the xmlindex changes that are logged in the pending
91 -- table, and brings the path table up-to-date with the base xmltype
92 -- column.
93 --
94 -- PARAMETERS
95 -- (a) xml_index_schema - Name of the owner of the XMLIndex.
96 -- (b) xml_index_name - Name of the XMLIndex.
97 -- (c) partition_name - Optional name of the partition to be synced.
98 -- (d) reindex - If true drops and recreates secondary indexes
99 -- on path table. Default is false.
100 ----------------------------------------------------------------------------
101 PROCEDURE SyncIndex(xml_index_schema IN VARCHAR2 default USER,
102 xml_index_name IN VARCHAR2,
103 partition_name IN VARCHAR2 default NULL,
104 reindex IN BOOLEAN default FALSE);
105 PRAGMA SUPPLEMENTAL_LOG_DATA(SyncIndex, AUTO_WITH_COMMIT);
106
107 PROCEDURE registerparameter(paramname IN VARCHAR2,
108 paramstr IN CLOB);
109 PRAGMA SUPPLEMENTAL_LOG_DATA(registerparameter, UNSUPPORTED_WITH_COMMIT);
110
111 PROCEDURE modifyparameter(paramname IN VARCHAR2,
112 paramstr IN CLOB);
113 PRAGMA SUPPLEMENTAL_LOG_DATA(modifyparameter, UNSUPPORTED_WITH_COMMIT);
114
115 PROCEDURE dropparameter(paramname IN VARCHAR2);
116 PRAGMA SUPPLEMENTAL_LOG_DATA(dropparameter, UNSUPPORTED_WITH_COMMIT);
117
118 FUNCTION getparameter(paramname IN VARCHAR2) RETURN VARCHAR2;
119
120 ----------------------------------------------------------------------------
121 -- PROCEDURE PROCESS_PENDING(xml_index_schema IN VARCHAR2,
122 -- xml_index_name IN VARCHAR2,
123 -- pending_row_count OUT BINARY_INTEGER,
124 -- error_row_count OUT BINARY_INTEGER);
125
126 -- This procedure executes DMLs required to complete a NONBLOCKING
127 -- alter index add_group/add_column operation.
128 --
129 -- PARAMETERS
130 -- (a) xml_index_schema - Name of the owner of the XMLIndex.
131 -- (b) xml_index_name - Name of the XMLIndex.
132 -- (c) pending_row_count - RETURNs number of rows that still have
133 -- to be processed/indexed.
134 -- (d) error_row_count - RETURNs number of rows for which indexing may
135 -- have failed because of an error
136 ----------------------------------------------------------------------------
137 PROCEDURE process_pending(xml_index_schema IN VARCHAR2,
138 xml_index_name IN VARCHAR2,
139 pending_row_count OUT BINARY_INTEGER,
140 error_row_count OUT BINARY_INTEGER);
141 PRAGMA SUPPLEMENTAL_LOG_DATA(process_pending, AUTO_WITH_COMMIT);
142
143 end dbms_xmlindex;