1 package dbms_xqueryint authid current_user is
2
3 /* flags defined in qmxqrs.c and OXQServer.java */
4 /* Fragment flag */
5 QMXQRS_JAVA_FRAGMENT CONSTANT NUMBER := 1;
6 QMXQRS_JAVA_SCHEMABASED CONSTANT NUMBER := 2;
7 /* variable bind is SQL scalar input value */
8 QMXQRS_JAVA_XS_DEC_INPUT CONSTANT NUMBER := 4;
9 QMXQRS_JAVA_XS_STR_INPUT CONSTANT NUMBER := 8;
10 QMXQRS_JAVA_XS_FLT_INPUT CONSTANT NUMBER := 16;
11 QMXQRS_JAVA_XS_DBL_INPUT CONSTANT NUMBER := 32;
12 QMXQRS_JAVA_XS_DATE_INPUT CONSTANT NUMBER := 64;
13 QMXQRS_JAVA_XS_TIME_INPUT CONSTANT NUMBER := 128;
14 QMXQRS_JAVA_XS_DATETIME_INPUT CONSTANT NUMBER := 256;
15 QMXQRS_JAVA_XDT_DYTMDUR_INPUT CONSTANT NUMBER := 512;
16 QMXQRS_JAVA_XDT_YRMONDUR_INPUT CONSTANT NUMBER := 1024;
17 /* called by exists evaluation */
18 QMXQRS_JAVA_CHK_EXSTS CONSTANT NUMBER := 2048;
19 QMXQRS_JAVA_NO_DOCWRAP CONSTANT NUMBER := 4096;
20
21 /* qmt.h */
22 QMTXT_ANYTYPE CONSTANT NUMBER := 0;
23 QMTXT_ANYSIMPLETYPE CONSTANT NUMBER := 1;
24 QMTXT_STRING CONSTANT NUMBER := 2;
25 QMTXT_BOOLEAN CONSTANT NUMBER := 3;
26 QMTXT_DECIMAL CONSTANT NUMBER := 4;
27 QMTXT_FLOAT CONSTANT NUMBER := 5;
28 QMTXT_DOUBLE CONSTANT NUMBER := 6;
29 QMTXT_DURATION CONSTANT NUMBER := 7;
30 QMTXT_DATETIME CONSTANT NUMBER := 8;
31 QMTXT_TIME CONSTANT NUMBER := 9;
32 QMTXT_DATE CONSTANT NUMBER := 10;
33 QMTXT_GDAY CONSTANT NUMBER := 11;
34 QMTXT_GMONTH CONSTANT NUMBER := 12;
35 QMTXT_GYEAR CONSTANT NUMBER := 13;
36 QMTXT_GYEARMONTH CONSTANT NUMBER := 14;
37 QMTXT_GMONTHDAY CONSTANT NUMBER := 15;
38 QMTXT_HEXBINARY CONSTANT NUMBER := 16;
39 QMTXT_BASE64BINARY CONSTANT NUMBER := 17;
40 QMTXT_ANYURI CONSTANT NUMBER := 18;
41 QMTXT_QNAME CONSTANT NUMBER := 19;
42 QMTXT_NOTATION CONSTANT NUMBER := 20;
43
44 /* Derived */
45 QMTXT_NORMALIZEDSTRING CONSTANT NUMBER := 21;
46 QMTXT_TOKEN CONSTANT NUMBER := 22;
47 QMTXT_LANGUAGE CONSTANT NUMBER := 23;
48 QMTXT_NMTOKEN CONSTANT NUMBER := 24;
49 QMTXT_NMTOKENS CONSTANT NUMBER := 25;
50 QMTXT_NAME CONSTANT NUMBER := 26;
51 QMTXT_NCNAME CONSTANT NUMBER := 27;
52 QMTXT_ID CONSTANT NUMBER := 28;
53 QMTXT_IDREF CONSTANT NUMBER := 29;
54 QMTXT_IDREFS CONSTANT NUMBER := 30;
55 QMTXT_ENTITY CONSTANT NUMBER := 31;
56 QMTXT_ENTITIES CONSTANT NUMBER := 32;
57 QMTXT_INTEGER CONSTANT NUMBER := 33;
58 QMTXT_NONPOSITIVEINTEGER CONSTANT NUMBER := 34;
59 QMTXT_NEGATIVEINTEGER CONSTANT NUMBER := 35;
60 QMTXT_LONG CONSTANT NUMBER := 36;
61 QMTXT_INT CONSTANT NUMBER := 37;
62 QMTXT_SHORT CONSTANT NUMBER := 38;
63 QMTXT_BYTE CONSTANT NUMBER := 39;
64 QMTXT_NONNEGATIVEINTEGER CONSTANT NUMBER := 40;
65 QMTXT_UNSIGNEDLONG CONSTANT NUMBER := 41;
66 QMTXT_UNSIGNEDINT CONSTANT NUMBER := 42;
67 QMTXT_UNSIGNEDSHORT CONSTANT NUMBER := 43;
68 QMTXT_UNSIGNEDBYTE CONSTANT NUMBER := 44;
69 QMTXT_POSITIVEINTEGER CONSTANT NUMBER := 45;
70
71 /* XDB standard simple types */
72 QMTXT_REF CONSTANT NUMBER := 46;
73 /* Oracle extensions */
74 QMTXT_QNAMES CONSTANT NUMBER := 47;
75
76 /*************** XDT basic types for XQuery Primitive Types Beg***************/
77 QMTXT_XDT_ANYATOMICTYPE CONSTANT NUMBER := 48;
78 QMTXT_XDT_UNTYPEDANY CONSTANT NUMBER := 49;
79 QMTXT_XDT_UNTYPEDATOMIC CONSTANT NUMBER := 50;
80 QMTXT_XDT_DAYTIMEDURATION CONSTANT NUMBER := 51;
81 QMTXT_XDT_YEARMONTHDURATION CONSTANT NUMBER := 52;
82 /*************** XDT basic types for XQuery Primitive Types End***************/
83
84 QMTXT_INVALIDTYPE CONSTANT NUMBER := 255;
85
86 /* dtydef.h */
87 DTYCHR CONSTANT NUMBER := 1;
88 DTYNUM CONSTANT NUMBER := 2;
89 DTYIBFLOAT CONSTANT NUMBER := 100;
90 DTYIBDOUBLE CONSTANT NUMBER := 101;
91 DTYSTZ CONSTANT NUMBER := 181;
92 DTYESTZ CONSTANT NUMBER := 188;
93 DTYBIN CONSTANT NUMBER := 23;
94 DTYIDS CONSTANT NUMBER := 183;
95 DTYEIDS CONSTANT NUMBER := 190;
96 DTYIYM CONSTANT NUMBER := 182;
97 DTYEIYM CONSTANT NUMBER := 189;
98
99 /* flags used when prepare an XQuery,
100 * defined in qmxqrs.c and Configuration.java */
101 QMXQRS_JCONF_XQ_PUSHDOWN CONSTANT NUMBER := 1;
102 QMXQRS_JCONF_VAR_AS_EXTL CONSTANT NUMBER := 2;
103 QMXQRS_JCONF_EXTL_FUNC_LAX CONSTANT NUMBER := 4;
104 QMXQRS_JCONF_NO_XP_PUSHDOWN CONSTANT NUMBER := 8;
105 QMXQRS_JCONF_NO_STATIC_TYPING CONSTANT NUMBER := 16;
106 QMXQRS_JCONF_ENABLE_LAZY_DOM CONSTANT NUMBER := 32;
107
108 function exec(hdl in number, retseq in number)
109 return sys.xmltype parallel_enable;
110
111 /****************/
112 FUNCTION execallCmn(xqry in varchar2, nlssrt in varchar2, nlscmp in varchar2,
113 dbchr in varchar2, retseq in number, flags in number, xqryclb in clob,
114 xqisclob in number, hdl in out number)
115 return sys.xmltype;
116
117 FUNCTION execall(xqry in varchar2, nlssrt in varchar2, nlscmp in varchar2,
118 dbchr in varchar2, retseq in number, flags in number,
119 hdl in out number)
120 return sys.xmltype parallel_enable;
121
122
123 FUNCTION execallxclb(xqryclb in clob, nlssrt in varchar2, nlscmp in varchar2,
124 dbchr in varchar2, retseq in number, flags in number,
125 hdl in out number)
126 return sys.xmltype parallel_enable;
127 /****************/
128
129 /****************/
130 FUNCTION executeCmn(xqry in varchar2, xctx in xmltype:=null, retseq in number := 0, xqryclb in clob, xqisclob in number)
131 return sys.xmltype parallel_enable;
132
133 function execute(xqry in varchar2, xctx in xmltype := null,
134 retseq in number := 0)
135 return sys.xmltype parallel_enable;
136
137 function executexclb(xqry in clob, xctx in xmltype := null,
138 retseq in number := 0)
139 return sys.xmltype parallel_enable;
140 /****************/
141
142 function getXQueryX(xqry in varchar2) return clob parallel_enable;
143 function getXQueryXxclb(xqry in clob) return clob parallel_enable;
144
145 function prepare(xqry in varchar2, nlssrt in varchar2, nlscmp in varchar2, dbchr in varchar2, flags in number) return number;
146 function preparexclb(xqry in clob, nlssrt in varchar2, nlscmp in varchar2, dbchr in varchar2, flags in number) return number;
147
148 procedure bind(hdl in number, name in varchar2, flags in number, xctx in clob, schema in varchar2 ) ;
149
150 procedure bindWithType(hdl in number, name in varchar2, flags in number, xctx in clob, schema in varchar2 , xqtype in number) ;
151
152 function bindXML(hdl in number, name in varchar2, xctx in sys.xmltype)
153 return number
154 as LANGUAGE JAVA NAME
155 'oracle.xquery.OXQServer.bindXML(int, java.lang.String, oracle.xdb.XMLType)
156 return int';
157
158 procedure execQuery(hdl in number);
159 function fetchAll(hdl in number, xctx in out clob, flags in out number)
160 return number;
161 function fetchOne(hdl in number, xctx in out clob, flags in out number, str out varchar2, xqtype in out number) return number;
162 procedure closeHdl(hdl in number);
163
164 /* XMLExists Support */
165 function exec_exists(hdl in number, retseq in number) return number;
166 function execall_exists(xqry in varchar2, nlssrt in varchar2,
167 nlscmp in varchar2,
168 dbchr in varchar2, retseq in number, flags in number,
169 hdl in out number)
170 return number;
171 FUNCTION execallxclb_exists(xqryclb in clob, nlssrt in varchar2,
172 nlscmp in varchar2,
173 dbchr in varchar2, retseq in number, flags in number,
174 hdl in out number)
175 return number;
176
177 end;