1 |
/* DatabaseMetaData.java -- Information about the database itself. |
/* DatabaseMetaData.java -- Information about the database itself. |
2 |
Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. |
Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. |
3 |
|
|
4 |
This file is part of GNU Classpath. |
This file is part of GNU Classpath. |
5 |
|
|
35 |
obligated to do so. If you do not wish to do so, delete this |
obligated to do so. If you do not wish to do so, delete this |
36 |
exception statement from your version. */ |
exception statement from your version. */ |
37 |
|
|
|
|
|
38 |
package java.sql; |
package java.sql; |
39 |
|
|
40 |
/** |
public interface DatabaseMetaData |
|
* This interface provides a mechanism for obtaining information about |
|
|
* the database itself, as opposed to data in it. |
|
|
* |
|
|
* @author Aaron M. Renn (arenn@urbanophile.com) |
|
|
*/ |
|
|
public interface DatabaseMetaData |
|
41 |
{ |
{ |
42 |
|
/** |
43 |
/** |
* It is unknown whether or not the procedure returns a result. |
44 |
* The best row may or may not be a pseudo-column. |
*/ |
45 |
*/ |
public static final int procedureResultUnknown = 0; |
46 |
public static final int bestRowUnknown = 0; |
|
47 |
|
/** |
48 |
/** |
* The procedure does not return a result. |
49 |
* The best row identifier is not a pseudo-column. |
*/ |
50 |
*/ |
public static final int procedureNoResult = 1; |
51 |
public static final int bestRowNotPseudo = 1; |
|
52 |
|
/** |
53 |
/** |
* The procedure returns a result. |
54 |
* The best row identifier is a pseudo-column. |
*/ |
55 |
*/ |
public static final int procedureReturnsResult = 2; |
56 |
public static final int bestRowPseudo = 2; |
|
57 |
|
/** |
58 |
/** |
* The column type is unknown. |
59 |
* The best row's scope is only guaranteed to be valid so long as the |
*/ |
60 |
* row is actually being used. |
public static final int procedureColumnUnknown = 0; |
61 |
*/ |
|
62 |
public static final int bestRowTemporary = 0; |
/** |
63 |
|
* The column type is input. |
64 |
/** |
*/ |
65 |
* The best row identifier is valid to the end of the transaction. |
public static final int procedureColumnIn = 1; |
66 |
*/ |
|
67 |
public static final int bestRowTransaction = 1; |
/** |
68 |
|
* The column type is input/output. |
69 |
/** |
*/ |
70 |
* The best row identifier is valid to the end of the session. |
public static final int procedureColumnInOut = 2; |
71 |
*/ |
|
72 |
public static final int bestRowSession = 2; |
/** |
73 |
|
* The column type is output |
74 |
/** |
*/ |
75 |
* It is unknown whether or not the procedure returns a result. |
public static final int procedureColumnOut = 4; |
76 |
*/ |
|
77 |
public static final int procedureResultUnknown = 0; |
/** |
78 |
|
* The column is used for return values. |
79 |
/** |
*/ |
80 |
* The procedure does not return a result. |
public static final int procedureColumnReturn = 5; |
81 |
*/ |
|
82 |
public static final int procedureNoResult = 1; |
/** |
83 |
|
* The column is used for storing results |
84 |
/** |
*/ |
85 |
* The procedure returns a result. |
public static final int procedureColumnResult = 3; |
86 |
*/ |
|
87 |
public static final int procedureReturnsResult = 2; |
/** |
88 |
|
* NULL values are not allowed. |
89 |
/** |
*/ |
90 |
* The column type is unknown. |
public static final int procedureNoNulls = 0; |
91 |
*/ |
|
92 |
public static final int procedureColumnUnknown = 0; |
/** |
93 |
|
* NULL values are allowed. |
94 |
/** |
*/ |
95 |
* The column type is input. |
public static final int procedureNullable = 1; |
96 |
*/ |
|
97 |
public static final int procedureColumnIn = 1; |
/** |
98 |
|
* It is unknown whether or not NULL values are allowed. |
99 |
/** |
*/ |
100 |
* The column type is input/output. |
public static final int procedureNullableUnknown = 2; |
101 |
*/ |
|
102 |
public static final int procedureColumnInOut = 2; |
/** |
103 |
|
* The column does not allow NULL |
104 |
/** |
*/ |
105 |
* The column type is output |
public static final int columnNoNulls = 0; |
106 |
*/ |
|
107 |
public static final int procedureColumnOut = 4; |
/** |
108 |
|
* The column does allow NULL |
109 |
/** |
*/ |
110 |
* The column is used for return values. |
public static final int columnNullable = 1; |
111 |
*/ |
|
112 |
public static final int procedureColumnReturn = 5; |
/** |
113 |
|
* It is unknown whether or not the column allows NULL |
114 |
/** |
*/ |
115 |
* The column is used for storing results |
public static final int columnNullableUnknown = 2; |
116 |
*/ |
|
117 |
public static final int procedureColumnResult = 3; |
/** |
118 |
|
* The best row's scope is only guaranteed to be valid so long as the |
119 |
/** |
* row is actually being used. |
120 |
* NULL values are not allowed. |
*/ |
121 |
*/ |
public static final int bestRowTemporary = 0; |
122 |
public static final int procedureNoNulls = 0; |
|
123 |
|
/** |
124 |
/** |
* The best row identifier is valid to the end of the transaction. |
125 |
* NULL values are allowed. |
*/ |
126 |
*/ |
public static final int bestRowTransaction = 1; |
127 |
public static final int procedureNullable = 1; |
|
128 |
|
/** |
129 |
/** |
* The best row identifier is valid to the end of the session. |
130 |
* It is unknown whether or not NULL values are allowed. |
*/ |
131 |
*/ |
public static final int bestRowSession = 2; |
132 |
public static final int procedureNullableUnknown = 2; |
|
133 |
|
/** |
134 |
/** |
* The best row may or may not be a pseudo-column. |
135 |
* The column does not allow NULL |
*/ |
136 |
*/ |
public static final int bestRowUnknown = 0; |
137 |
public static final int columnNoNulls = 0; |
|
138 |
|
/** |
139 |
/** |
* The best row identifier is not a pseudo-column. |
140 |
* The column does allow NULL |
*/ |
141 |
*/ |
public static final int bestRowNotPseudo = 1; |
142 |
public static final int columnNullable = 1; |
|
143 |
|
/** |
144 |
/** |
* The best row identifier is a pseudo-column. |
145 |
* It is unknown whether or not the column allows NULL |
*/ |
146 |
*/ |
public static final int bestRowPseudo = 2; |
147 |
public static final int columnNullableUnknown = 2; |
|
148 |
|
/** |
149 |
/** |
* It is unknown whether or not the version column is a pseudo-column. |
150 |
* It is unknown whether or not the version column is a pseudo-column. |
*/ |
151 |
*/ |
public static final int versionColumnUnknown = 0; |
152 |
public static final int versionColumnUnknown = 0; |
|
153 |
|
/** |
154 |
/** |
* The version column is not a pseudo-column |
155 |
* The version column is not a pseudo-column |
*/ |
156 |
*/ |
public static final int versionColumnNotPseudo = 1; |
157 |
public static final int versionColumnNotPseudo = 1; |
|
158 |
|
/** |
159 |
/** |
* The version column is a pseudo-column |
160 |
* The version column is a pseudo-column |
*/ |
161 |
*/ |
public static final int versionColumnPseudo = 2; |
162 |
public static final int versionColumnPseudo = 2; |
|
163 |
|
/** |
164 |
/** |
* Foreign key changes are cascaded in updates or deletes. |
165 |
* Foreign key changes are cascaded in updates or deletes. |
*/ |
166 |
*/ |
public static final int importedKeyCascade = 0; |
167 |
public static final int importedKeyCascade = 0; |
|
168 |
|
/** |
169 |
/** |
* Column may not be updated or deleted in use as a foreign key. |
170 |
* Column may not be updated or deleted in use as a foreign key. |
*/ |
171 |
*/ |
public static final int importedKeyRestrict = 1; |
172 |
public static final int importedKeyRestrict = 1; |
|
173 |
|
/** |
174 |
/** |
* When primary key is updated or deleted, the foreign key is set to NULL. |
175 |
* When primary key is updated or deleted, the foreign key is set to NULL. |
*/ |
176 |
*/ |
public static final int importedKeySetNull = 2; |
177 |
public static final int importedKeySetNull = 2; |
|
178 |
|
/** |
179 |
/** |
* If the primary key is a foreign key, it cannot be udpated or deleted. |
180 |
* If the primary key is a foreign key, it cannot be udpated or deleted. |
*/ |
181 |
*/ |
public static final int importedKeyNoAction = 3; |
182 |
public static final int importedKeyNoAction = 3; |
|
183 |
|
/** |
184 |
/** |
* If the primary key is updated or deleted, the foreign key is set to |
185 |
* If the primary key is updated or deleted, the foreign key is set to |
* a default value. |
186 |
* a default value. |
*/ |
187 |
*/ |
public static final int importedKeySetDefault = 4; |
188 |
public static final int importedKeySetDefault = 4; |
|
189 |
|
/** |
190 |
/** |
* Wish I knew what this meant. |
191 |
* Wish I knew what this meant. |
*/ |
192 |
*/ |
public static final int importedKeyInitiallyDeferred = 5; |
193 |
public static final int importedKeyInitiallyDeferred = 5; |
|
194 |
|
/** |
195 |
/** |
* Wish I knew what this meant. |
196 |
* Wish I knew what this meant. |
*/ |
197 |
*/ |
public static final int importedKeyInitiallyImmediate = 6; |
198 |
public static final int importedKeyInitiallyImmediate = 6; |
|
199 |
|
/** |
200 |
/** |
* Wish I knew what this meant. |
201 |
* Wish I knew what this meant. |
*/ |
202 |
*/ |
public static final int importedKeyNotDeferrable = 7; |
203 |
public static final int importedKeyNotDeferrable = 7; |
|
204 |
|
/** |
205 |
/** |
* A NULL value is not allowed for this data type. |
206 |
* A NULL value is not allowed for this data type. |
*/ |
207 |
*/ |
public static final int typeNoNulls = 0; |
208 |
public static final int typeNoNulls = 0; |
|
209 |
|
/** |
210 |
/** |
* A NULL value is allowed for this data type. |
211 |
* A NULL value is allowed for this data type. |
*/ |
212 |
*/ |
public static final int typeNullable = 1; |
213 |
public static final int typeNullable = 1; |
|
214 |
|
/** |
215 |
/** |
* It is unknown whether or not NULL values are allowed for this data type. |
216 |
* It is unknown whether or not NULL values are allowed for this data type. |
*/ |
217 |
*/ |
public static final int typeNullableUnknown = 2; |
218 |
public static final int typeNullableUnknown = 2; |
|
219 |
|
/** |
220 |
/** |
* Where clauses are not supported for this type. |
221 |
* Where clauses are not supported for this type. |
*/ |
222 |
*/ |
public static final int typePredNone = 0; |
223 |
public static final int typePredNone = 0; |
|
224 |
|
/** |
225 |
/** |
* Only "WHERE..LIKE" style WHERE clauses are allowed on this data type. |
226 |
* Only "WHERE..LIKE" style WHERE clauses are allowed on this data type. |
*/ |
227 |
*/ |
public static final int typePredChar = 1; |
228 |
public static final int typePredChar = 1; |
|
229 |
|
/** |
230 |
/** |
* All WHERE clauses except "WHERE..LIKE" style are allowed on this data type. |
231 |
* All WHERE clauses except "WHERE..LIKE" style are allowed on this data type. |
*/ |
232 |
*/ |
public static final int typePredBasic = 2; |
233 |
public static final int typePredBasic = 2; |
|
234 |
|
/** |
235 |
/** |
* Any type of WHERE clause is allowed for this data type. |
236 |
* Any type of WHERE clause is allowed for this data type. |
*/ |
237 |
*/ |
public static final int typeSearchable = 3; |
238 |
public static final int typeSearchable = 3; |
|
239 |
|
/** |
240 |
/** |
* This column contains table statistics. |
241 |
* This column contains table statistics. |
*/ |
242 |
*/ |
public static final short tableIndexStatistic = 0; |
243 |
public static final short tableIndexStatistic = 0; |
|
244 |
|
/** |
245 |
/** |
* This table index is clustered. |
246 |
* This table index is clustered. |
*/ |
247 |
*/ |
public static final short tableIndexClustered = 1; |
248 |
public static final short tableIndexClustered = 1; |
|
249 |
|
/** |
250 |
/** |
* This table index is hashed. |
251 |
* This table index is hashed. |
*/ |
252 |
*/ |
public static final short tableIndexHashed = 2; |
253 |
public static final short tableIndexHashed = 2; |
|
254 |
|
/** |
255 |
/** |
* This table index is of another type. |
256 |
* This table index is of another type. |
*/ |
257 |
*/ |
public static final short tableIndexOther = 3; |
258 |
public static final short tableIndexOther = 3; |
|
259 |
|
public static final short attributeNoNulls = 0; |
260 |
/*************************************************************************/ |
|
261 |
|
public static final short attributeNullable = 1; |
262 |
/** |
|
263 |
* This method tests whether or not all the procedures returned by |
public static final short attributeNullableUnknown = 2; |
264 |
* the <code>getProcedures</code> method can be called by this user. |
|
265 |
* |
public static final int sqlStateXOpen = 1; |
266 |
* @return <code>true</code> if all the procedures can be called, |
|
267 |
* <code>false</code> otherwise. |
public static final int sqlStateSQL99 = 2; |
268 |
* |
|
269 |
* @exception SQLException If an error occurs. |
/** |
270 |
*/ |
* This method tests whether or not all the procedures returned by |
271 |
public abstract boolean |
* the <code>getProcedures</code> method can be called by this user. |
272 |
allProceduresAreCallable() throws SQLException; |
* |
273 |
|
* @return <code>true</code> if all the procedures can be called, |
274 |
/*************************************************************************/ |
* <code>false</code> otherwise. |
275 |
|
* @exception SQLException If an error occurs. |
276 |
/** |
*/ |
277 |
* This method tests whether or not all the table returned by the |
public boolean allProceduresAreCallable() throws SQLException; |
278 |
* <code>getTables</code> method can be selected by this user. |
|
279 |
* |
/** |
280 |
* @return <code>true</code> if all the procedures can be called, |
* This method tests whether or not all the table returned by the |
281 |
* <code>false</code> otherwise. |
* <code>getTables</code> method can be selected by this user. |
282 |
* |
* |
283 |
* @exception SQLException If an error occurs. |
* @return <code>true</code> if all the procedures can be called, |
284 |
*/ |
* <code>false</code> otherwise. |
285 |
public abstract boolean |
* |
286 |
allTablesAreSelectable() throws SQLException; |
* @exception SQLException If an error occurs. |
287 |
|
*/ |
288 |
/*************************************************************************/ |
public boolean allTablesAreSelectable() throws SQLException; |
289 |
|
|
290 |
/** |
/** |
291 |
* This method returns the URL for this database. |
* This method returns the URL for this database. |
292 |
* |
* |
293 |
* @return The URL string for this database, or <code>null</code> if it |
* @return The URL string for this database, or <code>null</code> if it |
294 |
* is not known. |
* is not known. |
295 |
* |
* @exception SQLException If an error occurs. |
296 |
* @exception SQLException If an error occurs. |
*/ |
297 |
*/ |
public String getURL() throws SQLException; |
298 |
public abstract String |
|
299 |
getURL() throws SQLException; |
/** |
300 |
|
* This method returns the database username for this connection. |
301 |
/*************************************************************************/ |
* |
302 |
|
* @return The database username. |
303 |
/** |
* @exception SQLException If an error occurs. |
304 |
* This method returns the database username for this connection. |
*/ |
305 |
* |
public String getUserName() throws SQLException; |
306 |
* @return The database username. |
|
307 |
* |
/** |
308 |
* @exception SQLException If an error occurs. |
* This method tests whether or not the database is in read only mode. |
309 |
*/ |
* |
310 |
public abstract String |
* @return <code>true</code> if the database is in read only mode, |
311 |
getUserName() throws SQLException; |
* <code>false</code> otherwise. |
312 |
|
* @exception SQLException If an error occurs. |
313 |
/*************************************************************************/ |
*/ |
314 |
|
public boolean isReadOnly() throws SQLException; |
315 |
/** |
|
316 |
* This method tests whether or not the database is in read only mode. |
/** |
317 |
* |
* This method tests whether or not NULL's sort as high values. |
318 |
* @return <code>true</code> if the database is in read only mode, |
* |
319 |
* <code>false</code> otherwise. |
* @return <code>true</code> if NULL's sort as high values, <code>false</code> |
320 |
* |
* otherwise. |
321 |
* @exception SQLException If an error occurs. |
* @exception SQLException If an error occurs. |
322 |
*/ |
*/ |
323 |
public abstract boolean |
public boolean nullsAreSortedHigh() throws SQLException; |
324 |
isReadOnly() throws SQLException; |
|
325 |
|
/** |
326 |
/*************************************************************************/ |
* This method tests whether or not NULL's sort as low values. |
327 |
|
* |
328 |
/** |
* @return <code>true</code> if NULL's sort as low values, <code>false</code> |
329 |
* This method tests whether or not NULL's sort as high values. |
* otherwise. |
330 |
* |
* @exception SQLException If an error occurs. |
331 |
* @return <code>true</code> if NULL's sort as high values, <code>false</code> |
*/ |
332 |
* otherwise. |
public boolean nullsAreSortedLow() throws SQLException; |
333 |
* |
|
334 |
* @exception SQLException If an error occurs. |
/** |
335 |
*/ |
* This method tests whether or not NULL's sort as high values. |
336 |
public abstract boolean |
* |
337 |
nullsAreSortedHigh() throws SQLException; |
* @return <code>true</code> if NULL's sort as high values, <code>false</code> |
338 |
|
* otherwise. |
339 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
340 |
|
*/ |
341 |
/** |
public boolean nullsAreSortedAtStart() throws SQLException; |
342 |
* This method tests whether or not NULL's sort as low values. |
|
343 |
* |
/** |
344 |
* @return <code>true</code> if NULL's sort as low values, <code>false</code> |
* This method test whether or not NULL's are sorted to the end |
345 |
* otherwise. |
* of the list regardless of ascending or descending sort order. |
346 |
* |
* |
347 |
* @exception SQLException If an error occurs. |
* @return <code>true</code> if NULL's always sort to the end, |
348 |
*/ |
* <code>false</code> otherwise. |
349 |
public abstract boolean |
* @exception SQLException If an error occurs. |
350 |
nullsAreSortedLow() throws SQLException; |
*/ |
351 |
|
public boolean nullsAreSortedAtEnd() throws SQLException; |
352 |
/*************************************************************************/ |
|
353 |
|
/** |
354 |
/** |
* This method returns the name of the database product. |
355 |
* This method test whether or not NULL's are sorted to the beginning |
* |
356 |
* of the list regardless of ascending or descending sort order. |
* @return The database product. |
357 |
* |
* @exception SQLException If an error occurs. |
358 |
* @return <code>true</code> if NULL's always sort to the beginning, |
*/ |
359 |
* <code>false</code> otherwise. |
public String getDatabaseProductName() throws SQLException; |
360 |
* |
|
361 |
* @exception SQLException If an error occurs. |
/** |
362 |
*/ |
* This method returns the version of the database product. |
363 |
public abstract boolean |
* |
364 |
nullsAreSortedAtStart() throws SQLException; |
* @return The version of the database product. |
365 |
|
* @exception SQLException If an error occurs. |
366 |
/*************************************************************************/ |
*/ |
367 |
|
public String getDatabaseProductVersion() throws SQLException; |
368 |
/** |
|
369 |
* This method test whether or not NULL's are sorted to the end |
/** |
370 |
* of the list regardless of ascending or descending sort order. |
* This method returns the name of the JDBC driver. |
371 |
* |
* |
372 |
* @return <code>true</code> if NULL's always sort to the end, |
* @return The name of the JDBC driver. |
373 |
* <code>false</code> otherwise. |
* @exception SQLException If an error occurs. |
374 |
* |
*/ |
375 |
* @exception SQLException If an error occurs. |
public String getDriverName() throws SQLException; |
376 |
*/ |
|
377 |
public abstract boolean |
/** |
378 |
nullsAreSortedAtEnd() throws SQLException; |
* This method returns the version of the JDBC driver. |
379 |
|
* |
380 |
/*************************************************************************/ |
* @return The version of the JDBC driver. |
381 |
|
* @exception SQLException If an error occurs. |
382 |
/** |
*/ |
383 |
* This method returns the name of the database product. |
public String getDriverVersion() throws SQLException; |
384 |
* |
|
385 |
* @return The database product. |
/** |
386 |
* |
* This method returns the major version number of the JDBC driver. |
387 |
* @exception SQLException If an error occurs. |
* |
388 |
*/ |
* @return The major version number of the JDBC driver. |
389 |
public abstract String |
*/ |
390 |
getDatabaseProductName() throws SQLException; |
public int getDriverMajorVersion(); |
391 |
|
|
392 |
/*************************************************************************/ |
/** |
393 |
|
* This method returns the minor version number of the JDBC driver. |
394 |
/** |
* |
395 |
* This method returns the version of the database product. |
* @return The minor version number of the JDBC driver. |
396 |
* |
*/ |
397 |
* @return The version of the database product. |
public int getDriverMinorVersion(); |
398 |
* |
|
399 |
* @exception SQLException If an error occurs. |
/** |
400 |
*/ |
* This method tests whether or not the database uses local files to |
401 |
public abstract String |
* store tables. |
402 |
getDatabaseProductVersion() throws SQLException; |
* |
403 |
|
* @return <code>true</code> if the database uses local files, |
404 |
/*************************************************************************/ |
* <code>false</code> otherwise. |
405 |
|
* |
406 |
/** |
* @exception SQLException If an error occurs. |
407 |
* This method returns the name of the JDBC driver. |
*/ |
408 |
* |
public boolean usesLocalFiles() throws SQLException; |
409 |
* @return The name of the JDBC driver. |
|
410 |
* |
/** |
411 |
* @exception SQLException If an error occurs. |
* This method tests whether or not the database uses a separate file for |
412 |
*/ |
* each table. |
413 |
public abstract String |
* |
414 |
getDriverName() throws SQLException; |
* @return <code>true</code> if the database uses a separate file for each |
415 |
|
* table </code>false</code> otherwise. |
416 |
/*************************************************************************/ |
* |
417 |
|
* @exception SQLException If an error occurs. |
418 |
/** |
*/ |
419 |
* This method returns the version of the JDBC driver. |
public boolean usesLocalFilePerTable() throws SQLException; |
420 |
* |
|
421 |
* @return The version of the JDBC driver. |
/** |
422 |
* |
* This method tests whether or not the database supports identifiers |
423 |
* @exception SQLException If an error occurs. |
* with mixed case. |
424 |
*/ |
* |
425 |
public abstract String |
* @return <code>true</code> if the database supports mixed case identifiers, |
426 |
getDriverVersion() throws SQLException; |
* <code>false</code> otherwise. |
427 |
|
* |
428 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
429 |
|
*/ |
430 |
/** |
public boolean supportsMixedCaseIdentifiers() throws SQLException; |
431 |
* This method returns the major version number of the JDBC driver. |
|
432 |
* |
/** |
433 |
* @return The major version number of the JDBC driver. |
* This method tests whether or not the database treats mixed case |
434 |
*/ |
* identifiers as all upper case. |
435 |
public abstract int |
* |
436 |
getDriverMajorVersion(); |
* @exception <code>true</code> if the database treats all identifiers as |
437 |
|
* upper case, <code>false</code> otherwise. |
438 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
439 |
|
*/ |
440 |
/** |
public boolean storesUpperCaseIdentifiers() throws SQLException; |
441 |
* This method returns the minor version number of the JDBC driver. |
|
442 |
* |
/** |
443 |
* @return The minor version number of the JDBC driver. |
* This method tests whether or not the database treats mixed case |
444 |
*/ |
* identifiers as all lower case. |
445 |
public abstract int |
* |
446 |
getDriverMinorVersion(); |
* @exception <code>true</code> if the database treats all identifiers as |
447 |
|
* lower case, <code>false</code> otherwise. |
448 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
449 |
|
*/ |
450 |
/** |
public boolean storesLowerCaseIdentifiers() throws SQLException; |
451 |
* This method tests whether or not the database uses local files to |
|
452 |
* store tables. |
/** |
453 |
* |
* This method tests whether or not the database stores mixed case |
454 |
* @return <code>true</code> if the database uses local files, |
* identifers even if it treats them as case insensitive. |
455 |
* <code>false</code> otherwise. |
* |
456 |
* |
* @return <code>true</code> if the database stores mixed case identifiers, |
457 |
* @exception SQLException If an error occurs. |
* <code>false</code> otherwise. |
458 |
*/ |
* @exception SQLException If an error occurs. |
459 |
public abstract boolean |
*/ |
460 |
usesLocalFiles() throws SQLException; |
public boolean storesMixedCaseIdentifiers() throws SQLException; |
461 |
|
|
462 |
/*************************************************************************/ |
/** |
463 |
|
* This method tests whether or not the database supports quoted identifiers |
464 |
/** |
* with mixed case. |
465 |
* This method tests whether or not the database uses a separate file for |
* |
466 |
* each table. |
* @return <code>true</code> if the database supports mixed case quoted |
467 |
* |
* identifiers, <code>false</code> otherwise. |
468 |
* @return <code>true</code> if the database uses a separate file for each |
* @exception SQLException If an error occurs. |
469 |
* table </code>false</code> otherwise. |
*/ |
470 |
* |
public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException; |
471 |
* @exception SQLException If an error occurs. |
|
472 |
*/ |
/** |
473 |
public abstract boolean |
* This method tests whether or not the database treats mixed case |
474 |
usesLocalFilePerTable() throws SQLException; |
* quoted identifiers as all upper case. |
475 |
|
* |
476 |
/*************************************************************************/ |
* @exception <code>true</code> if the database treats all quoted identifiers |
477 |
|
* as upper case, <code>false</code> otherwise. |
478 |
/** |
* @exception SQLException If an error occurs. |
479 |
* This method tests whether or not the database supports identifiers |
*/ |
480 |
* with mixed case. |
public boolean storesUpperCaseQuotedIdentifiers() throws SQLException; |
481 |
* |
|
482 |
* @return <code>true</code> if the database supports mixed case identifiers, |
/** |
483 |
* <code>false</code> otherwise. |
* This method tests whether or not the database treats mixed case |
484 |
* |
* quoted identifiers as all lower case. |
485 |
* @exception SQLException If an error occurs. |
* |
486 |
*/ |
* @exception <code>true</code> if the database treats all quoted identifiers |
487 |
public abstract boolean |
* as lower case, <code>false</code> otherwise. |
488 |
supportsMixedCaseIdentifiers() throws SQLException; |
* @exception SQLException If an error occurs. |
489 |
|
*/ |
490 |
/*************************************************************************/ |
public boolean storesLowerCaseQuotedIdentifiers() throws SQLException; |
491 |
|
|
492 |
/** |
/** |
493 |
* This method tests whether or not the database treats mixed case |
* This method tests whether or not the database stores mixed case |
494 |
* identifiers as all upper case. |
* quoted identifers even if it treats them as case insensitive. |
495 |
* |
* |
496 |
* @return <code>true</code> if the database treats all identifiers as |
* @return <code>true</code> if the database stores mixed case quoted |
497 |
* upper case, <code>false</code> otherwise. |
* identifiers, <code>false</code> otherwise. |
498 |
* |
* @exception SQLException If an error occurs. |
499 |
* @exception SQLException If an error occurs. |
*/ |
500 |
*/ |
public boolean storesMixedCaseQuotedIdentifiers() throws SQLException; |
501 |
public abstract boolean |
|
502 |
storesUpperCaseIdentifiers() throws SQLException; |
/** |
503 |
|
* This metohd returns the quote string for SQL identifiers. |
504 |
/*************************************************************************/ |
* |
505 |
|
* @return The quote string for SQL identifers, or a space if quoting |
506 |
/** |
* is not supported. |
507 |
* This method tests whether or not the database treats mixed case |
* @exception SQLException If an error occurs. |
508 |
* identifiers as all lower case. |
*/ |
509 |
* |
public String getIdentifierQuoteString() throws SQLException; |
510 |
* @return <code>true</code> if the database treats all identifiers as |
|
511 |
* lower case, <code>false</code> otherwise. |
/** |
512 |
* |
* This method returns a comma separated list of all the SQL keywords in |
513 |
* @exception SQLException If an error occurs. |
* the database that are not in SQL92. |
514 |
*/ |
* |
515 |
public abstract boolean |
* @return The list of SQL keywords not in SQL92. |
516 |
storesLowerCaseIdentifiers() throws SQLException; |
* @exception SQLException If an error occurs. |
517 |
|
*/ |
518 |
/*************************************************************************/ |
public String getSQLKeywords() throws SQLException; |
519 |
|
|
520 |
/** |
/** |
521 |
* This method tests whether or not the database stores mixed case |
* This method returns a comma separated list of math functions. |
522 |
* identifers even if it treats them as case insensitive. |
* |
523 |
* |
* @return The list of math functions. |
524 |
* @return <code>true</code> if the database stores mixed case identifiers, |
* @exception SQLException If an error occurs. |
525 |
* <code>false</code> otherwise. |
*/ |
526 |
* |
public String getNumericFunctions() throws SQLException; |
527 |
* @exception SQLException If an error occurs. |
|
528 |
*/ |
/** |
529 |
public abstract boolean |
* This method returns a comma separated list of string functions. |
530 |
storesMixedCaseIdentifiers() throws SQLException; |
* |
531 |
|
* @return The list of string functions. |
532 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
533 |
|
*/ |
534 |
/** |
public String getStringFunctions() throws SQLException; |
535 |
* This method tests whether or not the database supports quoted identifiers |
|
536 |
* with mixed case. |
/** |
537 |
* |
* This method returns a comma separated list of of system functions. |
538 |
* @return <code>true</code> if the database supports mixed case quoted |
* |
539 |
* identifiers, <code>false</code> otherwise. |
* @return A comma separated list of system functions. |
540 |
* |
* @exception SQLException If an error occurs. |
541 |
* @exception SQLException If an error occurs. |
*/ |
542 |
*/ |
public String getSystemFunctions() throws SQLException; |
543 |
public abstract boolean |
|
544 |
supportsMixedCaseQuotedIdentifiers() throws SQLException; |
/** |
545 |
|
* This method returns comma separated list of time/date functions. |
546 |
/*************************************************************************/ |
* |
547 |
|
* @return The list of time/date functions. |
548 |
/** |
* @exception SQLException If an error occurs. |
549 |
* This method tests whether or not the database treats mixed case |
*/ |
550 |
* quoted identifiers as all upper case. |
public String getTimeDateFunctions() throws SQLException; |
551 |
* |
|
552 |
* @return <code>true</code> if the database treats all quoted identifiers |
/** |
553 |
* as upper case, <code>false</code> otherwise. |
* This method returns the string used to escape wildcards in search strings. |
554 |
* |
* |
555 |
* @exception SQLException If an error occurs. |
* @return The string used to escape wildcards in search strings. |
556 |
*/ |
* @exception SQLException If an error occurs. |
557 |
public abstract boolean |
*/ |
558 |
storesUpperCaseQuotedIdentifiers() throws SQLException; |
public String getSearchStringEscape() throws SQLException; |
559 |
|
|
560 |
/*************************************************************************/ |
/** |
561 |
|
* This methods returns non-standard characters that can appear in |
562 |
/** |
* unquoted identifiers. |
563 |
* This method tests whether or not the database treats mixed case |
* |
564 |
* quoted identifiers as all lower case. |
* @return Non-standard characters that can appear in unquoted identifiers. |
565 |
* |
* @exception SQLException If an error occurs. |
566 |
* @return <code>true</code> if the database treats all quoted identifiers |
*/ |
567 |
* as lower case, <code>false</code> otherwise. |
public String getExtraNameCharacters() throws SQLException; |
568 |
* |
|
569 |
* @exception SQLException If an error occurs. |
/** |
570 |
*/ |
* This method tests whether or not the database supports |
571 |
public abstract boolean |
* "ALTER TABLE ADD COLUMN" |
572 |
storesLowerCaseQuotedIdentifiers() throws SQLException; |
* |
573 |
|
* @return <code>true</code> if column add supported, <code>false</code> |
574 |
/*************************************************************************/ |
* otherwise. |
575 |
|
* @exception SQLException If an error occurs. |
576 |
/** |
*/ |
577 |
* This method tests whether or not the database stores mixed case |
public boolean supportsAlterTableWithAddColumn() throws SQLException; |
578 |
* quoted identifers even if it treats them as case insensitive. |
|
579 |
* |
/** |
580 |
* @return <code>true</code> if the database stores mixed case quoted |
* This method tests whether or not the database supports |
581 |
* identifiers, <code>false</code> otherwise. |
* "ALTER TABLE DROP COLUMN" |
582 |
* |
* |
583 |
* @exception SQLException If an error occurs. |
* @return <code>true</code> if column drop supported, <code>false</code> |
584 |
*/ |
* otherwise. |
585 |
public abstract boolean |
* @exception SQLException If an error occurs. |
586 |
storesMixedCaseQuotedIdentifiers() throws SQLException; |
*/ |
587 |
|
public boolean supportsAlterTableWithDropColumn() throws SQLException; |
588 |
/*************************************************************************/ |
|
589 |
|
/** |
590 |
/** |
* This method tests whether or not column aliasing is supported. |
591 |
* This metohd returns the quote string for SQL identifiers. |
* |
592 |
* |
* @return <code>true</code> if column aliasing is supported, |
593 |
* @return The quote string for SQL identifers, or a space if quoting |
* <code>false</code> otherwise. |
594 |
* is not supported. |
* @exception SQLException If an error occurs. |
595 |
* |
*/ |
596 |
* @exception SQLException If an error occurs. |
public boolean supportsColumnAliasing() throws SQLException; |
597 |
*/ |
|
598 |
public abstract String |
/** |
599 |
getIdentifierQuoteString() throws SQLException; |
* This method tests whether the concatenation of a NULL and non-NULL |
600 |
|
* value results in a NULL. This will always be true in fully JDBC compliant |
601 |
/*************************************************************************/ |
* drivers. |
602 |
|
* |
603 |
/** |
* @return <code>true</code> if concatenating NULL and a non-NULL value |
604 |
* This method returns a comma separated list of all the SQL keywords in |
* returns a NULL, <code>false</code> otherwise. |
605 |
* the database that are not in SQL92. |
* @exception SQLException If an error occurs. |
606 |
* |
*/ |
607 |
* @return The list of SQL keywords not in SQL92. |
public boolean nullPlusNonNullIsNull() throws SQLException; |
608 |
* |
|
609 |
* @exception SQLException If an error occurs. |
/** |
610 |
*/ |
* Tests whether or not CONVERT is supported. |
611 |
public abstract String |
* |
612 |
getSQLKeywords() throws SQLException; |
* @return <code>true</code> if CONVERT is supported, <code>false</code> |
613 |
|
* otherwise. |
614 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
615 |
|
*/ |
616 |
/** |
public boolean supportsConvert() throws SQLException; |
617 |
* This method returns a comma separated list of math functions. |
|
618 |
* |
/** |
619 |
* @return The list of math functions. |
* This method tests whether or not CONVERT can be performed between the |
620 |
* |
* specified types. The types are contants from <code>Types</code>. |
621 |
* @exception SQLException If an error occurs. |
* |
622 |
*/ |
* @param fromType The SQL type to convert from. |
623 |
public abstract String |
* @param toType The SQL type to convert to. |
624 |
getNumericFunctions() throws SQLException; |
* @return <code>true</code> if the conversion can be performed, |
625 |
|
* <code>false</code> otherwise. |
626 |
/*************************************************************************/ |
* @see Types |
627 |
|
*/ |
628 |
/** |
public boolean supportsConvert(int fromType, int toType) throws |
629 |
* This method returns a comma separated list of string functions. |
SQLException; |
630 |
* |
|
631 |
* @return The list of string functions. |
/** |
632 |
* |
* This method tests whether or not table correlation names are |
633 |
* @exception SQLException If an error occurs. |
* supported. This will be always be <code>true</code> in a fully JDBC |
634 |
*/ |
* compliant driver. |
635 |
public abstract String |
* |
636 |
getStringFunctions() throws SQLException; |
* @return <code>true</code> if table correlation names are supported, |
637 |
|
* <code>false</code> otherwise. |
638 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
639 |
|
*/ |
640 |
/** |
public boolean supportsTableCorrelationNames() throws SQLException; |
641 |
* This method returns a comma separated list of of system functions. |
|
642 |
* |
/** |
643 |
* @return A comma separated list of system functions. |
* This method tests whether correlation names must be different from the |
644 |
* |
* name of the table. |
645 |
* @exception SQLException If an error occurs. |
* |
646 |
*/ |
* @return <code>true</code> if the correlation name must be different from |
647 |
public abstract String |
* the table name, <code>false</code> otherwise. |
648 |
getSystemFunctions() throws SQLException; |
* @exception SQLException If an error occurs. |
649 |
|
*/ |
650 |
/*************************************************************************/ |
public boolean supportsDifferentTableCorrelationNames() throws SQLException; |
651 |
|
|
652 |
/** |
/** |
653 |
* This method returns comma separated list of time/date functions. |
* This method tests whether or not expressions are allowed in an |
654 |
* |
* ORDER BY lists. |
655 |
* @return The list of time/date functions. |
* |
656 |
* |
* @return <code>true</code> if expressions are allowed in ORDER BY |
657 |
* @exception SQLException If an error occurs. |
* lists, <code>false</code> otherwise. |
658 |
*/ |
* @exception SQLException If an error occurs. |
659 |
public abstract String |
*/ |
660 |
getTimeDateFunctions() throws SQLException; |
public boolean supportsExpressionsInOrderBy() throws SQLException; |
661 |
|
|
662 |
/*************************************************************************/ |
/** |
663 |
|
* This method tests whether or ORDER BY on a non-selected column is |
664 |
/** |
* allowed. |
665 |
* This method returns the string used to escape wildcards in search strings. |
* |
666 |
* |
* @return <code>true</code> if a non-selected column can be used in an |
667 |
* @return The string used to escape wildcards in search strings. |
* ORDER BY, <code>false</code> otherwise. |
668 |
* |
* @exception SQLException If an error occurs. |
669 |
* @exception SQLException If an error occurs. |
*/ |
670 |
*/ |
public boolean supportsOrderByUnrelated() throws SQLException; |
671 |
public abstract String |
|
672 |
getSearchStringEscape() throws SQLException; |
/** |
673 |
|
* This method tests whether or not GROUP BY is supported. |
674 |
/*************************************************************************/ |
* |
675 |
|
* @return <code>true</code> if GROUP BY is supported, <code>false</code> |
676 |
/** |
* otherwise. |
677 |
* This methods returns non-standard characters that can appear in |
* @exception SQLException If an error occurs. |
678 |
* unquoted identifiers. |
*/ |
679 |
* |
public boolean supportsGroupBy() throws SQLException; |
680 |
* @return Non-standard characters that can appear in unquoted identifiers. |
|
681 |
* |
/** |
682 |
* @exception SQLException If an error occurs. |
* This method tests whether GROUP BY on a non-selected column is |
683 |
*/ |
* allowed. |
684 |
public abstract String |
* |
685 |
getExtraNameCharacters() throws SQLException; |
* @return <code>true</code> if a non-selected column can be used in a |
686 |
|
* GROUP BY, <code>false</code> otherwise. |
687 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
688 |
|
*/ |
689 |
/** |
public boolean supportsGroupByUnrelated() throws SQLException; |
690 |
* This method tests whether or not the database supports |
|
691 |
* "ALTER TABLE ADD COLUMN" |
/** |
692 |
* |
* This method tests whether or not a GROUP BY can add columns not in the |
693 |
* @return <code>true</code> if column add supported, <code>false</code> |
* select if it includes all the columns in the select. |
694 |
* otherwise. |
* |
695 |
* |
* @return <code>true</code> if GROUP BY an add columns provided it includes |
696 |
* @exception SQLException If an error occurs. |
* all columns in the select, <code>false</code> otherwise. |
697 |
*/ |
* @exception SQLException If an error occurs. |
698 |
public abstract boolean |
*/ |
699 |
supportsAlterTableWithAddColumn() throws SQLException; |
public boolean supportsGroupByBeyondSelect() throws SQLException; |
700 |
|
|
701 |
/*************************************************************************/ |
/** |
702 |
|
* This method tests whether or not the escape character is supported in |
703 |
/** |
* LIKE expressions. A fully JDBC compliant driver will always return |
704 |
* This method tests whether or not the database supports |
* <code>true</code>. |
705 |
* "ALTER TABLE DROP COLUMN" |
* |
706 |
* |
* @return <code>true</code> if escapes are supported in LIKE expressions, |
707 |
* @return <code>true</code> if column drop supported, <code>false</code> |
* <code>false</code> otherwise. |
708 |
* otherwise. |
* @exception SQLException If an error occurs. |
709 |
* |
*/ |
710 |
* @exception SQLException If an error occurs. |
public boolean supportsLikeEscapeClause() throws SQLException; |
711 |
*/ |
|
712 |
public abstract boolean |
/** |
713 |
supportsAlterTableWithDropColumn() throws SQLException; |
* This method tests whether multiple result sets for a single statement are |
714 |
|
* supported. |
715 |
/*************************************************************************/ |
* |
716 |
|
* @return <code>true</code> if multiple result sets are supported for a |
717 |
/** |
* single statement, <code>false</code> otherwise. |
718 |
* This method tests whether or not column aliasing is supported. |
* @exception SQLException If an error occurs. |
719 |
* |
*/ |
720 |
* @return <code>true</code> if column aliasing is supported, |
public boolean supportsMultipleResultSets() throws SQLException; |
721 |
* <code>false</code> otherwise. |
|
722 |
* |
/** |
723 |
* @exception SQLException If an error occurs. |
* This method test whether or not multiple transactions may be open |
724 |
*/ |
* at once, as long as they are on different connections. |
725 |
public abstract boolean |
* |
726 |
supportsColumnAliasing() throws SQLException; |
* @return <code>true</code> if multiple transactions on different |
727 |
|
* connections are supported, <code>false</code> otherwise. |
728 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
729 |
|
*/ |
730 |
/** |
public boolean supportsMultipleTransactions() throws SQLException; |
731 |
* This method tests whether the concatenation of a NULL and non-NULL |
|
732 |
* value results in a NULL. This will always be true in fully JDBC compliant |
/** |
733 |
* drivers. |
* This method tests whether or not columns can be defined as NOT NULL. A |
734 |
* |
* fully JDBC compliant driver always returns <code>true</code>. |
735 |
* @return <code>true</code> if concatenating NULL and a non-NULL value |
* |
736 |
* returns a NULL, <code>false</code> otherwise. |
* @return <code>true</code> if NOT NULL columns are supported, |
737 |
* |
* <code>false</code> otherwise. |
738 |
* @exception SQLException If an error occurs. |
* @exception SQLException If an error occurs. |
739 |
*/ |
*/ |
740 |
public abstract boolean |
public boolean supportsNonNullableColumns() throws SQLException; |
741 |
nullPlusNonNullIsNull() throws SQLException; |
|
742 |
|
/** |
743 |
/*************************************************************************/ |
* This method tests whether or not the minimum grammer for ODBC is supported. |
744 |
|
* A fully JDBC compliant driver will always return <code>true</code>. |
745 |
/** |
* |
746 |
* Tests whether or not CONVERT is supported. |
* @return <code>true</code> if the ODBC minimum grammar is supported, |
747 |
* |
* <code>false</code> otherwise. |
748 |
* @return <code>true</code> if CONVERT is supported, <code>false</code> |
* @exception SQLException If an error occurs. |
749 |
* otherwise. |
*/ |
750 |
* |
public boolean supportsMinimumSQLGrammar() throws SQLException; |
751 |
* @exception SQLException If an error occurs. |
|
752 |
*/ |
/** |
753 |
public abstract boolean |
* This method tests whether or not the core grammer for ODBC is supported. |
754 |
supportsConvert() throws SQLException; |
* |
755 |
|
* @return <code>true</code> if the ODBC core grammar is supported, |
756 |
/*************************************************************************/ |
* <code>false</code> otherwise. |
757 |
|
* @exception SQLException If an error occurs. |
758 |
/** |
*/ |
759 |
* This method tests whether or not CONVERT can be performed between the |
public boolean supportsCoreSQLGrammar() throws SQLException; |
760 |
* specified types. The types are contants from <code>Types</code>. |
|
761 |
* |
/** |
762 |
* @param fromType The SQL type to convert from. |
* This method tests whether or not the extended grammer for ODBC is supported. |
763 |
* @param toType The SQL type to convert to. |
* |
764 |
* |
* @return <code>true</code> if the ODBC extended grammar is supported, |
765 |
* @return <code>true</code> if the conversion can be performed, |
* <code>false</code> otherwise. |
766 |
* <code>false</code> otherwise. |
* @exception SQLException If an error occurs. |
767 |
* |
*/ |
768 |
* @see Types |
public boolean supportsExtendedSQLGrammar() throws SQLException; |
769 |
*/ |
|
770 |
public abstract boolean |
/** |
771 |
supportsConvert(int fromType, int toType) throws SQLException; |
* This method tests whether or not the ANSI92 entry level SQL |
772 |
|
* grammar is supported. A fully JDBC compliant drivers must return |
773 |
/*************************************************************************/ |
* <code>true</code>. |
774 |
|
* |
775 |
/** |
* @return <code>true</code> if the ANSI92 entry level SQL grammar is |
776 |
* This method tests whether or not table correlation names are |
* supported, <code>false</code> otherwise. |
777 |
* supported. This will be always be <code>true</code> in a fully JDBC |
* @exception SQLException If an error occurs. |
778 |
* compliant driver. |
*/ |
779 |
* |
public boolean supportsANSI92EntryLevelSQL() throws SQLException; |
780 |
* @return <code>true</code> if table correlation names are supported, |
|
781 |
* <code>false</code> otherwise. |
/** |
782 |
* |
* This method tests whether or not the ANSI92 intermediate SQL |
783 |
* @exception SQLException If an error occurs. |
* grammar is supported. |
784 |
*/ |
* |
785 |
public abstract boolean |
* @return <code>true</code> if the ANSI92 intermediate SQL grammar is |
786 |
supportsTableCorrelationNames() throws SQLException; |
* supported, <code>false</code> otherwise. |
787 |
|
* @exception SQLException If an error occurs. |
788 |
/*************************************************************************/ |
*/ |
789 |
|
public boolean supportsANSI92IntermediateSQL() throws SQLException; |
790 |
/** |
|
791 |
* This method tests whether correlation names must be different from the |
/** |
792 |
* name of the table. |
* This method tests whether or not the ANSI92 full SQL |
793 |
* |
* grammar is supported. |
794 |
* @return <code>true</code> if the correlation name must be different from |
* |
795 |
* the table name, <code>false</code> otherwise. |
* @return <code>true</code> if the ANSI92 full SQL grammar is |
796 |
* |
* supported, <code>false</code> otherwise. |
797 |
* @exception SQLException If an error occurs. |
* @exception SQLException If an error occurs. |
798 |
*/ |
*/ |
799 |
public abstract boolean |
public boolean supportsANSI92FullSQL() throws SQLException; |
800 |
supportsDifferentTableCorrelationNames() throws SQLException; |
|
801 |
|
/** |
802 |
/*************************************************************************/ |
* This method tests whether or not the SQL integrity enhancement |
803 |
|
* facility is supported. |
804 |
/** |
* |
805 |
* This method tests whether or not expressions are allowed in an |
* @return <code>true</code> if the integrity enhancement facility is |
806 |
* ORDER BY lists. |
* supported, <code>false</code> otherwise. |
807 |
* |
* @exception SQLException If an error occurs. |
808 |
* @return <code>true</code> if expressions are allowed in ORDER BY |
*/ |
809 |
* lists, <code>false</code> otherwise. |
public boolean supportsIntegrityEnhancementFacility() throws SQLException; |
810 |
* |
|
811 |
* @exception SQLException If an error occurs. |
/** |
812 |
*/ |
* This method tests whether or not the database supports outer joins. |
813 |
public abstract boolean |
* |
814 |
supportsExpressionsInOrderBy() throws SQLException; |
* @return <code>true</code> if outer joins are supported, <code>false</code> |
815 |
|
* otherwise. |
816 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
817 |
|
*/ |
818 |
/** |
public boolean supportsOuterJoins() throws SQLException; |
819 |
* This method tests whether or ORDER BY on a non-selected column is |
|
820 |
* allowed. |
/** |
821 |
* |
* This method tests whether or not the database supports full outer joins. |
822 |
* @return <code>true</code> if a non-selected column can be used in an |
* |
823 |
* ORDER BY, <code>false</code> otherwise. |
* @return <code>true</code> if full outer joins are supported, |
824 |
* |
* <code>false</code> otherwise. |
825 |
* @exception SQLException If an error occurs. |
* @exception SQLException If an error occurs. |
826 |
*/ |
*/ |
827 |
public abstract boolean |
public boolean supportsFullOuterJoins() throws SQLException; |
828 |
supportsOrderByUnrelated() throws SQLException; |
|
829 |
|
/** |
830 |
/*************************************************************************/ |
* This method tests whether or not the database supports limited outer joins. |
831 |
|
* |
832 |
/** |
* @return <code>true</code> if limited outer joins are supported, |
833 |
* This method tests whether or not GROUP BY is supported. |
* <code>false</code> otherwise. |
834 |
* |
* @exception SQLException If an error occurs. |
835 |
* @return <code>true</code> if GROUP BY is supported, <code>false</code> |
*/ |
836 |
* otherwise. |
public boolean supportsLimitedOuterJoins() throws SQLException; |
837 |
* |
|
838 |
* @exception SQLException If an error occurs. |
/** |
839 |
*/ |
* This method returns the vendor's term for "schema". |
840 |
public abstract boolean |
* |
841 |
supportsGroupBy() throws SQLException; |
* @return The vendor's term for schema. |
842 |
|
* @exception SQLException if an error occurs. |
843 |
/*************************************************************************/ |
*/ |
844 |
|
public String getSchemaTerm() throws SQLException; |
845 |
/** |
|
846 |
* This method tests whether GROUP BY on a non-selected column is |
/** |
847 |
* allowed. |
* This method returns the vendor's term for "procedure". |
848 |
* |
* |
849 |
* @return <code>true</code> if a non-selected column can be used in a |
* @return The vendor's term for procedure. |
850 |
* GROUP BY, <code>false</code> otherwise. |
* @exception SQLException if an error occurs. |
851 |
* |
*/ |
852 |
* @exception SQLException If an error occurs. |
public String getProcedureTerm() throws SQLException; |
853 |
*/ |
|
854 |
public abstract boolean |
/** |
855 |
supportsGroupByUnrelated() throws SQLException; |
* This method returns the vendor's term for "catalog". |
856 |
|
* |
857 |
/*************************************************************************/ |
* @return The vendor's term for catalog. |
858 |
|
* @exception SQLException if an error occurs. |
859 |
/** |
*/ |
860 |
* This method tests whether or not a GROUP BY can add columns not in the |
public String getCatalogTerm() throws SQLException; |
861 |
* select if it includes all the columns in the select. |
|
862 |
* |
/** |
863 |
* @return <code>true</code> if GROUP BY an add columns provided it includes |
* This method tests whether a catalog name appears at the beginning of |
864 |
* all columns in the select, <code>false</code> otherwise. |
* a fully qualified table name. |
865 |
* |
* |
866 |
* @exception SQLException If an error occurs. |
* @return <code>true</code> if the catalog name appears at the beginning, |
867 |
*/ |
* <code>false</code> if it appears at the end. |
868 |
public abstract boolean |
* @exception SQLException If an error occurs. |
869 |
supportsGroupByBeyondSelect() throws SQLException; |
*/ |
870 |
|
public boolean isCatalogAtStart() throws SQLException; |
871 |
/*************************************************************************/ |
|
872 |
|
/** |
873 |
/** |
* This method returns the separator between the catalog name and the |
874 |
* This method tests whether or not the escape character is supported in |
* table name. |
875 |
* LIKE expressions. A fully JDBC compliant driver will always return |
* |
876 |
* <code>true</code>. |
* @return The separator between the catalog name and the table name. |
877 |
* |
* @exception SQLException If an error occurs. |
878 |
* @return <code>true</code> if escapes are supported in LIKE expressions, |
*/ |
879 |
* <code>false</code> otherwise. |
public String getCatalogSeparator() throws SQLException; |
880 |
* |
|
881 |
* @exception SQLException If an error occurs. |
/** |
882 |
*/ |
* This method tests whether a catalog name can appear in a data |
883 |
public abstract boolean supportsLikeEscapeClause() throws SQLException; |
* manipulation statement. |
884 |
|
* |
885 |
/*************************************************************************/ |
* @return <code>true</code> if a catalog name can appear in a data |
886 |
|
* manipulation statement, <code>false</code> otherwise. |
887 |
/** |
* @exception SQLException If an error occurs. |
888 |
* This method tests whether multiple result sets for a single statement are |
*/ |
889 |
* supported. |
public boolean supportsSchemasInDataManipulation() throws SQLException; |
890 |
* |
|
891 |
* @return <code>true</code> if multiple result sets are supported for a |
/** |
892 |
* single statement, <code>false</code> otherwise. |
* This method tests whether a catalog name can appear in a procedure |
893 |
* |
* call |
894 |
* @exception SQLException If an error occurs. |
* |
895 |
*/ |
* @return <code>true</code> if a catalog name can appear in a procedure |
896 |
public abstract boolean |
* call, <code>false</code> otherwise. |
897 |
supportsMultipleResultSets() throws SQLException; |
* @exception SQLException If an error occurs. |
898 |
|
*/ |
899 |
/*************************************************************************/ |
public boolean supportsSchemasInProcedureCalls() throws SQLException; |
900 |
|
|
901 |
/** |
/** |
902 |
* This method test whether or not multiple transactions may be open |
* This method tests whether a catalog name can appear in a table definition. |
903 |
* at once, as long as they are on different connections. |
* |
904 |
* |
* @return <code>true</code> if a catalog name can appear in a table |
905 |
* @return <code>true</code> if multiple transactions on different |
* definition, <code>false</code> otherwise. |
906 |
* connections are supported, <code>false</code> otherwise. |
* @exception SQLException If an error occurs. |
907 |
* |
*/ |
908 |
* @exception SQLException If an error occurs. |
public boolean supportsSchemasInTableDefinitions() throws SQLException; |
909 |
*/ |
|
910 |
public abstract boolean |
/** |
911 |
supportsMultipleTransactions() throws SQLException; |
* This method tests whether a catalog name can appear in an index definition. |
912 |
|
* |
913 |
/*************************************************************************/ |
* @return <code>true</code> if a catalog name can appear in an index |
914 |
|
* definition, <code>false</code> otherwise. |
915 |
/** |
* @exception SQLException If an error occurs. |
916 |
* This method tests whether or not columns can be defined as NOT NULL. A |
*/ |
917 |
* fully JDBC compliant driver always returns <code>true</code>. |
public boolean supportsSchemasInIndexDefinitions() throws SQLException; |
918 |
* |
|
919 |
* @return <code>true</code> if NOT NULL columns are supported, |
/** |
920 |
* <code>false</code> otherwise. |
* This method tests whether a catalog name can appear in privilege definitions. |
921 |
* |
* |
922 |
* @exception SQLException If an error occurs. |
* @return <code>true</code> if a catalog name can appear in privilege |
923 |
*/ |
* definition, <code>false</code> otherwise. |
924 |
public abstract boolean |
* @exception SQLException If an error occurs. |
925 |
supportsNonNullableColumns() throws SQLException; |
*/ |
926 |
|
public boolean supportsSchemasInPrivilegeDefinitions() throws SQLException; |
927 |
/*************************************************************************/ |
|
928 |
|
/** |
929 |
/** |
* This method tests whether a catalog name can appear in a data |
930 |
* This method tests whether or not the minimum grammer for ODBC is supported. |
* manipulation statement. |
931 |
* A fully JDBC compliant driver will always return <code>true</code>. |
* |
932 |
* |
* @return <code>true</code> if a catalog name can appear in a data |
933 |
* @return <code>true</code> if the ODBC minimum grammar is supported, |
* manipulation statement, <code>false</code> otherwise. |
934 |
* <code>false</code> otherwise. |
* @exception SQLException If an error occurs. |
935 |
* |
*/ |
936 |
* @exception SQLException If an error occurs. |
public boolean supportsCatalogsInDataManipulation() throws SQLException; |
937 |
*/ |
|
938 |
public abstract boolean |
/** |
939 |
supportsMinimumSQLGrammar() throws SQLException; |
* This method tests whether a catalog name can appear in a procedure |
940 |
|
* call |
941 |
/*************************************************************************/ |
* |
942 |
|
* @return <code>true</code> if a catalog name can appear in a procedure |
943 |
/** |
* call, <code>false</code> otherwise. |
944 |
* This method tests whether or not the core grammer for ODBC is supported. |
* @exception SQLException If an error occurs. |
945 |
* |
*/ |
946 |
* @return <code>true</code> if the ODBC core grammar is supported, |
public boolean supportsCatalogsInProcedureCalls() throws SQLException; |
947 |
* <code>false</code> otherwise. |
|
948 |
* |
/** |
949 |
* @exception SQLException If an error occurs. |
* This method tests whether a catalog name can appear in a table definition. |
950 |
*/ |
* |
951 |
public abstract boolean |
* @return <code>true</code> if a catalog name can appear in a table |
952 |
supportsCoreSQLGrammar() throws SQLException; |
* definition, <code>false</code> otherwise. |
953 |
|
* @exception SQLException If an error occurs. |
954 |
/*************************************************************************/ |
*/ |
955 |
|
public boolean supportsCatalogsInTableDefinitions() throws SQLException; |
956 |
/** |
|
957 |
* This method tests whether or not the extended grammer for ODBC is supported. |
/** |
958 |
* |
* This method tests whether a catalog name can appear in an index definition. |
959 |
* @return <code>true</code> if the ODBC extended grammar is supported, |
* |
960 |
* <code>false</code> otherwise. |
* @return <code>true</code> if a catalog name can appear in an index |
961 |
* |
* definition, <code>false</code> otherwise. |
962 |
* @exception SQLException If an error occurs. |
* @exception SQLException If an error occurs. |
963 |
*/ |
*/ |
964 |
public abstract boolean |
public boolean supportsCatalogsInIndexDefinitions() throws SQLException; |
965 |
supportsExtendedSQLGrammar() throws SQLException; |
|
966 |
|
/** |
967 |
/*************************************************************************/ |
* This method tests whether a catalog name can appear in privilege definitions. |
968 |
|
* |
969 |
/** |
* @return <code>true</code> if a catalog name can appear in privilege |
970 |
* This method tests whether or not the ANSI92 entry level SQL |
* definition, <code>false</code> otherwise. |
971 |
* grammar is supported. A fully JDBC compliant drivers must return |
* @exception SQLException If an error occurs. |
972 |
* <code>true</code>. |
*/ |
973 |
* |
public boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException; |
974 |
* @return <code>true</code> if the ANSI92 entry level SQL grammar is |
|
975 |
* supported, <code>false</code> otherwise. |
/** |
976 |
* |
* This method tests whether or not that database supports positioned |
977 |
* @exception SQLException If an error occurs. |
* deletes. |
978 |
*/ |
* |
979 |
public abstract boolean |
* @return <code>true</code> if positioned deletes are supported, |
980 |
supportsANSI92EntryLevelSQL() throws SQLException; |
* <code>false</code> otherwise. |
981 |
|
* @exception SQLException If an error occurs. |
982 |
/*************************************************************************/ |
*/ |
983 |
|
public boolean supportsPositionedDelete() throws SQLException; |
984 |
/** |
|
985 |
* This method tests whether or not the ANSI92 intermediate SQL |
/** |
986 |
* grammar is supported. |
* This method tests whether or not that database supports positioned |
987 |
* |
* updates. |
988 |
* @return <code>true</code> if the ANSI92 intermediate SQL grammar is |
* |
989 |
* supported, <code>false</code> otherwise. |
* @return <code>true</code> if positioned updates are supported, |
990 |
* |
* <code>false</code> otherwise. |
991 |
* @exception SQLException If an error occurs. |
* @exception SQLException If an error occurs. |
992 |
*/ |
*/ |
993 |
public abstract boolean |
public boolean supportsPositionedUpdate() throws SQLException; |
994 |
supportsANSI92IntermediateSQL() throws SQLException; |
|
995 |
|
/** |
996 |
/*************************************************************************/ |
* This method tests whether or not SELECT FOR UPDATE is supported by the |
997 |
|
* database. |
998 |
/** |
* |
999 |
* This method tests whether or not the ANSI92 full SQL |
* @return <code>true</code> if SELECT FOR UPDATE is supported |
1000 |
* grammar is supported. |
* <code>false</code> otherwise. |
1001 |
* |
* @exception SQLException If an error occurs. |
1002 |
* @return <code>true</code> if the ANSI92 full SQL grammar is |
*/ |
1003 |
* supported, <code>false</code> otherwise. |
public boolean supportsSelectForUpdate() throws SQLException; |
1004 |
* |
|
1005 |
* @exception SQLException If an error occurs. |
/** |
1006 |
*/ |
* This method tests whether or not stored procedures are supported on |
1007 |
public abstract boolean |
* this database. |
1008 |
supportsANSI92FullSQL() throws SQLException; |
* |
1009 |
|
* @return <code>true</code> if stored procedures are supported, |
1010 |
/*************************************************************************/ |
* <code>false</code> otherwise. |
1011 |
|
* @exception SQLException If an error occurs. |
1012 |
/** |
*/ |
1013 |
* This method tests whether or not the SQL integrity enhancement |
public boolean supportsStoredProcedures() throws SQLException; |
1014 |
* facility is supported. |
|
1015 |
* |
/** |
1016 |
* @return <code>true</code> if the integrity enhancement facility is |
* This method tests whether or not subqueries are allowed in comparisons. |
1017 |
* supported, <code>false</code> otherwise. |
* A fully JDBC compliant driver will always return <code>true</code>. |
1018 |
* |
* |
1019 |
* @exception SQLException If an error occurs. |
* @return <code>true</code> if subqueries are allowed in comparisons, |
1020 |
*/ |
* <code>false</code> otherwise. |
1021 |
public abstract boolean |
* @exception SQLException If an error occurs. |
1022 |
supportsIntegrityEnhancementFacility() throws SQLException; |
*/ |
1023 |
|
public boolean supportsSubqueriesInComparisons() throws SQLException; |
1024 |
/*************************************************************************/ |
|
1025 |
|
/** |
1026 |
/** |
* This method tests whether or not subqueries are allowed in exists |
1027 |
* This method tests whether or not the database supports outer joins. |
* expressions. A fully JDBC compliant driver will always return |
1028 |
* |
* <code>true</code>. |
1029 |
* @return <code>true</code> if outer joins are supported, <code>false</code> |
* |
1030 |
* otherwise. |
* @return <code>true</code> if subqueries are allowed in exists |
1031 |
* |
* expressions, <code>false</code> otherwise. |
1032 |
* @exception SQLException If an error occurs. |
* @exception SQLException If an error occurs. |
1033 |
*/ |
*/ |
1034 |
public abstract boolean |
public boolean supportsSubqueriesInExists() throws SQLException; |
1035 |
supportsOuterJoins() throws SQLException; |
|
1036 |
|
/** |
1037 |
/*************************************************************************/ |
* This method tests whether subqueries are allowed in IN statements. |
1038 |
|
* A fully JDBC compliant driver will always return <code>true</code>. |
1039 |
/** |
* |
1040 |
* This method tests whether or not the database supports full outer joins. |
* @return <code>true</code> if the driver supports subqueries in IN |
1041 |
* |
* statements, <code>false</code> otherwise. |
1042 |
* @return <code>true</code> if full outer joins are supported, |
* @exception SQLException If an error occurs. |
1043 |
* <code>false</code> otherwise. |
*/ |
1044 |
* |
public boolean supportsSubqueriesInIns() throws SQLException; |
1045 |
* @exception SQLException If an error occurs. |
|
1046 |
*/ |
/** |
1047 |
public abstract boolean |
* This method tests whether or not subqueries are allowed in quantified |
1048 |
supportsFullOuterJoins() throws SQLException; |
* expressions. A fully JDBC compliant driver will always return |
1049 |
|
* <code>true</code>. |
1050 |
/*************************************************************************/ |
* |
1051 |
|
* @return <code>true</code> if subqueries are allowed in quantified |
1052 |
/** |
* expressions, <code>false</code> otherwise. |
1053 |
* This method tests whether or not the database supports limited outer joins. |
* @exception SQLException If an error occurs. |
1054 |
* |
*/ |
1055 |
* @return <code>true</code> if limited outer joins are supported, |
public boolean supportsSubqueriesInQuantifieds() throws SQLException; |
1056 |
* <code>false</code> otherwise. |
|
1057 |
* |
/** |
1058 |
* @exception SQLException If an error occurs. |
* This method test whether or not correlated subqueries are allowed. A |
1059 |
*/ |
* fully JDBC compliant driver will always return <code>true</code>. |
1060 |
public abstract boolean |
* |
1061 |
supportsLimitedOuterJoins() throws SQLException; |
* @return <code>true</code> if correlated subqueries are allowed, |
1062 |
|
* <code>false</code> otherwise. |
1063 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
1064 |
|
*/ |
1065 |
/** |
public boolean supportsCorrelatedSubqueries() throws SQLException; |
1066 |
* This method returns the vendor's term for "schema". |
|
1067 |
* |
/** |
1068 |
* @return The vendor's term for schema. |
* This method tests whether or not the UNION statement is supported. |
1069 |
* |
* |
1070 |
* @exception SQLException if an error occurs. |
* @return <code>true</code> if UNION is supported, <code>false</code> |
1071 |
*/ |
* otherwise. |
1072 |
public abstract String |
* @exception SQLException If an error occurs. |
1073 |
getSchemaTerm() throws SQLException; |
*/ |
1074 |
|
public boolean supportsUnion() throws SQLException; |
1075 |
/*************************************************************************/ |
|
1076 |
|
/** |
1077 |
/** |
* This method tests whether or not the UNION ALL statement is supported. |
1078 |
* This method returns the vendor's term for "procedure". |
* |
1079 |
* |
* @return <code>true</code> if UNION ALL is supported, <code>false</code> |
1080 |
* @return The vendor's term for procedure. |
* otherwise. |
1081 |
* |
* @exception SQLException If an error occurs. |
1082 |
* @exception SQLException if an error occurs. |
*/ |
1083 |
*/ |
public boolean supportsUnionAll() throws SQLException; |
1084 |
public abstract String |
|
1085 |
getProcedureTerm() throws SQLException; |
/** |
1086 |
|
* This method tests whether or not the database supports cursors |
1087 |
/*************************************************************************/ |
* remaining open across commits. |
1088 |
|
* |
1089 |
/** |
* @return <code>true</code> if cursors can remain open across commits, |
1090 |
* This method returns the vendor's term for "catalog". |
* <code>false</code> otherwise. |
1091 |
* |
* @exception SQLException If an error occurs. |
1092 |
* @return The vendor's term for catalog. |
*/ |
1093 |
* |
public boolean supportsOpenCursorsAcrossCommit() throws SQLException; |
1094 |
* @exception SQLException if an error occurs. |
|
1095 |
*/ |
/** |
1096 |
public abstract String |
* This method tests whether or not the database supports cursors |
1097 |
getCatalogTerm() throws SQLException; |
* remaining open across rollbacks. |
1098 |
|
* |
1099 |
/*************************************************************************/ |
* @return <code>true</code> if cursors can remain open across rollbacks, |
1100 |
|
* <code>false</code> otherwise. |
1101 |
/** |
* @exception SQLException If an error occurs. |
1102 |
* This method tests whether a catalog name appears at the beginning of |
*/ |
1103 |
* a fully qualified table name. |
public boolean supportsOpenCursorsAcrossRollback() throws SQLException; |
1104 |
* |
|
1105 |
* @return <code>true</code> if the catalog name appears at the beginning, |
/** |
1106 |
* <code>false</code> if it appears at the end. |
* This method tests whether or not the database supports statements |
1107 |
* |
* remaining open across commits. |
1108 |
* @exception SQLException If an error occurs. |
* |
1109 |
*/ |
* @return <code>true</code> if statements can remain open across commits, |
1110 |
public abstract boolean |
* <code>false</code> otherwise. |
1111 |
isCatalogAtStart() throws SQLException; |
* @exception SQLException If an error occurs. |
1112 |
|
*/ |
1113 |
/*************************************************************************/ |
public boolean supportsOpenStatementsAcrossCommit() throws SQLException; |
1114 |
|
|
1115 |
/** |
/** |
1116 |
* This method returns the separator between the catalog name and the |
* This method tests whether or not the database supports statements |
1117 |
* table name. |
* remaining open across rollbacks. |
1118 |
* |
* |
1119 |
* @return The separator between the catalog name and the table name. |
* @return <code>true</code> if statements can remain open across rollbacks, |
1120 |
* |
* <code>false</code> otherwise. |
1121 |
* @exception SQLException If an error occurs. |
* @exception SQLException If an error occurs. |
1122 |
*/ |
*/ |
1123 |
public abstract String |
public boolean supportsOpenStatementsAcrossRollback() throws SQLException; |
1124 |
getCatalogSeparator() throws SQLException; |
|
1125 |
|
/** |
1126 |
/*************************************************************************/ |
* This method returns the number of hex characters allowed in an inline |
1127 |
|
* binary literal. |
1128 |
/** |
* |
1129 |
* This method tests whether a catalog name can appear in a data |
* @return The number of hex characters allowed in a binary literal, 0 meaning |
1130 |
* manipulation statement. |
* either an unknown or unlimited number. |
1131 |
* |
* @exception SQLException If an error occurs. |
1132 |
* @return <code>true</code> if a catalog name can appear in a data |
*/ |
1133 |
* manipulation statement, <code>false</code> otherwise. |
public int getMaxBinaryLiteralLength() throws SQLException; |
1134 |
* |
|
1135 |
* @exception SQLException If an error occurs. |
/** |
1136 |
*/ |
* This method returns the maximum length of a character literal. |
1137 |
public abstract boolean |
* |
1138 |
supportsSchemasInDataManipulation() throws SQLException; |
* @return The maximum length of a character literal. |
1139 |
|
* @exception SQLException If an error occurs. |
1140 |
/*************************************************************************/ |
*/ |
1141 |
|
public int getMaxCharLiteralLength() throws SQLException; |
1142 |
/** |
|
1143 |
* This method tests whether a catalog name can appear in a procedure |
/** |
1144 |
* call |
* This method returns the maximum length of a column name. |
1145 |
* |
* |
1146 |
* @return <code>true</code> if a catalog name can appear in a procedure |
* @return The maximum length of a column name. |
1147 |
* call, <code>false</code> otherwise. |
* @exception SQLException If an error occurs. |
1148 |
* |
*/ |
1149 |
* @exception SQLException If an error occurs. |
public int getMaxColumnNameLength() throws SQLException; |
1150 |
*/ |
|
1151 |
public abstract boolean |
/** |
1152 |
supportsSchemasInProcedureCalls() throws SQLException; |
* This method returns the maximum number of columns in a GROUP BY statement. |
1153 |
|
* |
1154 |
/*************************************************************************/ |
* @return The maximum number of columns in a GROUP BY statement. |
1155 |
|
* @exception SQLException If an error occurs. |
1156 |
/** |
*/ |
1157 |
* This method tests whether a catalog name can appear in a table definition. |
public int getMaxColumnsInGroupBy() throws SQLException; |
1158 |
* |
|
1159 |
* @return <code>true</code> if a catalog name can appear in a table |
/** |
1160 |
* definition, <code>false</code> otherwise. |
* This method returns the maximum number of columns in an index. |
1161 |
* |
* |
1162 |
* @exception SQLException If an error occurs. |
* @return The maximum number of columns in an index. |
1163 |
*/ |
* @exception SQLException If an error occurs. |
1164 |
public abstract boolean |
*/ |
1165 |
supportsSchemasInTableDefinitions() throws SQLException; |
public int getMaxColumnsInIndex() throws SQLException; |
1166 |
|
|
1167 |
/*************************************************************************/ |
/** |
1168 |
|
* This method returns the maximum number of columns in an ORDER BY statement. |
1169 |
/** |
* |
1170 |
* This method tests whether a catalog name can appear in an index definition. |
* @return The maximum number of columns in an ORDER BY statement. |
1171 |
* |
* @exception SQLException If an error occurs. |
1172 |
* @return <code>true</code> if a catalog name can appear in an index |
*/ |
1173 |
* definition, <code>false</code> otherwise. |
public int getMaxColumnsInOrderBy() throws SQLException; |
1174 |
* |
|
1175 |
* @exception SQLException If an error occurs. |
/** |
1176 |
*/ |
* This method returns the maximum number of columns in a SELECT statement. |
1177 |
public abstract boolean |
* |
1178 |
supportsSchemasInIndexDefinitions() throws SQLException; |
* @return The maximum number of columns in a SELECT statement. |
1179 |
|
* @exception SQLException If an error occurs. |
1180 |
/*************************************************************************/ |
*/ |
1181 |
|
public int getMaxColumnsInSelect() throws SQLException; |
1182 |
/** |
|
1183 |
* This method tests whether a catalog name can appear in privilege definitions. |
/** |
1184 |
* |
* This method returns the maximum number of columns in a table. |
1185 |
* @return <code>true</code> if a catalog name can appear in privilege |
* |
1186 |
* definition, <code>false</code> otherwise. |
* @return The maximum number of columns in a table. |
1187 |
* |
* @exception SQLException If an error occurs. |
1188 |
* @exception SQLException If an error occurs. |
*/ |
1189 |
*/ |
public int getMaxColumnsInTable() throws SQLException; |
1190 |
public abstract boolean |
|
1191 |
supportsSchemasInPrivilegeDefinitions() throws SQLException; |
/** |
1192 |
|
* This method returns the maximum number of connections this client |
1193 |
/*************************************************************************/ |
* can have to the database. |
1194 |
|
* |
1195 |
/** |
* @return The maximum number of database connections. |
1196 |
* This method tests whether a catalog name can appear in a data |
* @SQLException If an error occurs. |
1197 |
* manipulation statement. |
*/ |
1198 |
* |
public int getMaxConnections() throws SQLException; |
1199 |
* @return <code>true</code> if a catalog name can appear in a data |
|
1200 |
* manipulation statement, <code>false</code> otherwise. |
/** |
1201 |
* |
* This method returns the maximum length of a cursor name. |
1202 |
* @exception SQLException If an error occurs. |
* |
1203 |
*/ |
* @return The maximum length of a cursor name. |
1204 |
public abstract boolean |
* @exception SQLException If an error occurs. |
1205 |
supportsCatalogsInDataManipulation() throws SQLException; |
*/ |
1206 |
|
public int getMaxCursorNameLength() throws SQLException; |
1207 |
/*************************************************************************/ |
|
1208 |
|
/** |
1209 |
/** |
* This method returns the maximum length of an index. |
1210 |
* This method tests whether a catalog name can appear in a procedure |
* |
1211 |
* call |
* @return The maximum length of an index. |
1212 |
* |
* @exception SQLException If an error occurs. |
1213 |
* @return <code>true</code> if a catalog name can appear in a procedure |
*/ |
1214 |
* call, <code>false</code> otherwise. |
public int getMaxIndexLength() throws SQLException; |
1215 |
* |
|
1216 |
* @exception SQLException If an error occurs. |
/** |
1217 |
*/ |
* This method returns the maximum length of a schema name. |
1218 |
public abstract boolean |
* |
1219 |
supportsCatalogsInProcedureCalls() throws SQLException; |
* @return The maximum length of a schema name. |
1220 |
|
* @exception SQLException If an error occurs. |
1221 |
/*************************************************************************/ |
*/ |
1222 |
|
public int getMaxSchemaNameLength() throws SQLException; |
1223 |
/** |
|
1224 |
* This method tests whether a catalog name can appear in a table definition. |
/** |
1225 |
* |
* This method returns the maximum length of a procedure name. |
1226 |
* @return <code>true</code> if a catalog name can appear in a table |
* |
1227 |
* definition, <code>false</code> otherwise. |
* @return The maximum length of a procedure name. |
1228 |
* |
* @exception SQLException If an error occurs. |
1229 |
* @exception SQLException If an error occurs. |
*/ |
1230 |
*/ |
public int getMaxProcedureNameLength() throws SQLException; |
1231 |
public abstract boolean |
|
1232 |
supportsCatalogsInTableDefinitions() throws SQLException; |
/** |
1233 |
|
* This method returns the maximum length of a catalog name. |
1234 |
/*************************************************************************/ |
* |
1235 |
|
* @return The maximum length of a catalog name. |
1236 |
/** |
* @exception SQLException If an error occurs. |
1237 |
* This method tests whether a catalog name can appear in an index definition. |
*/ |
1238 |
* |
public int getMaxCatalogNameLength() throws SQLException; |
1239 |
* @return <code>true</code> if a catalog name can appear in an index |
|
1240 |
* definition, <code>false</code> otherwise. |
/** |
1241 |
* |
* This method returns the maximum size of a row in bytes. |
1242 |
* @exception SQLException If an error occurs. |
* |
1243 |
*/ |
* @return The maximum size of a row. |
1244 |
public abstract boolean |
* @exception SQLException If an error occurs. |
1245 |
supportsCatalogsInIndexDefinitions() throws SQLException; |
*/ |
1246 |
|
public int getMaxRowSize() throws SQLException; |
1247 |
/*************************************************************************/ |
|
1248 |
|
/** |
1249 |
/** |
* This method tests whether or not the maximum row size includes BLOB's |
1250 |
* This method tests whether a catalog name can appear in privilege definitions. |
* |
1251 |
* |
* @return <code>true</code> if the maximum row size includes BLOB's, |
1252 |
* @return <code>true</code> if a catalog name can appear in privilege |
* <code>false</code> otherwise. |
1253 |
* definition, <code>false</code> otherwise. |
* @exception SQLException If an error occurs. |
1254 |
* |
*/ |
1255 |
* @exception SQLException If an error occurs. |
public boolean doesMaxRowSizeIncludeBlobs() throws SQLException; |
1256 |
*/ |
|
1257 |
public abstract boolean |
/** |
1258 |
supportsCatalogsInPrivilegeDefinitions() throws SQLException; |
* This method includes the maximum length of a SQL statement. |
1259 |
|
* |
1260 |
/*************************************************************************/ |
* @return The maximum length of a SQL statement. |
1261 |
|
* @exception SQLException If an error occurs. |
1262 |
/** |
*/ |
1263 |
* This method tests whether or not that database supports positioned |
public int getMaxStatementLength() throws SQLException; |
1264 |
* deletes. |
|
1265 |
* |
/** |
1266 |
* @return <code>true</code> if positioned deletes are supported, |
* This method returns the maximum number of statements that can be |
1267 |
* <code>false</code> otherwise. |
* active at any time. |
1268 |
* |
* |
1269 |
* @exception SQLException If an error occurs. |
* @return The maximum number of statements that can be active at any time. |
1270 |
*/ |
* @exception SQLException If an error occurs. |
1271 |
public abstract boolean |
*/ |
1272 |
supportsPositionedDelete() throws SQLException; |
public int getMaxStatements() throws SQLException; |
1273 |
|
|
1274 |
/*************************************************************************/ |
/** |
1275 |
|
* This method returns the maximum length of a table name. |
1276 |
/** |
* |
1277 |
* This method tests whether or not that database supports positioned |
* @return The maximum length of a table name. |
1278 |
* updates. |
* @exception SQLException If an error occurs. |
1279 |
* |
*/ |
1280 |
* @return <code>true</code> if positioned updates are supported, |
public int getMaxTableNameLength() throws SQLException; |
1281 |
* <code>false</code> otherwise. |
|
1282 |
* |
/** |
1283 |
* @exception SQLException If an error occurs. |
* This method returns the maximum number of tables that may be referenced |
1284 |
*/ |
* in a SELECT statement. |
1285 |
public abstract boolean |
* |
1286 |
supportsPositionedUpdate() throws SQLException; |
* @return The maximum number of tables allowed in a SELECT statement. |
1287 |
|
* @exception SQLException If an error occurs. |
1288 |
/*************************************************************************/ |
*/ |
1289 |
|
public int getMaxTablesInSelect() throws SQLException; |
1290 |
/** |
|
1291 |
* This method tests whether or not SELECT FOR UPDATE is supported by the |
/** |
1292 |
* database. |
* This method returns the maximum length of a user name. |
1293 |
* |
* |
1294 |
* @return <code>true</code> if SELECT FOR UPDATE is supported |
* @return The maximum length of a user name. |
1295 |
* <code>false</code> otherwise. |
* @exception SQLException If an error occurs. |
1296 |
* |
*/ |
1297 |
* @exception SQLException If an error occurs. |
public int getMaxUserNameLength() throws SQLException; |
1298 |
*/ |
|
1299 |
public abstract boolean |
/** |
1300 |
supportsSelectForUpdate() throws SQLException; |
* This method returns the default transaction isolation level of the |
1301 |
|
* database. |
1302 |
/*************************************************************************/ |
* |
1303 |
|
* @return The default transaction isolation level of the database. |
1304 |
/** |
* @exception SQLException If an error occurs. |
1305 |
* This method tests whether or not stored procedures are supported on |
* @see Connection |
1306 |
* this database. |
*/ |
1307 |
* |
public int getDefaultTransactionIsolation() throws SQLException; |
1308 |
* @return <code>true</code> if stored procedures are supported, |
|
1309 |
* <code>false</code> otherwise. |
/** |
1310 |
* |
* This method tests whether or not the database supports transactions. |
1311 |
* @exception SQLException If an error occurs. |
* |
1312 |
*/ |
* @return <code>true</code> if the database supports transactions, |
1313 |
public abstract boolean |
* <code>false</code> otherwise. |
1314 |
supportsStoredProcedures() throws SQLException; |
* @exception SQLException If an error occurs. |
1315 |
|
*/ |
1316 |
/*************************************************************************/ |
public boolean supportsTransactions() throws SQLException; |
1317 |
|
|
1318 |
/** |
/** |
1319 |
* This method tests whether or not subqueries are allowed in comparisons. |
* This method tests whether or not the database supports the specified |
1320 |
* A fully JDBC compliant driver will always return <code>true</code>. |
* transaction isolation level. |
1321 |
* |
* |
1322 |
* @return <code>true</code> if subqueries are allowed in comparisons, |
* @param level The transaction isolation level. |
1323 |
* <code>false</code> otherwise. |
* |
1324 |
* |
* @return <code>true</code> if the specified transaction isolation level |
1325 |
* @exception SQLException If an error occurs. |
* is supported, <code>false</code> otherwise. |
1326 |
*/ |
* @exception SQLException If an error occurs. |
1327 |
public abstract boolean |
*/ |
1328 |
supportsSubqueriesInComparisons() throws SQLException; |
public boolean supportsTransactionIsolationLevel(int level) throws |
1329 |
|
SQLException; |
1330 |
/*************************************************************************/ |
|
1331 |
|
/** |
1332 |
/** |
* This method tests whether or not DDL and DML statements allowed within |
1333 |
* This method tests whether or not subqueries are allowed in exists |
* the same transaction. |
1334 |
* expressions. A fully JDBC compliant driver will always return |
* |
1335 |
* <code>true</code>. |
* @return <code>true</code> if DDL and DML statements are allowed in the |
1336 |
* |
* same transaction, <code>false</code> otherwise. |
1337 |
* @return <code>true</code> if subqueries are allowed in exists |
* @exception SQLException If an error occurs. |
1338 |
* expressions, <code>false</code> otherwise. |
*/ |
1339 |
* |
public boolean supportsDataDefinitionAndDataManipulationTransactions() |
1340 |
* @exception SQLException If an error occurs. |
throws SQLException; |
1341 |
*/ |
|
1342 |
public abstract boolean |
/** |
1343 |
supportsSubqueriesInExists() throws SQLException; |
* This method tests whether or not only DML statement are allowed |
1344 |
|
* inside a transaction. |
1345 |
/*************************************************************************/ |
* |
1346 |
|
* @return <code>true</code> if only DML statements are allowed in |
1347 |
/** |
* transactions, <code>false</code> otherwise. |
1348 |
* This method tests whether subqueries are allowed in IN statements. |
* @exception SQLException If an error occurs. |
1349 |
* A fully JDBC compliant driver will always return <code>true</code>. |
*/ |
1350 |
* |
public boolean supportsDataManipulationTransactionsOnly() throws |
1351 |
* @return <code>true</code> if the driver supports subqueries in IN |
SQLException; |
1352 |
* statements, <code>false</code> otherwise. |
|
1353 |
* |
/** |
1354 |
* @exception SQLException If an error occurs. |
* This method tests whether or not a DDL statement will cause the |
1355 |
*/ |
* current transaction to be automatically committed. |
1356 |
public abstract boolean |
* |
1357 |
supportsSubqueriesInIns() throws SQLException; |
* @return <code>true</code> if DDL causes an immediate transaction commit, |
1358 |
|
* <code>false</code> otherwise. |
1359 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
1360 |
|
*/ |
1361 |
/** |
public boolean dataDefinitionCausesTransactionCommit() throws SQLException; |
1362 |
* This method tests whether or not subqueries are allowed in quantified |
|
1363 |
* expressions. A fully JDBC compliant driver will always return |
/** |
1364 |
* <code>true</code>. |
* This method tests whether or not DDL statements are ignored in |
1365 |
* |
* transactions. |
1366 |
* @return <code>true</code> if subqueries are allowed in quantified |
* |
1367 |
* expressions, <code>false</code> otherwise. |
* @return <code>true</code> if DDL statements are ignored in transactions, |
1368 |
* |
* <code>false</code> otherwise. |
1369 |
* @exception SQLException If an error occurs. |
* @exception SQLException If an error occurs. |
1370 |
*/ |
*/ |
1371 |
public abstract boolean |
public boolean dataDefinitionIgnoredInTransactions() throws SQLException; |
1372 |
supportsSubqueriesInQuantifieds() throws SQLException; |
|
1373 |
|
/** |
1374 |
/*************************************************************************/ |
* This method returns a list of all the stored procedures matching the |
1375 |
|
* specified pattern in the given schema and catalog. This is returned |
1376 |
/** |
* a <code>ResultSet</code> with the following columns: |
1377 |
* This method test whether or not correlated subqueries are allowed. A |
* <p> |
1378 |
* fully JDBC compliant driver will always return <code>true</code>. |
* <ol> |
1379 |
* |
* <li>PROCEDURE_CAT - The catalog the procedure is in, which may be |
1380 |
* @return <code>true</code> if correlated subqueries are allowed, |
* <code>null</code>. |
1381 |
* <code>false</code> otherwise. |
* <li>PROCEDURE_SCHEM - The schema the procedures is in, which may be |
1382 |
* |
* <code>null</code>. |
1383 |
* @exception SQLException If an error occurs. |
* <li>PROCEDURE_NAME - The name of the procedure. |
1384 |
*/ |
* <li>Unused |
1385 |
public abstract boolean |
* <li>Unused |
1386 |
supportsCorrelatedSubqueries() throws SQLException; |
* <li>Unused |
1387 |
|
* <li>REMARKS - A description of the procedure |
1388 |
/*************************************************************************/ |
* <li>PROCEDURE_TYPE - Indicates the return type of the procedure, which |
1389 |
|
* is one of the contstants defined in this class |
1390 |
/** |
* (<code>procedureResultUnknown</code>, <code>procedureNoResult</code>, or |
1391 |
* This method tests whether or not the UNION statement is supported. |
* <code>procedureReturnsResult</code>). |
1392 |
* |
* </ol> |
1393 |
* @return <code>true</code> if UNION is supported, <code>false</code> |
* |
1394 |
* otherwise. |
* @param catalog The name of the catalog to return stored procedured from, |
1395 |
* |
* or "" to return procedures from all catalogs. |
1396 |
* @exception SQLException If an error occurs. |
* @param schemaPattern A schema pattern for the schemas to return stored |
1397 |
*/ |
* procedures from, or "" to return procedures from all schemas. |
1398 |
public abstract boolean |
* @param namePattern The pattern of procedures names to return. |
1399 |
supportsUnion() throws SQLException; |
* @returns A <code>ResultSet</code> with all the requested procedures. |
1400 |
|
* @exception SQLException If an error occurs. |
1401 |
/*************************************************************************/ |
*/ |
1402 |
|
public ResultSet getProcedures(String catalog, String schemaPattern, String |
1403 |
/** |
procedureNamePattern) throws SQLException; |
1404 |
* This method tests whether or not the UNION ALL statement is supported. |
|
1405 |
* |
/** |
1406 |
* @return <code>true</code> if UNION ALL is supported, <code>false</code> |
* This method returns a list of the parameter and result columns for |
1407 |
* otherwise. |
* the requested stored procedures. This is returned in the form of a |
1408 |
* |
* <code>ResultSet</code> with the following columns: |
1409 |
* @exception SQLException If an error occurs. |
* <p> |
1410 |
*/ |
* <ol> |
1411 |
public abstract boolean |
* <li>PROCEDURE_CAT - The catalog the procedure is in, which may be |
1412 |
supportsUnionAll() throws SQLException; |
* <code>null</code>. |
1413 |
|
* <li>PROCEDURE_SCHEM - The schema the procedures is in, which may be |
1414 |
/*************************************************************************/ |
* <code>null</code>. |
1415 |
|
* <li>PROCEDURE_NAME - The name of the procedure. |
1416 |
/** |
* <li>COLUMN_NAME - The name of the column |
1417 |
* This method tests whether or not the database supports cursors |
* <li>COLUMN_TYPE - The type of the column, which will be one of the |
1418 |
* remaining open across commits. |
* contants defined in this class (<code>procedureColumnUnknown</code>, |
1419 |
* |
* <code>procedureColumnIn</code>, <code>procedureColumnInOut</code>, |
1420 |
* @return <code>true</code> if cursors can remain open across commits, |
* <code>procedureColumnOut</code>, <code>procedureColumnReturn</code>, |
1421 |
* <code>false</code> otherwise. |
* or <code>procedureColumnResult</code>). |
1422 |
* |
* <li>DATA_TYPE - The SQL type of the column. This is one of the constants |
1423 |
* @exception SQLException If an error occurs. |
* defined in <code>Types</code>. |
1424 |
*/ |
* <li>TYPE_NAME - The string name of the data type for this column. |
1425 |
public abstract boolean |
* <li>PRECISION - The precision of the column. |
1426 |
supportsOpenCursorsAcrossCommit() throws SQLException; |
* <li>LENGTH - The length of the column in bytes |
1427 |
|
* <li>SCALE - The scale of the column. |
1428 |
/*************************************************************************/ |
* <li>RADIX - The radix of the column. |
1429 |
|
* <li>NULLABLE - Whether or not the column is NULLABLE. This is one of |
1430 |
/** |
* the constants defined in this class (<code>procedureNoNulls</code>, |
1431 |
* This method tests whether or not the database supports cursors |
* <code>procedureNullable</code>, or <code>procedureNullableUnknown</code>) |
1432 |
* remaining open across rollbacks. |
* <li>REMARKS - A description of the column. |
1433 |
* |
* </ol> |
1434 |
* @return <code>true</code> if cursors can remain open across rollbacks, |
* |
1435 |
* <code>false</code> otherwise. |
* @param catalog The name of the catalog to return stored procedured from, |
1436 |
* |
* or "" to return procedures from all catalogs. |
1437 |
* @exception SQLException If an error occurs. |
* @param schemaPattern A schema pattern for the schemas to return stored |
1438 |
*/ |
* procedures from, or "" to return procedures from all schemas. |
1439 |
public abstract boolean |
* @param namePattern The pattern of procedures names to return. |
1440 |
supportsOpenCursorsAcrossRollback() throws SQLException; |
* @param columnPattern The pattern of column names to return. |
1441 |
|
* @returns A <code>ResultSet</code> with all the requested procedures. |
1442 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
1443 |
|
*/ |
1444 |
/** |
public ResultSet getProcedureColumns(String catalog, String schemaPattern, |
1445 |
* This method tests whether or not the database supports statements |
String procedureNamePattern, String columnNamePattern) throws |
1446 |
* remaining open across commits. |
SQLException; |
1447 |
* |
|
1448 |
* @return <code>true</code> if statements can remain open across commits, |
/** |
1449 |
* <code>false</code> otherwise. |
* This method returns a list of the requested table as a |
1450 |
* |
* <code>ResultSet</code> with the following columns: |
1451 |
* @exception SQLException If an error occurs. |
* <p> |
1452 |
*/ |
* <ol> |
1453 |
public abstract boolean |
* <li>TABLE_CAT - The catalog the table is in, which may be <code>null</code>. |
1454 |
supportsOpenStatementsAcrossCommit() throws SQLException; |
* <li>TABLE_SCHEM - The schema the table is in, which may be <code>null</code>. |
1455 |
|
* <li>TABLE_NAME - The name of the table. |
1456 |
/*************************************************************************/ |
* <li>TABLE_TYPE - A string describing the table type. This will be one |
1457 |
|
* of the values returned by the <code>getTableTypes()</code> method. |
1458 |
/** |
* <li>REMARKS - Comments about the table. |
1459 |
* This method tests whether or not the database supports statements |
* </ol> |
1460 |
* remaining open across rollbacks. |
* |
1461 |
* |
* @param catalog The name of the catalog to return tables from, |
1462 |
* @return <code>true</code> if statements can remain open across rollbacks, |
* or "" to return tables from all catalogs. |
1463 |
* <code>false</code> otherwise. |
* @param schemaPattern A schema pattern for the schemas to return tables |
1464 |
* |
* from, or "" to return tables from all schemas. |
1465 |
* @exception SQLException If an error occurs. |
* @param namePattern The pattern of table names to return. |
1466 |
*/ |
* @param types The list of table types to include; null returns all types. |
1467 |
public abstract boolean |
* @returns A <code>ResultSet</code> with all the requested tables. |
1468 |
supportsOpenStatementsAcrossRollback() throws SQLException; |
* @exception SQLException If an error occurs. |
1469 |
|
*/ |
1470 |
/*************************************************************************/ |
public ResultSet getTables(String catalog, String schemaPattern, String |
1471 |
|
tableNamePattern, String[] types) throws SQLException; |
1472 |
/** |
|
1473 |
* This method returns the number of hex characters allowed in an inline |
/** |
1474 |
* binary literal. |
* This method returns the list of database schemas as a |
1475 |
* |
* <code>ResultSet</code>, with one column - TABLE_SCHEM - that is the |
1476 |
* @return The number of hex characters allowed in a binary literal, 0 meaning |
* name of the schema. |
1477 |
* either an unknown or unlimited number. |
* |
1478 |
* |
* @return A <code>ResultSet</code> with all the requested schemas. |
1479 |
* @exception SQLException If an error occurs. |
* @exception SQLException If an error occurs. |
1480 |
*/ |
*/ |
1481 |
public abstract int |
public ResultSet getSchemas() throws SQLException; |
1482 |
getMaxBinaryLiteralLength() throws SQLException; |
|
1483 |
|
/** |
1484 |
/*************************************************************************/ |
* This method returns the list of database catalogs as a |
1485 |
|
* <code>ResultSet</code> with one column - TABLE_CAT - that is the |
1486 |
/** |
* name of the catalog. |
1487 |
* This method returns the maximum length of a character literal. |
* |
1488 |
* |
* @return A <code>ResultSet</code> with all the requested catalogs. |
1489 |
* @return The maximum length of a character literal. |
* @exception SQLException If an error occurs. |
1490 |
* |
*/ |
1491 |
* @exception SQLException If an error occurs. |
public ResultSet getCatalogs() throws SQLException; |
1492 |
*/ |
|
1493 |
public abstract int |
/** |
1494 |
getMaxCharLiteralLength() throws SQLException; |
* This method returns the list of database table types as a |
1495 |
|
* <code>ResultSet</code> with one column - TABLE_TYPE - that is the |
1496 |
/*************************************************************************/ |
* name of the table type. |
1497 |
|
* |
1498 |
/** |
* @return A <code>ResultSet</code> with all the requested table types. |
1499 |
* This method returns the maximum length of a column name. |
* @exception SQLException If an error occurs. |
1500 |
* |
*/ |
1501 |
* @return The maximum length of a column name. |
public ResultSet getTableTypes() throws SQLException; |
1502 |
* |
|
1503 |
* @exception SQLException If an error occurs. |
/** |
1504 |
*/ |
* This method returns a list of the tables columns for |
1505 |
public abstract int |
* the requested tables. This is returned in the form of a |
1506 |
getMaxColumnNameLength() throws SQLException; |
* <code>ResultSet</code> with the following columns: |
1507 |
|
* <p> |
1508 |
/*************************************************************************/ |
* <ol> |
1509 |
|
* <li>TABLE_CAT - The catalog the table is in, which may be |
1510 |
/** |
* <code>null</code>. |
1511 |
* This method returns the maximum number of columns in a GROUP BY statement. |
* <li>TABLE_SCHEM - The schema the tables is in, which may be |
1512 |
* |
* <code>null</code>. |
1513 |
* @return The maximum number of columns in a GROUP BY statement. |
* <li>TABLE_NAME - The name of the table. |
1514 |
* |
* <li>COLUMN_NAME - The name of the column |
1515 |
* @exception SQLException If an error occurs. |
* <li>DATA_TYPE - The SQL type of the column. This is one of the constants |
1516 |
*/ |
* defined in <code>Types</code>. |
1517 |
public abstract int |
* <li>TYPE_NAME - The string name of the data type for this column. |
1518 |
getMaxColumnsInGroupBy() throws SQLException; |
* <li>COLUMN_SIZE - The size of the column. |
1519 |
|
* <li>Unused |
1520 |
/*************************************************************************/ |
* <li>NUM_PREC_RADIX - The radix of the column. |
1521 |
|
* <li>NULLABLE - Whether or not the column is NULLABLE. This is one of |
1522 |
/** |
* the constants defined in this class (<code>tableNoNulls</code>, |
1523 |
* This method returns the maximum number of columns in an index. |
* <code>tableNullable</code>, or <code>tableNullableUnknown</code>) |
1524 |
* |
* <li>REMARKS - A description of the column. |
1525 |
* @return The maximum number of columns in an index. |
* <li>COLUMN_DEF - The default value for the column, may be <code>null</code>. |
1526 |
* |
* <li>SQL_DATA_TYPE - Unused |
1527 |
* @exception SQLException If an error occurs. |
* <li>SQL_DATETIME_SUB - Unused |
1528 |
*/ |
* <li>CHAR_OCTET_LENGTH - For character columns, the maximum number of bytes |
1529 |
public abstract int |
* in the column. |
1530 |
getMaxColumnsInIndex() throws SQLException; |
* <li>ORDINAL_POSITION - The index of the column in the table. |
1531 |
|
* <li>IS_NULLABLE - "NO" means no, "YES" means maybe, and an empty string |
1532 |
/*************************************************************************/ |
* means unknown. |
1533 |
|
* </ol> |
1534 |
/** |
* |
1535 |
* This method returns the maximum number of columns in an ORDER BY statement. |
* @param catalog The name of the catalog to return table from, |
1536 |
* |
* or "" to return tables from all catalogs. |
1537 |
* @return The maximum number of columns in an ORDER BY statement. |
* @param schemaPattern A schema pattern for the schemas to return |
1538 |
* |
* tables from, or "" to return tables from all schemas. |
1539 |
* @exception SQLException If an error occurs. |
* @param namePattern The pattern of tables names to return. |
1540 |
*/ |
* @param columnPattern The pattern of column names to return. |
1541 |
public abstract int |
* @returns A <code>ResultSet</code> with all the requested tables. |
1542 |
getMaxColumnsInOrderBy() throws SQLException; |
* @exception SQLException If an error occurs. |
1543 |
|
*/ |
1544 |
/*************************************************************************/ |
public ResultSet getColumns(String catalog, String schemaPattern, String |
1545 |
|
tableNamePattern, String columnNamePattern) throws SQLException; |
1546 |
/** |
|
1547 |
* This method returns the maximum number of columns in a SELECT statement. |
/** |
1548 |
* |
* This method returns the access rights that have been granted to the |
1549 |
* @return The maximum number of columns in a SELECT statement. |
* requested columns. This information is returned as a <code>ResultSet</code> |
1550 |
* |
* with the following columns: |
1551 |
* @exception SQLException If an error occurs. |
* <p> |
1552 |
*/ |
* <ol> |
1553 |
public abstract int |
* <li>TABLE_CAT - The catalog the table is in, which may be |
1554 |
getMaxColumnsInSelect() throws SQLException; |
* <code>null</code>. |
1555 |
|
* <li>TABLE_SCHEM - The schema the tables is in, which may be |
1556 |
/*************************************************************************/ |
* <code>null</code>. |
1557 |
|
* <li>TABLE_NAME - The name of the table. |
1558 |
/** |
* <li>COLUMN_NAME - The name of the column. |
1559 |
* This method returns the maximum number of columns in a table. |
* <li>GRANTOR - The entity that granted the access. |
1560 |
* |
* <li>GRANTEE - The entity granted the access. |
1561 |
* @return The maximum number of columns in a table. |
* <li>PRIVILEGE - The name of the privilege granted. |
1562 |
* |
* <li>IS_GRANTABLE - "YES" if the grantee can grant the privilege to |
1563 |
* @exception SQLException If an error occurs. |
* others, "NO" if not, and <code>null</code> if unknown. |
1564 |
*/ |
* </ol> |
1565 |
public abstract int |
* |
1566 |
getMaxColumnsInTable() throws SQLException; |
* @param catalog The catalog to retrieve information from, or the empty string |
1567 |
|
* to return entities not associated with a catalog, or <code>null</code> |
1568 |
/*************************************************************************/ |
* to return information from all catalogs. |
1569 |
|
* @param schema The schema to retrieve information from, or the empty string |
1570 |
/** |
* to return entities not associated with a schema. |
1571 |
* This method returns the maximum number of connections this client |
* @param table The table name to return information for. |
1572 |
* can have to the database. |
* @param columnPattern A pattern of column names to return information for. |
1573 |
* |
* @return A <code>ResultSet</code> with all the requested privileges. |
1574 |
* @return The maximum number of database connections. |
* @exception SQLException If an error occurs. |
1575 |
* |
*/ |
1576 |
* @SQLException If an error occurs. |
public ResultSet getColumnPrivileges(String catalog, String schema, String |
1577 |
*/ |
table, String columnNamePattern) throws SQLException; |
1578 |
public abstract int |
|
1579 |
getMaxConnections() throws SQLException; |
/** |
1580 |
|
* This method returns the access rights that have been granted to the |
1581 |
/*************************************************************************/ |
* requested tables. This information is returned as a <code>ResultSet</code> |
1582 |
|
* with the following columns: |
1583 |
/** |
* <p> |
1584 |
* This method returns the maximum length of a cursor name. |
* <ol> |
1585 |
* |
* <li>TABLE_CAT - The catalog the table is in, which may be |
1586 |
* @return The maximum length of a cursor name. |
* <code>null</code>. |
1587 |
* |
* <li>TABLE_SCHEM - The schema the tables is in, which may be |
1588 |
* @exception SQLException If an error occurs. |
* <code>null</code>. |
1589 |
*/ |
* <li>TABLE_NAME - The name of the table. |
1590 |
public abstract int |
* <li>GRANTOR - The entity that granted the access. |
1591 |
getMaxCursorNameLength() throws SQLException; |
* <li>GRANTEE - The entity granted the access. |
1592 |
|
* <li>PRIVILEGE - The name of the privilege granted. |
1593 |
/*************************************************************************/ |
* <li>IS_GRANTABLE - "YES" if the grantee can grant the privilege to |
1594 |
|
* others, "NO" if not, and <code>null</code> if unknown. |
1595 |
/** |
* </ol> |
1596 |
* This method returns the maximum length of an index. |
* |
1597 |
* |
* @param catalog The catalog to retrieve information from, or the empty string |
1598 |
* @return The maximum length of an index. |
* to return entities not associated with a catalog, or <code>null</code> |
1599 |
* |
* to return information from all catalogs. |
1600 |
* @exception SQLException If an error occurs. |
* @param schema The schema to retrieve information from, or the empty string |
1601 |
*/ |
* to return entities not associated with a schema. |
1602 |
public abstract int |
* @param tablePattern The table name pattern of tables to return |
1603 |
getMaxIndexLength() throws SQLException; |
* information for. |
1604 |
|
* @return A <code>ResultSet</code> with all the requested privileges. |
1605 |
/*************************************************************************/ |
* @exception SQLException If an error occurs. |
1606 |
|
*/ |
1607 |
/** |
public ResultSet getTablePrivileges(String catalog, String schemaPattern, |
1608 |
* This method returns the maximum length of a schema name. |
String tableNamePattern) throws SQLException; |
1609 |
* |
|
1610 |
* @return The maximum length of a schema name. |
/** |
1611 |
* |
* This method returns the best set of columns for uniquely identifying |
1612 |
* @exception SQLException If an error occurs. |
* a row. It returns this information as a <code>ResultSet</code> with |
1613 |
*/ |
* the following columns: |
1614 |
public abstract int |
* <p> |
1615 |
getMaxSchemaNameLength() throws SQLException; |
* <ol> |
1616 |
|
* <li>SCOPE - The scope of the results returned. This is one of the |
1617 |
/*************************************************************************/ |
* constants defined in this class (<code>bestRowTemporary</code>, |
1618 |
|
* <code>bestRowTransaction</code>, or <code>bestRowSession</code>). |
1619 |
/** |
* <li>COLUMN_NAME - The name of the column. |
1620 |
* This method returns the maximum length of a procedure name. |
* <li>DATA_TYPE - The SQL type of the column. This is one of the constants |
1621 |
* |
* defined in <code>Types</code>. |
1622 |
* @return The maximum length of a procedure name. |
* <li>TYPE_NAME - The string name of the data type for this column. |
1623 |
* |
* <li>COLUMN_SIZE - The precision of the columns |
1624 |
* @exception SQLException If an error occurs. |
* <li>BUFFER_LENGTH - Unused |
1625 |
*/ |
* <li>DECIMAL_DIGITS - The scale of the column. |
1626 |
public abstract int |
* <li>PSEUDO_COLUMN - Whether or not the best row identifier is a |
1627 |
getMaxProcedureNameLength() throws SQLException; |
* pseudo_column. This is one of the constants defined in this class |
1628 |
|
* (<code>bestRowUnknown</code>, <code>bestRowNotPseudo</code>, or |
1629 |
/*************************************************************************/ |
* <code>bestRowPseudo</code>). |
1630 |
|
* </ol> |
1631 |
/** |
* |
1632 |
* This method returns the maximum length of a catalog name. |
* @param catalog The catalog to retrieve information from, or the empty string |
1633 |
* |
* to return entities not associated with a catalog, or <code>null</code> |
1634 |
* @return The maximum length of a catalog name. |
* to return information from all catalogs. |
1635 |
* |
* @param schema The schema to retrieve information from, or the empty string |
1636 |
* @exception SQLException If an error occurs. |
* to return entities not associated with a schema. |
1637 |
*/ |
* @param table The table name to return information for. |
1638 |
public abstract int |
* @param columnPattern A pattern of column names to return information for. |
1639 |
getMaxCatalogNameLength() throws SQLException; |
* @param scope One of the best row id scope constants from this class. |
1640 |
|
* @param nullable <code>true</code> to include columns that are nullable, |
1641 |
/*************************************************************************/ |
* <code>false</code> otherwise. |
1642 |
|
* @return A <code>ResultSet</code> with the best row identifier. |
1643 |
/** |
* @exception SQLException If an error occurs. |
1644 |
* This method returns the maximum size of a row in bytes. |
*/ |
1645 |
* |
public ResultSet getBestRowIdentifier(String catalog, String schema, |
1646 |
* @return The maximum size of a row. |
String table, int scope, boolean nullable) throws SQLException; |
1647 |
* |
|
1648 |
* @exception SQLException If an error occurs. |
/** |
1649 |
*/ |
* This method returns the set of columns that are automatically updated |
1650 |
public abstract int |
* when the row is update. It returns this information as a |
1651 |
getMaxRowSize() throws SQLException; |
* <code>ResultSet</code> with the following columns: |
1652 |
|
* <p> |
1653 |
/*************************************************************************/ |
* <ol> |
1654 |
|
* <li>SCOPE - Unused |
1655 |
/** |
* <li>COLUMN_NAME - The name of the column. |
1656 |
* This method tests whether or not the maximum row size includes BLOB's |
* <li>DATA_TYPE - The SQL type of the column. This is one of the constants |
1657 |
* |
* defined in <code>Types</code>. |
1658 |
* @return <code>true</code> if the maximum row size includes BLOB's, |
* <li>TYPE_NAME - The string name of the data type for this column. |
1659 |
* <code>false</code> otherwise. |
* <li>COLUMN_SIZE - The precision of the columns |
1660 |
* |
* <li>BUFFER_LENGTH - Unused |
1661 |
* @exception SQLException If an error occurs. |
* <li>DECIMAL_DIGITS - The scale of the column. |
1662 |
*/ |
* <li>PSEUDO_COLUMN - Whether or not the best row identifier is a |
1663 |
public abstract boolean |
* pseudo_column. This is one of the constants defined in this class |
1664 |
doesMaxRowSizeIncludeBlobs() throws SQLException; |
* (<code>versionRowUnknown</code>, <code>versionRowNotPseudo</code>, or |
1665 |
|
* <code>versionRowPseudo</code>). |
1666 |
/*************************************************************************/ |
* </ol> |
1667 |
|
* |
1668 |
/** |
* @param catalog The catalog to retrieve information from, or the empty string |
1669 |
* This method includes the maximum length of a SQL statement. |
* to return entities not associated with a catalog, or <code>null</code> |
1670 |
* |
* to return information from all catalogs. |
1671 |
* @return The maximum length of a SQL statement. |
* @param schema The schema to retrieve information from, or the empty string |
1672 |
* |
* to return entities not associated with a schema. |
1673 |
* @exception SQLException If an error occurs. |
* @param table The table name to return information for. |
1674 |
*/ |
* @param columnPattern A pattern of column names to return information for. |
1675 |
public abstract int |
* @return A <code>ResultSet</code> with the version columns. |
1676 |
getMaxStatementLength() throws SQLException; |
* @exception SQLException If an error occurs. |
1677 |
|
*/ |
1678 |
/*************************************************************************/ |
public ResultSet getVersionColumns(String catalog, String schema, |
1679 |
|
String table) throws SQLException; |
1680 |
/** |
|
1681 |
* This method returns the maximum number of statements that can be |
/** |
1682 |
* active at any time. |
* This method returns a list of a table's primary key columns. These |
1683 |
* |
* are returned as a <code>ResultSet</code> with the following columns. |
1684 |
* @return The maximum number of statements that can be active at any time. |
* <p> |
1685 |
* |
* <ol> |
1686 |
* @exception SQLException If an error occurs. |
* <li>TABLE_CAT - The catalog of the table, which may be <code>null</code>. |
1687 |
*/ |
* <li>TABLE_SCHEM - The schema of the table, which may be <code>null</code>. |
1688 |
public abstract int |
* <li>TABLE_NAME - The name of the table. |
1689 |
getMaxStatements() throws SQLException; |
* <li>COLUMN_NAME - The name of the column. |
1690 |
|
* <li>KEY_SEQ - The sequence number of the column within the primary key. |
1691 |
/*************************************************************************/ |
* <li>PK_NAME - The name of the primary key, which may be <code>null</code>. |
1692 |
|
* </ol> |
1693 |
/** |
* |
1694 |
* This method returns the maximum length of a table name. |
* @param catalog The catalog to retrieve information from, or the empty string |
1695 |
* |
* to return entities not associated with a catalog, or <code>null</code> |
1696 |
* @return The maximum length of a table name. |
* to return information from all catalogs. |
1697 |
* |
* @param schema The schema to retrieve information from, or the empty string |
1698 |
* @exception SQLException If an error occurs. |
* to return entities not associated with a schema. |
1699 |
*/ |
* @param table The table name to return information for. |
1700 |
public abstract int |
* @param columnPattern A pattern of column names to return information for. |
1701 |
getMaxTableNameLength() throws SQLException; |
* @return A <code>ResultSet</code> with the primary key columns. |
1702 |
|
* @exception SQLException If an error occurs. |
1703 |
/*************************************************************************/ |
*/ |
1704 |
|
public ResultSet getPrimaryKeys(String catalog, String schema, String table) |
1705 |
/** |
throws SQLException; |
1706 |
* This method returns the maximum number of tables that may be referenced |
|
1707 |
* in a SELECT statement. |
/** |
1708 |
* |
* This method returns a list of the table's foreign keys. These are |
1709 |
* @return The maximum number of tables allowed in a SELECT statement. |
* returned as a <code>ResultSet</code> with the following columns: |
1710 |
* |
* <p> |
1711 |
* @exception SQLException If an error occurs. |
* <ol> |
1712 |
*/ |
* <li>PKTABLE_CAT - The catalog of the table the key was imported from. |
1713 |
public abstract int |
* <li>PKTABLE_SCHEM - The schema of the table the key was imported from. |
1714 |
getMaxTablesInSelect() throws SQLException; |
* <li>PKTABLE_NAME - The name of the table the key was imported from. |
1715 |
|
* <li>PKCOLUMN_NAME - The name of the column that was imported. |
1716 |
/*************************************************************************/ |
* <li>FKTABLE_CAT - The foreign key catalog name. |
1717 |
|
* <li>FKTABLE_SCHEM - The foreign key schema name. |
1718 |
/** |
* <li>FKTABLE_NAME - The foreign key table name. |
1719 |
* This method returns the maximum length of a user name. |
* <li>FKCOLUMN_NAME - The foreign key column name. |
1720 |
* |
* <li>KEY_SEQ - The sequence number of the column within the foreign key. |
1721 |
* @return The maximum length of a user name. |
* <li>UPDATE_RULE - How the foreign key behaves when the primary key is |
1722 |
* |
* updated. This is one of the constants defined in this class |
1723 |
* @exception SQLException If an error occurs. |
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
1724 |
*/ |
* <code>importedKeySetNull</code>, <code>importedKeySetDefault</code>, or |
1725 |
public abstract int |
* <code>importedKeyRestrict</code>). |
1726 |
getMaxUserNameLength() throws SQLException; |
* <li>DELETE_RULE - How the foreign key behaves when the primary key is |
1727 |
|
* deleted. This is one of the constants defined in this class |
1728 |
/*************************************************************************/ |
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
1729 |
|
* <code>importedKeySetNull</code>, or <code>importedKeySetDefault</code>) |
1730 |
/** |
* <li>FK_NAME - The name of the foreign key. |
1731 |
* This method returns the default transaction isolation level of the |
* <li>PK_NAME - The name of the primary key. |
1732 |
* database. |
* <li>DEFERRABILITY - The deferrability value. This is one of the |
1733 |
* |
* constants defined in this table (<code>importedKeyInitiallyDeferred</code>, |
1734 |
* @return The default transaction isolation level of the database. |
* <code>importedKeyInitiallyImmediate</code>, or |
1735 |
* |
* <code>importedKeyNotDeferrable</code>). |
1736 |
* @exception SQLException If an error occurs. |
* </ol> |
1737 |
* |
* |
1738 |
* @see Connection |
* @param catalog The catalog to retrieve information from, or the empty string |
1739 |
*/ |
* to return entities not associated with a catalog, or <code>null</code> |
1740 |
public abstract int |
* to return information from all catalogs. |
1741 |
getDefaultTransactionIsolation() throws SQLException; |
* @param schema The schema to retrieve information from, or the empty string |
1742 |
|
* to return entities not associated with a schema. |
1743 |
/*************************************************************************/ |
* @param table The table name to return information for. |
1744 |
|
* |
1745 |
/** |
* @return A <code>ResultSet</code> with the foreign key columns. |
1746 |
* This method tests whether or not the database supports transactions. |
* |
1747 |
* |
* @exception SQLException If an error occurs. |
1748 |
* @return <code>true</code> if the database supports transactions, |
*/ |
1749 |
* <code>false</code> otherwise. |
public ResultSet getImportedKeys(String catalog, String schema, |
1750 |
* |
String table) throws SQLException; |
1751 |
* @exception SQLException If an error occurs. |
|
1752 |
*/ |
/** |
1753 |
public abstract boolean |
* This method returns a list of the table's which use this table's |
1754 |
supportsTransactions() throws SQLException; |
* primary key as a foreign key. The information is |
1755 |
|
* returned as a <code>ResultSet</code> with the following columns: |
1756 |
/*************************************************************************/ |
* <p> |
1757 |
|
* <ol> |
1758 |
/** |
* <li>PKTABLE_CAT - The catalog of the table the key was imported from. |
1759 |
* This method tests whether or not the database supports the specified |
* <li>PKTABLE_SCHEM - The schema of the table the key was imported from. |
1760 |
* transaction isolation level. |
* <li>PKTABLE_NAME - The name of the table the key was imported from. |
1761 |
* |
* <li>PKCOLUMN_NAME - The name of the column that was imported. |
1762 |
* @param level The transaction isolation level. |
* <li>FKTABLE_CAT - The foreign key catalog name. |
1763 |
* |
* <li>FKTABLE_SCHEM - The foreign key schema name. |
1764 |
* @return <code>true</code> if the specified transaction isolation level |
* <li>FKTABLE_NAME - The foreign key table name. |
1765 |
* is supported, <code>false</code> otherwise. |
* <li>FKCOLUMN_NAME - The foreign key column name. |
1766 |
* |
* <li>KEY_SEQ - The sequence number of the column within the foreign key. |
1767 |
* @exception SQLException If an error occurs. |
* <li>UPDATE_RULE - How the foreign key behaves when the primary key is |
1768 |
*/ |
* updated. This is one of the constants defined in this class |
1769 |
public abstract boolean |
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
1770 |
supportsTransactionIsolationLevel(int level) throws SQLException; |
* <code>importedKeySetNull</code>, <code>importedKeySetDefault</code>, or |
1771 |
|
* <code>importedKeyRestrict</code>). |
1772 |
/*************************************************************************/ |
* <li>DELETE_RULE - How the foreign key behaves when the primary key is |
1773 |
|
* deleted. This is one of the constants defined in this class |
1774 |
/** |
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
1775 |
* This method tests whether or not DDL and DML statements allowed within |
* <code>importedKeySetNull</code>, or <code>importedKeySetDefault</code>) |
1776 |
* the same transaction. |
* <li>FK_NAME - The name of the foreign key. |
1777 |
* |
* <li>PK_NAME - The name of the primary key. |
1778 |
* @return <code>true</code> if DDL and DML statements are allowed in the |
* <li>DEFERRABILITY - The deferrability value. This is one of the |
1779 |
* same transaction, <code>false</code> otherwise. |
* constants defined in this table (<code>importedKeyInitiallyDeferred</code>, |
1780 |
* |
* <code>importedKeyInitiallyImmediate</code>, or |
1781 |
* @exception SQLException If an error occurs. |
* <code>importedKeyNotDeferrable</code>). |
1782 |
*/ |
* </ol> |
1783 |
public abstract boolean |
* |
1784 |
supportsDataDefinitionAndDataManipulationTransactions() throws SQLException; |
* @param catalog The catalog to retrieve information from, or the empty string |
1785 |
|
* to return entities not associated with a catalog, or <code>null</code> |
1786 |
/*************************************************************************/ |
* to return information from all catalogs. |
1787 |
|
* @param schema The schema to retrieve information from, or the empty string |
1788 |
/** |
* to return entities not associated with a schema. |
1789 |
* This method tests whether or not only DML statement are allowed |
* @param table The table name to return information for. |
1790 |
* inside a transaction. |
* @return A <code>ResultSet</code> with the requested information |
1791 |
* |
* @exception SQLException If an error occurs. |
1792 |
* @return <code>true</code> if only DML statements are allowed in |
*/ |
1793 |
* transactions, <code>false</code> otherwise. |
public ResultSet getExportedKeys(String catalog, String schema, |
1794 |
* |
String table) throws SQLException; |
1795 |
* @exception SQLException If an error occurs. |
|
1796 |
*/ |
/** |
1797 |
public abstract boolean |
* This method returns a description of how one table imports another |
1798 |
supportsDataManipulationTransactionsOnly() throws SQLException; |
* table's primary key as a foreign key. The information is |
1799 |
|
* returned as a <code>ResultSet</code> with the following columns: |
1800 |
/*************************************************************************/ |
* <p> |
1801 |
|
* <ol> |
1802 |
/** |
* <li>PKTABLE_CAT - The catalog of the table the key was imported from. |
1803 |
* This method tests whether or not a DDL statement will cause the |
* <li>PKTABLE_SCHEM - The schema of the table the key was imported from. |
1804 |
* current transaction to be automatically committed. |
* <li>PKTABLE_NAME - The name of the table the key was imported from. |
1805 |
* |
* <li>PKCOLUMN_NAME - The name of the column that was imported. |
1806 |
* @return <code>true</code> if DDL causes an immediate transaction commit, |
* <li>FKTABLE_CAT - The foreign key catalog name. |
1807 |
* <code>false</code> otherwise. |
* <li>FKTABLE_SCHEM - The foreign key schema name. |
1808 |
* |
* <li>FKTABLE_NAME - The foreign key table name. |
1809 |
* @exception SQLException If an error occurs. |
* <li>FKCOLUMN_NAME - The foreign key column name. |
1810 |
*/ |
* <li>KEY_SEQ - The sequence number of the column within the foreign key. |
1811 |
public abstract boolean |
* <li>UPDATE_RULE - How the foreign key behaves when the primary key is |
1812 |
dataDefinitionCausesTransactionCommit() throws SQLException; |
* updated. This is one of the constants defined in this class |
1813 |
|
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
1814 |
/*************************************************************************/ |
* <code>importedKeySetNull</code>, <code>importedKeySetDefault</code>, or |
1815 |
|
* <code>importedKeyRestrict</code>). |
1816 |
/** |
* <li>DELETE_RULE - How the foreign key behaves when the primary key is |
1817 |
* This method tests whether or not DDL statements are ignored in |
* deleted. This is one of the constants defined in this class |
1818 |
* transactions. |
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
1819 |
* |
* <code>importedKeySetNull</code>, or <code>importedKeySetDefault</code>) |
1820 |
* @return <code>true</code> if DDL statements are ignored in transactions, |
* <li>FK_NAME - The name of the foreign key. |
1821 |
* <code>false</code> otherwise. |
* <li>PK_NAME - The name of the primary key. |
1822 |
* |
* <li>DEFERRABILITY - The deferrability value. This is one of the |
1823 |
* @exception SQLException If an error occurs. |
* constants defined in this table (<code>importedKeyInitiallyDeferred</code>, |
1824 |
*/ |
* <code>importedKeyInitiallyImmediate</code>, or |
1825 |
public abstract boolean |
* <code>importedKeyNotDeferrable</code>). |
1826 |
dataDefinitionIgnoredInTransactions() throws SQLException; |
* </ol> |
1827 |
|
* |
1828 |
/*************************************************************************/ |
* @param primCatalog The catalog to retrieve information from, or the empty string |
1829 |
|
* to return entities not associated with a catalog, or <code>null</code> |
1830 |
/** |
* to return information from all catalogs, on the exporting side. |
1831 |
* This method returns a list of all the stored procedures matching the |
* @param primSchema The schema to retrieve information from, or the empty string |
1832 |
* specified pattern in the given schema and catalog. This is returned |
* to return entities not associated with a schema, on the exporting side. |
1833 |
* a <code>ResultSet</code> with the following columns: |
* @param primTable The table name to return information for, on the exporting |
1834 |
* <p> |
* side. |
1835 |
* <ol> |
* @param forCatalog The catalog to retrieve information from, or the empty string |
1836 |
* <li>PROCEDURE_CAT - The catalog the procedure is in, which may be |
* to return entities not associated with a catalog, or <code>null</code> |
1837 |
* <code>null</code>. |
* to return information from all catalogs, on the importing side. |
1838 |
* <li>PROCEDURE_SCHEM - The schema the procedures is in, which may be |
* @param forSchema The schema to retrieve information from, or the empty string |
1839 |
* <code>null</code>. |
* to return entities not associated with a schema on the importing side. |
1840 |
* <li>PROCEDURE_NAME - The name of the procedure. |
* @param forTable The table name to return information for on the importing |
1841 |
* <li>Unused |
* side. |
1842 |
* <li>Unused |
* @return A <code>ResultSet</code> with the requested information |
1843 |
* <li>Unused |
* @exception SQLException If an error occurs. |
1844 |
* <li>REMARKS - A description of the procedure |
*/ |
1845 |
* <li>PROCEDURE_TYPE - Indicates the return type of the procedure, which |
public ResultSet getCrossReference(String primaryCatalog, String |
1846 |
* is one of the contstants defined in this class |
primarySchema, String primaryTable, String foreignCatalog, String |
1847 |
* (<code>procedureResultUnknown</code>, <code>procedureNoResult</code>, or |
foreignSchema, String foreignTable) throws SQLException; |
1848 |
* <code>procedureReturnsResult</code>). |
|
1849 |
* </ol> |
/** |
1850 |
* |
* This method returns a list of the SQL types supported by this |
1851 |
* @param catalog The name of the catalog to return stored procedured from, |
* database. The information is returned as a <code>ResultSet</code> |
1852 |
* or "" to return procedures from all catalogs. |
* with the following columns: |
1853 |
* @param schemaPattern A schema pattern for the schemas to return stored |
* <p> |
1854 |
* procedures from, or "" to return procedures from all schemas. |
* <ol> |
1855 |
* @param namePattern The pattern of procedures names to return. |
* <li>TYPE_NAME - The name of the data type. |
1856 |
* |
* <li>DATA_TYPE - A data type constant from <code>Types</code> for this |
1857 |
* @returns A <code>ResultSet</code> with all the requested procedures. |
* type. |
1858 |
* |
* <li>PRECISION - The maximum precision of this type. |
1859 |
* @exception SQLException If an error occurs. |
* <li>LITERAL_PREFIX - Prefix value used to quote a literal, which may be |
1860 |
*/ |
* <code>null</code>. |
1861 |
public abstract ResultSet |
* <li>LITERAL_SUFFIX - Suffix value used to quote a literal, which may be |
1862 |
getProcedures(String catalog, String schemaPattern, String namePattern) |
* <code>null</code>. |
1863 |
throws SQLException; |
* <li>CREATE_PARAMS - The parameters used to create the type, which may be |
1864 |
|
* <code>null</code>. |
1865 |
/*************************************************************************/ |
* <li>NULLABLE - Whether or not this type supports NULL values. This will |
1866 |
|
* be one of the constants defined in this interface |
1867 |
/** |
* (<code>typeNoNulls</code>, <code>typeNullable</code>, or |
1868 |
* This method returns a list of the parameter and result columns for |
* <code>typeNullableUnknown</code>). |
1869 |
* the requested stored procedures. This is returned in the form of a |
* <li>CASE_SENSITIVE - Whether or not the value is case sensitive. |
1870 |
* <code>ResultSet</code> with the following columns: |
* <li>SEARCHABLE - Whether or not "LIKE" expressions are supported in |
1871 |
* <p> |
* WHERE clauses for this type. This will be one of the constants defined |
1872 |
* <ol> |
* in this interface (<code>typePredNone</code>, <code>typePredChar</code>, |
1873 |
* <li>PROCEDURE_CAT - The catalog the procedure is in, which may be |
* <code>typePredBasic</code>, or <code>typeSearchable</code>). |
1874 |
* <code>null</code>. |
* <li>UNSIGNED_ATTRIBUTE - Is the value of this type unsigned. |
1875 |
* <li>PROCEDURE_SCHEM - The schema the procedures is in, which may be |
* <li>FIXED_PREC_SCALE - Whether or not this type can be used for money. |
1876 |
* <code>null</code>. |
* <li>AUTO_INCREMENT - Whether or not this type supports auto-incrementing. |
1877 |
* <li>PROCEDURE_NAME - The name of the procedure. |
* <li>LOCAL_TYPE_NAME - A localized name for this data type. |
1878 |
* <li>COLUMN_NAME - The name of the column |
* <li>MINIMUM_SCALE - The minimum scale supported by this type. |
1879 |
* <li>COLUMN_TYPE - The type of the column, which will be one of the |
* <li>MAXIMUM_SCALE - The maximum scale supported by this type. |
1880 |
* contants defined in this class (<code>procedureColumnUnknown</code>, |
* <li>SQL_DATA_TYPE - Unused. |
1881 |
* <code>procedureColumnIn</code>, <code>procedureColumnInOut</code>, |
* <li>SQL_DATETIME_SUB - Unused. |
1882 |
* <code>procedureColumnOut</code>, <code>procedureColumnReturn</code>, |
* <li>NUM_PREC_RADIX - The radix of this data type. |
1883 |
* or <code>procedureColumnResult</code>). |
* </ol> |
1884 |
* <li>DATA_TYPE - The SQL type of the column. This is one of the constants |
* |
1885 |
* defined in <code>Types</code>. |
* @return A <code>ResultSet</code> with the list of available data types. |
1886 |
* <li>TYPE_NAME - The string name of the data type for this column. |
* @exception SQLException If an error occurs. |
1887 |
* <li>PRECISION - The precision of the column. |
*/ |
1888 |
* <li>LENGTH - The length of the column in bytes |
public ResultSet getTypeInfo() throws SQLException; |
1889 |
* <li>SCALE - The scale of the column. |
|
1890 |
* <li>RADIX - The radix of the column. |
/** |
1891 |
* <li>NULLABLE - Whether or not the column is NULLABLE. This is one of |
* This method returns information about a tables indices and statistics. |
1892 |
* the constants defined in this class (<code>procedureNoNulls</code>, |
* It is returned as a <code>ResultSet</code> with the following columns: |
1893 |
* <code>procedureNullable</code>, or <code>procedureNullableUnknown</code>) |
* <p> |
1894 |
* <li>REMARKS - A description of the column. |
* <ol> |
1895 |
* </ol> |
* <li>TABLE_CAT - The catalog of the table, which may be <code>null</code>. |
1896 |
* |
* <li>TABLE_SCHEM - The schema of the table, which may be <code>null</code>. |
1897 |
* @param catalog The name of the catalog to return stored procedured from, |
* <li>TABLE_NAME - The name of the table. |
1898 |
* or "" to return procedures from all catalogs. |
* <li>NON_UNIQUE - Are index values non-unique? |
1899 |
* @param schemaPattern A schema pattern for the schemas to return stored |
* <li>INDEX_QUALIFIER The index catalog, which may be <code>null</code> |
1900 |
* procedures from, or "" to return procedures from all schemas. |
* <li>INDEX_NAME - The name of the index. |
1901 |
* @param namePattern The pattern of procedures names to return. |
* <li>TYPE - The type of index, which will be one of the constants defined |
1902 |
* @param columnPattern The pattern of column names to return. |
* in this interface (<code>tableIndexStatistic</code>, |
1903 |
* |
* <code>tableIndexClustered</code>, <code>tableIndexHashed</code>, or |
1904 |
* @returns A <code>ResultSet</code> with all the requested procedures. |
* <code>tableIndexOther</code>). |
1905 |
* |
* <li>ORDINAL_POSITION - The sequence number of this column in the index. |
1906 |
* @exception SQLException If an error occurs. |
* This will be 0 when the index type is <code>tableIndexStatistic</code>. |
1907 |
*/ |
* <li>COLUMN_NAME - The name of this column in the index. |
1908 |
public abstract ResultSet |
* <li>ASC_OR_DESC - "A" for an ascending sort sequence, "D" for a |
1909 |
getProcedureColumns(String catalog, String schemaPattern, String namePattern, |
* descending sort sequence or <code>null</code> if a sort sequence is not |
1910 |
String columnPattern) throws SQLException; |
* supported. |
1911 |
|
* <li>CARDINALITY - The number of unique rows in the index, or the number |
1912 |
/*************************************************************************/ |
* of rows in the table if the index type is <code>tableIndexStatistic</code>. |
1913 |
|
* <li>PAGES - The number of pages used for the index, or the number of pages |
1914 |
/** |
* in the table if the index type is <code>tableIndexStatistic</code>. |
1915 |
* This method returns a list of the requested table as a |
* <li>FILTER_CONDITION - The filter condition for this index, which may be |
1916 |
* <code>ResultSet</code> with the following columns: |
* <code>null</code>. |
1917 |
* <p> |
* </ol> |
1918 |
* <ol> |
* |
1919 |
* <li>TABLE_CAT - The catalog the table is in, which may be <code>null</code>. |
* @param catalog The catalog to retrieve information from, or the empty string |
1920 |
* <li>TABLE_SCHEM - The schema the table is in, which may be <code>null</code>. |
* to return entities not associated with a catalog, or |
1921 |
* <li>TABLE_NAME - The name of the table. |
* <code>null</code> to return information from all catalogs. |
1922 |
* <li>TABLE_TYPE - A string describing the table type. This will be one |
* @param schema The schema to retrieve information from, or the empty string |
1923 |
* of the values returned by the <code>getTableTypes()</code> method. |
* to return entities not associated with a schema. |
1924 |
* <li>REMARKS - Comments about the table. |
* @param table The table name to return information for. |
1925 |
* </ol> |
* @param unique <code>true</code> to return only unique indexes, |
1926 |
* |
* <code>false</code> otherwise. |
1927 |
* @param catalog The name of the catalog to return tables from, |
* @param approx <code>true</code> if data values can be approximations, |
1928 |
* or "" to return tables from all catalogs. |
* <code>false</code> otherwise. |
1929 |
* @param schemaPattern A schema pattern for the schemas to return tables |
* @return A <code>ResultSet</code> with the requested index information |
1930 |
* from, or "" to return tables from all schemas. |
* @exception SQLException If an error occurs. |
1931 |
* @param namePattern The pattern of table names to return. |
*/ |
1932 |
* @param types The list of table types to include; null returns all types. |
public ResultSet getIndexInfo(String catalog, String schema, String table, |
1933 |
* |
boolean unique, boolean approximate) throws SQLException; |
1934 |
* @returns A <code>ResultSet</code> with all the requested tables. |
|
1935 |
* |
/** |
1936 |
* @exception SQLException If an error occurs. |
* This method tests whether or not the datbase supports the specified |
1937 |
*/ |
* result type. |
1938 |
public abstract ResultSet |
* |
1939 |
getTables(String catalog, String schemaPattern, String namePattern, |
* @param type The desired result type, which is one of the constants |
1940 |
String types[]) throws SQLException; |
* defined in <code>ResultSet</code>. |
1941 |
|
* |
1942 |
/*************************************************************************/ |
* @return <code>true</code> if the result set type is supported, |
1943 |
|
* <code>false</code> otherwise. |
1944 |
/** |
* |
1945 |
* This method returns the list of database schemas as a |
* @exception SQLException If an error occurs. |
1946 |
* <code>ResultSet</code>, with one column - TABLE_SCHEM - that is the |
* |
1947 |
* name of the schema. |
* @see ResultSet |
1948 |
* |
*/ |
1949 |
* @return A <code>ResultSet</code> with all the requested schemas. |
public boolean supportsResultSetType(int type) throws SQLException; |
1950 |
* |
|
1951 |
* @exception SQLException If an error occurs. |
/** |
1952 |
*/ |
* This method tests whether the specified result set type and result set |
1953 |
public abstract ResultSet |
* concurrency type are supported by the database. |
1954 |
getSchemas() throws SQLException; |
* |
1955 |
|
* @param type The desired result type, which is one of the constants |
1956 |
/*************************************************************************/ |
* defined in <code>ResultSet</code>. |
1957 |
|
* @param concur The desired concurrency type, which is one of the constants |
1958 |
/** |
* defined in <code>ResultSet</code>. |
1959 |
* This method returns the list of database catalogs as a |
* @return <code>true</code> if the result set type is supported, |
1960 |
* <code>ResultSet</code> with one column - TABLE_CAT - that is the |
* <code>false</code> otherwise. |
1961 |
* name of the catalog. |
* @exception SQLException If an error occurs. |
1962 |
* |
* @see ResultSet |
1963 |
* @return A <code>ResultSet</code> with all the requested catalogs. |
*/ |
1964 |
* |
public boolean supportsResultSetConcurrency(int type, int concurrency) |
1965 |
* @exception SQLException If an error occurs. |
throws SQLException; |
1966 |
*/ |
|
1967 |
public abstract ResultSet |
/** |
1968 |
getCatalogs() throws SQLException; |
* This method tests whether or not the specified result set type sees its |
1969 |
|
* own updates. |
1970 |
/*************************************************************************/ |
* |
1971 |
|
* @param type The desired result type, which is one of the constants |
1972 |
/** |
* defined in <code>ResultSet</code>. |
1973 |
* This method returns the list of database table types as a |
* @return <code>true</code> if the result set type sees its own updates, |
1974 |
* <code>ResultSet</code> with one column - TABLE_TYPE - that is the |
* <code>false</code> otherwise. |
1975 |
* name of the table type. |
* @exception SQLException If an error occurs. |
1976 |
* |
* @see ResultSet |
1977 |
* @return A <code>ResultSet</code> with all the requested table types. |
*/ |
1978 |
* |
public boolean ownUpdatesAreVisible(int type) throws SQLException; |
1979 |
* @exception SQLException If an error occurs. |
|
1980 |
*/ |
/** |
1981 |
public abstract ResultSet |
* This method tests whether or not the specified result set type sees its |
1982 |
getTableTypes() throws SQLException; |
* own deletes. |
1983 |
|
* |
1984 |
/*************************************************************************/ |
* @param type The desired result type, which is one of the constants |
1985 |
|
* defined in <code>ResultSet</code>. |
1986 |
/** |
* @return <code>true</code> if the result set type sees its own deletes, |
1987 |
* This method returns a list of the tables columns for |
* <code>false</code> otherwise. |
1988 |
* the requested tables. This is returned in the form of a |
* @exception SQLException If an error occurs. |
1989 |
* <code>ResultSet</code> with the following columns: |
* @see ResultSet |
1990 |
* <p> |
*/ |
1991 |
* <ol> |
public boolean ownDeletesAreVisible(int type) throws SQLException; |
1992 |
* <li>TABLE_CAT - The catalog the table is in, which may be |
|
1993 |
* <code>null</code>. |
/** |
1994 |
* <li>TABLE_SCHEM - The schema the tables is in, which may be |
* This method tests whether or not the specified result set type sees its |
1995 |
* <code>null</code>. |
* own inserts. |
1996 |
* <li>TABLE_NAME - The name of the table. |
* |
1997 |
* <li>COLUMN_NAME - The name of the column |
* @param type The desired result type, which is one of the constants |
1998 |
* <li>DATA_TYPE - The SQL type of the column. This is one of the constants |
* defined in <code>ResultSet</code>. |
1999 |
* defined in <code>Types</code>. |
* @return <code>true</code> if the result set type sees its own inserts, |
2000 |
* <li>TYPE_NAME - The string name of the data type for this column. |
* <code>false</code> otherwise. |
2001 |
* <li>COLUMN_SIZE - The size of the column. |
* @exception SQLException If an error occurs. |
2002 |
* <li>Unused |
* @see ResultSet |
2003 |
* <li>NUM_PREC_RADIX - The radix of the column. |
*/ |
2004 |
* <li>NULLABLE - Whether or not the column is NULLABLE. This is one of |
public boolean ownInsertsAreVisible(int type) throws SQLException; |
2005 |
* the constants defined in this class (<code>tableNoNulls</code>, |
|
2006 |
* <code>tableNullable</code>, or <code>tableNullableUnknown</code>) |
/** |
2007 |
* <li>REMARKS - A description of the column. |
* This method tests whether or not the specified result set type sees |
2008 |
* <li>COLUMN_DEF - The default value for the column, may be <code>null</code>. |
* updates committed by others. |
2009 |
* <li>SQL_DATA_TYPE - Unused |
* |
2010 |
* <li>SQL_DATETIME_SUB - Unused |
* @param type The desired result type, which is one of the constants |
2011 |
* <li>CHAR_OCTET_LENGTH - For character columns, the maximum number of bytes |
* defined in <code>ResultSet</code>. |
2012 |
* in the column. |
* @return <code>true</code> if the result set type sees other updates, |
2013 |
* <li>ORDINAL_POSITION - The index of the column in the table. |
* <code>false</code> otherwise. |
2014 |
* <li>IS_NULLABLE - "NO" means no, "YES" means maybe, and an empty string |
* @exception SQLException If an error occurs. |
2015 |
* means unknown. |
* @see ResultSet |
2016 |
* </ol> |
*/ |
2017 |
* |
public boolean othersUpdatesAreVisible(int type) throws SQLException; |
2018 |
* @param catalog The name of the catalog to return table from, |
|
2019 |
* or "" to return tables from all catalogs. |
/** |
2020 |
* @param schemaPattern A schema pattern for the schemas to return |
* This method tests whether or not the specified result set type sees |
2021 |
* tables from, or "" to return tables from all schemas. |
* deletes committed by others. |
2022 |
* @param namePattern The pattern of tables names to return. |
* |
2023 |
* @param columnPattern The pattern of column names to return. |
* @param type The desired result type, which is one of the constants |
2024 |
* |
* defined in <code>ResultSet</code>. |
2025 |
* @returns A <code>ResultSet</code> with all the requested tables. |
* @return <code>true</code> if the result set type sees other deletes, |
2026 |
* |
* <code>false</code> otherwise. |
2027 |
* @exception SQLException If an error occurs. |
* @exception SQLException If an error occurs. |
2028 |
*/ |
* @see ResultSet |
2029 |
public abstract ResultSet |
*/ |
2030 |
getColumns(String catalog, String schemaPattern, String namePattern, |
public boolean othersDeletesAreVisible(int type) throws SQLException; |
2031 |
String columnPattern) throws SQLException; |
|
2032 |
|
/** |
2033 |
/*************************************************************************/ |
* This method tests whether or not the specified result set type sees |
2034 |
|
* inserts committed by others. |
2035 |
/** |
* |
2036 |
* This method returns the access rights that have been granted to the |
* @param type The desired result type, which is one of the constants |
2037 |
* requested columns. This information is returned as a <code>ResultSet</code> |
* defined in <code>ResultSet</code>. |
2038 |
* with the following columns: |
* @return <code>true</code> if the result set type sees other inserts, |
2039 |
* <p> |
* <code>false</code> otherwise. |
2040 |
* <ol> |
* @exception SQLException If an error occurs. |
2041 |
* <li>TABLE_CAT - The catalog the table is in, which may be |
* @see ResultSet |
2042 |
* <code>null</code>. |
*/ |
2043 |
* <li>TABLE_SCHEM - The schema the tables is in, which may be |
public boolean othersInsertsAreVisible(int type) throws SQLException; |
2044 |
* <code>null</code>. |
|
2045 |
* <li>TABLE_NAME - The name of the table. |
/** |
2046 |
* <li>COLUMN_NAME - The name of the column. |
* This method tests whether or not the specified result set type can detect |
2047 |
* <li>GRANTOR - The entity that granted the access. |
* a visible update by calling the <code>rowUpdated</code> method. |
2048 |
* <li>GRANTEE - The entity granted the access. |
* |
2049 |
* <li>PRIVILEGE - The name of the privilege granted. |
* @param type The desired result type, which is one of the constants |
2050 |
* <li>IS_GRANTABLE - "YES" if the grantee can grant the privilege to |
* defined in <code>ResultSet</code>. |
2051 |
* others, "NO" if not, and <code>null</code> if unknown. |
* @return <code>true</code> if the result set type can detect visible updates |
2052 |
* </ol> |
* using <code>rowUpdated</code>, <code>false</code> otherwise. |
2053 |
* |
* @exception SQLException If an error occurs. |
2054 |
* @param catalog The catalog to retrieve information from, or the empty string |
* @see ResultSet |
2055 |
* to return entities not associated with a catalog, or <code>null</code> |
*/ |
2056 |
* to return information from all catalogs. |
public boolean updatesAreDetected(int type) throws SQLException; |
2057 |
* @param schema The schema to retrieve information from, or the empty string |
|
2058 |
* to return entities not associated with a schema. |
/** |
2059 |
* @param table The table name to return information for. |
* This method tests whether or not the specified result set type can detect |
2060 |
* @param columnPattern A pattern of column names to return information for. |
* a visible delete by calling the <code>rowUpdated</code> method. |
2061 |
* |
* |
2062 |
* @return A <code>ResultSet</code> with all the requested privileges. |
* @param type The desired result type, which is one of the constants |
2063 |
* |
* defined in <code>ResultSet</code>. |
2064 |
* @exception SQLException If an error occurs. |
* @return <code>true</code> if the result set type can detect visible deletes |
2065 |
*/ |
* using <code>rowUpdated</code>, <code>false</code> otherwise. |
2066 |
public abstract ResultSet |
* @exception SQLException If an error occurs. |
2067 |
getColumnPrivileges(String catalog, String schema, String table, |
* @see ResultSet |
2068 |
String columnPattern) throws SQLException; |
*/ |
2069 |
|
public boolean deletesAreDetected(int type) throws SQLException; |
2070 |
/*************************************************************************/ |
|
2071 |
|
/** |
2072 |
/** |
* This method tests whether or not the specified result set type can detect |
2073 |
* This method returns the access rights that have been granted to the |
* a visible insert by calling the <code>rowUpdated</code> method. |
2074 |
* requested tables. This information is returned as a <code>ResultSet</code> |
* |
2075 |
* with the following columns: |
* @param type The desired result type, which is one of the constants |
2076 |
* <p> |
* defined in <code>ResultSet</code>. |
2077 |
* <ol> |
* @return <code>true</code> if the result set type can detect visible inserts |
2078 |
* <li>TABLE_CAT - The catalog the table is in, which may be |
* using <code>rowUpdated</code>, <code>false</code> otherwise. |
2079 |
* <code>null</code>. |
* @exception SQLException If an error occurs. |
2080 |
* <li>TABLE_SCHEM - The schema the tables is in, which may be |
* @see ResultSet |
2081 |
* <code>null</code>. |
*/ |
2082 |
* <li>TABLE_NAME - The name of the table. |
public boolean insertsAreDetected(int type) throws SQLException; |
2083 |
* <li>GRANTOR - The entity that granted the access. |
|
2084 |
* <li>GRANTEE - The entity granted the access. |
/** |
2085 |
* <li>PRIVILEGE - The name of the privilege granted. |
* This method tests whether or not the database supports batch updates. |
2086 |
* <li>IS_GRANTABLE - "YES" if the grantee can grant the privilege to |
* |
2087 |
* others, "NO" if not, and <code>null</code> if unknown. |
* @return <code>true</code> if batch updates are supported, |
2088 |
* </ol> |
* <code>false</code> otherwise. |
2089 |
* |
* @exception SQLException If an error occurs. |
2090 |
* @param catalog The catalog to retrieve information from, or the empty string |
*/ |
2091 |
* to return entities not associated with a catalog, or <code>null</code> |
public boolean supportsBatchUpdates() throws SQLException; |
2092 |
* to return information from all catalogs. |
|
2093 |
* @param schema The schema to retrieve information from, or the empty string |
/** |
2094 |
* to return entities not associated with a schema. |
* This method returns the list of user defined data types in use. These |
2095 |
* @param tablePattern The table name pattern of tables to return |
* are returned as a <code>ResultSet</code> with the following columns: |
2096 |
* information for. |
* <p> |
2097 |
* |
* <ol> |
2098 |
* @return A <code>ResultSet</code> with all the requested privileges. |
* <li>TYPE_CAT - The catalog name, which may be <code>null</code>. |
2099 |
* |
* <li>TYPE_SCEHM - The schema name, which may be <code>null</code>. |
2100 |
* @exception SQLException If an error occurs. |
* <li>TYPE_NAME - The user defined data type name. |
2101 |
*/ |
* <li>CLASS_NAME - The Java class name this type maps to. |
2102 |
public abstract ResultSet |
* <li>DATA_TYPE - A type identifier from <code>Types</code> for this type. |
2103 |
getTablePrivileges(String catalog, String schema, String table) |
* This will be one of <code>JAVA_OBJECT</code>, <code>STRUCT</code>, or |
2104 |
throws SQLException; |
* <code>DISTINCT</code>. |
2105 |
|
* <li>REMARKS - Comments about this data type. |
2106 |
/*************************************************************************/ |
* </ol> |
2107 |
|
* |
2108 |
/** |
* @param catalog The catalog to retrieve information from, or the empty string |
2109 |
* This method returns the best set of columns for uniquely identifying |
* to return entities not associated with a catalog, or <code>null</code> |
2110 |
* a row. It returns this information as a <code>ResultSet</code> with |
* to return information from all catalogs. |
2111 |
* the following columns: |
* @param schema The schema to retrieve information from, or the empty string |
2112 |
* <p> |
* to return entities not associated with a schema. |
2113 |
* <ol> |
* @param typePattern The type name pattern to match. |
2114 |
* <li>SCOPE - The scope of the results returned. This is one of the |
* @param types The type identifier patterns (from <code>Types</code>) to |
2115 |
* constants defined in this class (<code>bestRowTemporary</code>, |
* match. |
2116 |
* <code>bestRowTransaction</code>, or <code>bestRowSession</code>). |
* @return A <code>ResultSet</code> with the requested type information |
2117 |
* <li>COLUMN_NAME - The name of the column. |
* @exception SQLException If an error occurs. |
2118 |
* <li>DATA_TYPE - The SQL type of the column. This is one of the constants |
*/ |
2119 |
* defined in <code>Types</code>. |
public ResultSet getUDTs(String catalog, String schemaPattern, String |
2120 |
* <li>TYPE_NAME - The string name of the data type for this column. |
typeNamePattern, int[] types) throws SQLException; |
2121 |
* <li>COLUMN_SIZE - The precision of the columns |
|
2122 |
* <li>BUFFER_LENGTH - Unused |
/** |
2123 |
* <li>DECIMAL_DIGITS - The scale of the column. |
* This method returns the <code>Connection</code> object that was used |
2124 |
* <li>PSEUDO_COLUMN - Whether or not the best row identifier is a |
* to generate the metadata in this object. |
2125 |
* pseudo_column. This is one of the constants defined in this class |
* |
2126 |
* (<code>bestRowUnknown</code>, <code>bestRowNotPseudo</code>, or |
* @return The connection for this object. |
2127 |
* <code>bestRowPseudo</code>). |
* @exception SQLException If an error occurs. |
2128 |
* </ol> |
*/ |
2129 |
* |
public Connection getConnection() throws SQLException; |
2130 |
* @param catalog The catalog to retrieve information from, or the empty string |
|
2131 |
* to return entities not associated with a catalog, or <code>null</code> |
/** |
2132 |
* to return information from all catalogs. |
* @since 1.4 |
2133 |
* @param schema The schema to retrieve information from, or the empty string |
*/ |
2134 |
* to return entities not associated with a schema. |
public boolean supportsSavepoints() throws SQLException; |
2135 |
* @param table The table name to return information for. |
|
2136 |
* @param columnPattern A pattern of column names to return information for. |
/** |
2137 |
* @param scope One of the best row id scope constants from this class. |
* @since 1.4 |
2138 |
* @param nullable <code>true</code> to include columns that are nullable, |
*/ |
2139 |
* <code>false</code> otherwise. |
public boolean supportsNamedParameters() throws SQLException; |
2140 |
* |
|
2141 |
* @return A <code>ResultSet</code> with the best row identifier. |
/** |
2142 |
* |
* @since 1.4 |
2143 |
* @exception SQLException If an error occurs. |
*/ |
2144 |
*/ |
public boolean supportsMultipleOpenResults() throws SQLException; |
2145 |
public abstract ResultSet |
|
2146 |
getBestRowIdentifier(String catalog, String schema, String table, |
/** |
2147 |
int scope, boolean nullable) throws SQLException; |
* @since 1.4 |
2148 |
|
*/ |
2149 |
/*************************************************************************/ |
public boolean supportsGetGeneratedKeys() throws SQLException; |
2150 |
|
|
2151 |
/** |
/** |
2152 |
* This method returns the set of columns that are automatically updated |
* @since 1.4 |
2153 |
* when the row is update. It returns this information as a |
*/ |
2154 |
* <code>ResultSet</code> with the following columns: |
public ResultSet getSuperTypes(String catalog, String schemaPattern, |
2155 |
* <p> |
String typeNamePattern) throws SQLException; |
2156 |
* <ol> |
|
2157 |
* <li>SCOPE - Unused |
/** |
2158 |
* <li>COLUMN_NAME - The name of the column. |
* @since 1.4 |
2159 |
* <li>DATA_TYPE - The SQL type of the column. This is one of the constants |
*/ |
2160 |
* defined in <code>Types</code>. |
public ResultSet getSuperTables(String catalog, String schemaPattern, |
2161 |
* <li>TYPE_NAME - The string name of the data type for this column. |
String tableNamePattern) throws SQLException; |
2162 |
* <li>COLUMN_SIZE - The precision of the columns |
|
2163 |
* <li>BUFFER_LENGTH - Unused |
/** |
2164 |
* <li>DECIMAL_DIGITS - The scale of the column. |
* @since 1.4 |
2165 |
* <li>PSEUDO_COLUMN - Whether or not the best row identifier is a |
*/ |
2166 |
* pseudo_column. This is one of the constants defined in this class |
public ResultSet getAttributes(String catalog, String schemaPattern, String |
2167 |
* (<code>versionRowUnknown</code>, <code>versionRowNotPseudo</code>, or |
typeNamePattern, String attributeNamePattern) throws SQLException; |
2168 |
* <code>versionRowPseudo</code>). |
|
2169 |
* </ol> |
/** |
2170 |
* |
* @since 1.4 |
2171 |
* @param catalog The catalog to retrieve information from, or the empty string |
*/ |
2172 |
* to return entities not associated with a catalog, or <code>null</code> |
public boolean supportsResultSetHoldability(int holdability) |
2173 |
* to return information from all catalogs. |
throws SQLException; |
2174 |
* @param schema The schema to retrieve information from, or the empty string |
|
2175 |
* to return entities not associated with a schema. |
/** |
2176 |
* @param table The table name to return information for. |
* @since 1.4 |
2177 |
* @param columnPattern A pattern of column names to return information for. |
*/ |
2178 |
* |
public int getResultSetHoldability() throws SQLException; |
2179 |
* @return A <code>ResultSet</code> with the version columns. |
|
2180 |
* |
/** |
2181 |
* @exception SQLException If an error occurs. |
* @since 1.4 |
2182 |
*/ |
*/ |
2183 |
public abstract ResultSet |
public int getDatabaseMajorVersion() throws SQLException; |
2184 |
getVersionColumns(String catalog, String schema, String table) |
|
2185 |
throws SQLException; |
/** |
2186 |
|
* @since 1.4 |
2187 |
/*************************************************************************/ |
*/ |
2188 |
|
public int getDatabaseMinorVersion() throws SQLException; |
2189 |
/** |
|
2190 |
* This method returns a list of a table's primary key columns. These |
/** |
2191 |
* are returned as a <code>ResultSet</code> with the following columns. |
* @since 1.4 |
2192 |
* <p> |
*/ |
2193 |
* <ol> |
public int getJDBCMajorVersion() throws SQLException; |
2194 |
* <li>TABLE_CAT - The catalog of the table, which may be <code>null</code>. |
|
2195 |
* <li>TABLE_SCHEM - The schema of the table, which may be <code>null</code>. |
/** |
2196 |
* <li>TABLE_NAME - The name of the table. |
* @since 1.4 |
2197 |
* <li>COLUMN_NAME - The name of the column. |
*/ |
2198 |
* <li>KEY_SEQ - The sequence number of the column within the primary key. |
public int getJDBCMinorVersion() throws SQLException; |
2199 |
* <li>PK_NAME - The name of the primary key, which may be <code>null</code>. |
|
2200 |
* </ol> |
/** |
2201 |
* |
* @since 1.4 |
2202 |
* @param catalog The catalog to retrieve information from, or the empty string |
*/ |
2203 |
* to return entities not associated with a catalog, or <code>null</code> |
public int getSQLStateType() throws SQLException; |
2204 |
* to return information from all catalogs. |
|
2205 |
* @param schema The schema to retrieve information from, or the empty string |
/** |
2206 |
* to return entities not associated with a schema. |
* @since 1.4 |
2207 |
* @param table The table name to return information for. |
*/ |
2208 |
* @param columnPattern A pattern of column names to return information for. |
public boolean locatorsUpdateCopy() throws SQLException; |
2209 |
* |
|
2210 |
* @return A <code>ResultSet</code> with the primary key columns. |
/** |
2211 |
* |
* @since 1.4 |
2212 |
* @exception SQLException If an error occurs. |
*/ |
2213 |
*/ |
public boolean supportsStatementPooling() throws SQLException; |
2214 |
public abstract ResultSet |
} |
|
getPrimaryKeys(String catalog, String schema, String table) |
|
|
throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method returns a list of the table's foreign keys. These are |
|
|
* returned as a <code>ResultSet</code> with the following columns: |
|
|
* <p> |
|
|
* <ol> |
|
|
* <li>PKTABLE_CAT - The catalog of the table the key was imported from. |
|
|
* <li>PKTABLE_SCHEM - The schema of the table the key was imported from. |
|
|
* <li>PKTABLE_NAME - The name of the table the key was imported from. |
|
|
* <li>PKCOLUMN_NAME - The name of the column that was imported. |
|
|
* <li>FKTABLE_CAT - The foreign key catalog name. |
|
|
* <li>FKTABLE_SCHEM - The foreign key schema name. |
|
|
* <li>FKTABLE_NAME - The foreign key table name. |
|
|
* <li>FKCOLUMN_NAME - The foreign key column name. |
|
|
* <li>KEY_SEQ - The sequence number of the column within the foreign key. |
|
|
* <li>UPDATE_RULE - How the foreign key behaves when the primary key is |
|
|
* updated. This is one of the constants defined in this class |
|
|
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
|
|
* <code>importedKeySetNull</code>, <code>importedKeySetDefault</code>, or |
|
|
* <code>importedKeyRestrict</code>). |
|
|
* <li>DELETE_RULE - How the foreign key behaves when the primary key is |
|
|
* deleted. This is one of the constants defined in this class |
|
|
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
|
|
* <code>importedKeySetNull</code>, or <code>importedKeySetDefault</code>) |
|
|
* <li>FK_NAME - The name of the foreign key. |
|
|
* <li>PK_NAME - The name of the primary key. |
|
|
* <li>DEFERRABILITY - The deferrability value. This is one of the |
|
|
* constants defined in this table (<code>importedKeyInitiallyDeferred</code>, |
|
|
* <code>importedKeyInitiallyImmediate</code>, or |
|
|
* <code>importedKeyNotDeferrable</code>). |
|
|
* </ol> |
|
|
* |
|
|
* @param catalog The catalog to retrieve information from, or the empty string |
|
|
* to return entities not associated with a catalog, or <code>null</code> |
|
|
* to return information from all catalogs. |
|
|
* @param schema The schema to retrieve information from, or the empty string |
|
|
* to return entities not associated with a schema. |
|
|
* @param table The table name to return information for. |
|
|
* |
|
|
* @return A <code>ResultSet</code> with the foreign key columns. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
*/ |
|
|
public abstract ResultSet |
|
|
getImportedKeys(String catalog, String schema, String table) |
|
|
throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method returns a list of the table's which use this table's |
|
|
* primary key as a foreign key. The information is |
|
|
* returned as a <code>ResultSet</code> with the following columns: |
|
|
* <p> |
|
|
* <ol> |
|
|
* <li>PKTABLE_CAT - The catalog of the table the key was imported from. |
|
|
* <li>PKTABLE_SCHEM - The schema of the table the key was imported from. |
|
|
* <li>PKTABLE_NAME - The name of the table the key was imported from. |
|
|
* <li>PKCOLUMN_NAME - The name of the column that was imported. |
|
|
* <li>FKTABLE_CAT - The foreign key catalog name. |
|
|
* <li>FKTABLE_SCHEM - The foreign key schema name. |
|
|
* <li>FKTABLE_NAME - The foreign key table name. |
|
|
* <li>FKCOLUMN_NAME - The foreign key column name. |
|
|
* <li>KEY_SEQ - The sequence number of the column within the foreign key. |
|
|
* <li>UPDATE_RULE - How the foreign key behaves when the primary key is |
|
|
* updated. This is one of the constants defined in this class |
|
|
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
|
|
* <code>importedKeySetNull</code>, <code>importedKeySetDefault</code>, or |
|
|
* <code>importedKeyRestrict</code>). |
|
|
* <li>DELETE_RULE - How the foreign key behaves when the primary key is |
|
|
* deleted. This is one of the constants defined in this class |
|
|
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
|
|
* <code>importedKeySetNull</code>, or <code>importedKeySetDefault</code>) |
|
|
* <li>FK_NAME - The name of the foreign key. |
|
|
* <li>PK_NAME - The name of the primary key. |
|
|
* <li>DEFERRABILITY - The deferrability value. This is one of the |
|
|
* constants defined in this table (<code>importedKeyInitiallyDeferred</code>, |
|
|
* <code>importedKeyInitiallyImmediate</code>, or |
|
|
* <code>importedKeyNotDeferrable</code>). |
|
|
* </ol> |
|
|
* |
|
|
* @param catalog The catalog to retrieve information from, or the empty string |
|
|
* to return entities not associated with a catalog, or <code>null</code> |
|
|
* to return information from all catalogs. |
|
|
* @param schema The schema to retrieve information from, or the empty string |
|
|
* to return entities not associated with a schema. |
|
|
* @param table The table name to return information for. |
|
|
* |
|
|
* @return A <code>ResultSet</code> with the requested information |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
*/ |
|
|
public abstract ResultSet |
|
|
getExportedKeys(String catalog, String schema, String table) |
|
|
throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method returns a description of how one table imports another |
|
|
* table's primary key as a foreign key. The information is |
|
|
* returned as a <code>ResultSet</code> with the following columns: |
|
|
* <p> |
|
|
* <ol> |
|
|
* <li>PKTABLE_CAT - The catalog of the table the key was imported from. |
|
|
* <li>PKTABLE_SCHEM - The schema of the table the key was imported from. |
|
|
* <li>PKTABLE_NAME - The name of the table the key was imported from. |
|
|
* <li>PKCOLUMN_NAME - The name of the column that was imported. |
|
|
* <li>FKTABLE_CAT - The foreign key catalog name. |
|
|
* <li>FKTABLE_SCHEM - The foreign key schema name. |
|
|
* <li>FKTABLE_NAME - The foreign key table name. |
|
|
* <li>FKCOLUMN_NAME - The foreign key column name. |
|
|
* <li>KEY_SEQ - The sequence number of the column within the foreign key. |
|
|
* <li>UPDATE_RULE - How the foreign key behaves when the primary key is |
|
|
* updated. This is one of the constants defined in this class |
|
|
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
|
|
* <code>importedKeySetNull</code>, <code>importedKeySetDefault</code>, or |
|
|
* <code>importedKeyRestrict</code>). |
|
|
* <li>DELETE_RULE - How the foreign key behaves when the primary key is |
|
|
* deleted. This is one of the constants defined in this class |
|
|
* (<code>importedNoAction</code>, <code>importedKeyCascade</code>, |
|
|
* <code>importedKeySetNull</code>, or <code>importedKeySetDefault</code>) |
|
|
* <li>FK_NAME - The name of the foreign key. |
|
|
* <li>PK_NAME - The name of the primary key. |
|
|
* <li>DEFERRABILITY - The deferrability value. This is one of the |
|
|
* constants defined in this table (<code>importedKeyInitiallyDeferred</code>, |
|
|
* <code>importedKeyInitiallyImmediate</code>, or |
|
|
* <code>importedKeyNotDeferrable</code>). |
|
|
* </ol> |
|
|
* |
|
|
* @param primCatalog The catalog to retrieve information from, or the empty string |
|
|
* to return entities not associated with a catalog, or <code>null</code> |
|
|
* to return information from all catalogs, on the exporting side. |
|
|
* @param primSchema The schema to retrieve information from, or the empty string |
|
|
* to return entities not associated with a schema, on the exporting side. |
|
|
* @param primTable The table name to return information for, on the exporting |
|
|
* side. |
|
|
* @param forCatalog The catalog to retrieve information from, or the empty string |
|
|
* to return entities not associated with a catalog, or <code>null</code> |
|
|
* to return information from all catalogs, on the importing side. |
|
|
* @param forSchema The schema to retrieve information from, or the empty string |
|
|
* to return entities not associated with a schema on the importing side. |
|
|
* @param forTable The table name to return information for on the importing |
|
|
* side. |
|
|
* |
|
|
* @return A <code>ResultSet</code> with the requested information |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
*/ |
|
|
public abstract ResultSet |
|
|
getCrossReference(String primCatalog, String primSchema, String primTable, |
|
|
String forCatalog, String forSchema, String forTable) |
|
|
throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method returns a list of the SQL types supported by this |
|
|
* database. The information is returned as a <code>ResultSet</code> |
|
|
* with the following columns: |
|
|
* <p> |
|
|
* <ol> |
|
|
* <li>TYPE_NAME - The name of the data type. |
|
|
* <li>DATA_TYPE - A data type constant from <code>Types</code> for this |
|
|
* type. |
|
|
* <li>PRECISION - The maximum precision of this type. |
|
|
* <li>LITERAL_PREFIX - Prefix value used to quote a literal, which may be |
|
|
* <code>null</code>. |
|
|
* <li>LITERAL_SUFFIX - Suffix value used to quote a literal, which may be |
|
|
* <code>null</code>. |
|
|
* <li>CREATE_PARAMS - The parameters used to create the type, which may be |
|
|
* <code>null</code>. |
|
|
* <li>NULLABLE - Whether or not this type supports NULL values. This will |
|
|
* be one of the constants defined in this interface |
|
|
* (<code>typeNoNulls</code>, <code>typeNullable</code>, or |
|
|
* <code>typeNullableUnknown</code>). |
|
|
* <li>CASE_SENSITIVE - Whether or not the value is case sensitive. |
|
|
* <li>SEARCHABLE - Whether or not "LIKE" expressions are supported in |
|
|
* WHERE clauses for this type. This will be one of the constants defined |
|
|
* in this interface (<code>typePredNone</code>, <code>typePredChar</code>, |
|
|
* <code>typePredBasic</code>, or <code>typeSearchable</code>). |
|
|
* <li>UNSIGNED_ATTRIBUTE - Is the value of this type unsigned. |
|
|
* <li>FIXED_PREC_SCALE - Whether or not this type can be used for money. |
|
|
* <li>AUTO_INCREMENT - Whether or not this type supports auto-incrementing. |
|
|
* <li>LOCAL_TYPE_NAME - A localized name for this data type. |
|
|
* <li>MINIMUM_SCALE - The minimum scale supported by this type. |
|
|
* <li>MAXIMUM_SCALE - The maximum scale supported by this type. |
|
|
* <li>SQL_DATA_TYPE - Unused. |
|
|
* <li>SQL_DATETIME_SUB - Unused. |
|
|
* <li>NUM_PREC_RADIX - The radix of this data type. |
|
|
* </ol> |
|
|
* |
|
|
* @return A <code>ResultSet</code> with the list of available data types. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
*/ |
|
|
public abstract ResultSet |
|
|
getTypeInfo() throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method returns information about a tables indices and statistics. |
|
|
* It is returned as a <code>ResultSet</code> with the following columns: |
|
|
* <p> |
|
|
* <ol> |
|
|
* <li>TABLE_CAT - The catalog of the table, which may be <code>null</code>. |
|
|
* <li>TABLE_SCHEM - The schema of the table, which may be <code>null</code>. |
|
|
* <li>TABLE_NAME - The name of the table. |
|
|
* <li>NON_UNIQUE - Are index values non-unique? |
|
|
* <li>INDEX_QUALIFIER The index catalog, which may be <code>null</code> |
|
|
* <li>INDEX_NAME - The name of the index. |
|
|
* <li>TYPE - The type of index, which will be one of the constants defined |
|
|
* in this interface (<code>tableIndexStatistic</code>, |
|
|
* <code>tableIndexClustered</code>, <code>tableIndexHashed</code>, or |
|
|
* <code>tableIndexOther</code>). |
|
|
* <li>ORDINAL_POSITION - The sequence number of this column in the index. |
|
|
* This will be 0 when the index type is <code>tableIndexStatistic</code>. |
|
|
* <li>COLUMN_NAME - The name of this column in the index. |
|
|
* <li>ASC_OR_DESC - "A" for an ascending sort sequence, "D" for a |
|
|
* descending sort sequence or <code>null</code> if a sort sequence is not |
|
|
* supported. |
|
|
* <li>CARDINALITY - The number of unique rows in the index, or the number |
|
|
* of rows in the table if the index type is <code>tableIndexStatistic</code>. |
|
|
* <li>PAGES - The number of pages used for the index, or the number of pages |
|
|
* in the table if the index type is <code>tableIndexStatistic</code>. |
|
|
* <li>FILTER_CONDITION - The filter condition for this index, which may be |
|
|
* <code>null</code>. |
|
|
* </ol> |
|
|
* |
|
|
* @param catalog The catalog to retrieve information from, or the empty string |
|
|
* to return entities not associated with a catalog, or <code>null</code> |
|
|
* to return information from all catalogs. |
|
|
* @param schema The schema to retrieve information from, or the empty string |
|
|
* to return entities not associated with a schema. |
|
|
* @param table The table name to return information for. |
|
|
* @param unique <code>true</code> to return only unique indexes, |
|
|
* <code>false</code> otherwise. |
|
|
* @param approx <code>true</code> if data values can be approximations, |
|
|
* <code>false</code> otherwise. |
|
|
* |
|
|
* @return A <code>ResultSet</code> with the requested index information |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
*/ |
|
|
public abstract ResultSet |
|
|
getIndexInfo(String catalog, String schema, String table, boolean unique, |
|
|
boolean approx) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether or not the datbase supports the specified |
|
|
* result type. |
|
|
* |
|
|
* @param type The desired result type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* |
|
|
* @return <code>true</code> if the result set type is supported, |
|
|
* <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
* |
|
|
* @see ResultSet |
|
|
*/ |
|
|
public abstract boolean |
|
|
supportsResultSetType(int type) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether the specified result set type and result set |
|
|
* concurrency type are supported by the database. |
|
|
* |
|
|
* @param type The desired result type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* @param concur The desired concurrency type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* |
|
|
* @return <code>true</code> if the result set type is supported, |
|
|
* <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
* |
|
|
* @see ResultSet |
|
|
*/ |
|
|
public abstract boolean |
|
|
supportsResultSetConcurrency(int type, int concur) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether or not the specified result set type sees its |
|
|
* own updates. |
|
|
* |
|
|
* @param type The desired result type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* |
|
|
* @return <code>true</code> if the result set type sees its own updates, |
|
|
* <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
* |
|
|
* @see ResultSet |
|
|
*/ |
|
|
public abstract boolean |
|
|
ownUpdatesAreVisible(int type) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether or not the specified result set type sees its |
|
|
* own deletes. |
|
|
* |
|
|
* @param type The desired result type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* |
|
|
* @return <code>true</code> if the result set type sees its own deletes, |
|
|
* <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
* |
|
|
* @see ResultSet |
|
|
*/ |
|
|
public abstract boolean |
|
|
ownDeletesAreVisible(int type) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether or not the specified result set type sees its |
|
|
* own inserts. |
|
|
* |
|
|
* @param type The desired result type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* |
|
|
* @return <code>true</code> if the result set type sees its own inserts, |
|
|
* <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
* |
|
|
* @see ResultSet |
|
|
*/ |
|
|
public abstract boolean |
|
|
ownInsertsAreVisible(int type) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether or not the specified result set type sees |
|
|
* updates committed by others. |
|
|
* |
|
|
* @param type The desired result type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* |
|
|
* @return <code>true</code> if the result set type sees other updates, |
|
|
* <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
* |
|
|
* @see ResultSet |
|
|
*/ |
|
|
public abstract boolean |
|
|
othersUpdatesAreVisible(int type) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether or not the specified result set type sees |
|
|
* deletes committed by others. |
|
|
* |
|
|
* @param type The desired result type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* |
|
|
* @return <code>true</code> if the result set type sees other deletes, |
|
|
* <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
* |
|
|
* @see ResultSet |
|
|
*/ |
|
|
public abstract boolean |
|
|
othersDeletesAreVisible(int type) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether or not the specified result set type sees |
|
|
* inserts committed by others. |
|
|
* |
|
|
* @param type The desired result type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* |
|
|
* @return <code>true</code> if the result set type sees other inserts, |
|
|
* <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
* |
|
|
* @see ResultSet |
|
|
*/ |
|
|
public abstract boolean |
|
|
othersInsertsAreVisible(int type) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether or not the specified result set type can detect |
|
|
* a visible update by calling the <code>rowUpdated</code> method. |
|
|
* |
|
|
* @param type The desired result type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* |
|
|
* @return <code>true</code> if the result set type can detect visible updates |
|
|
* using <code>rowUpdated</code>, <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
* |
|
|
* @see ResultSet |
|
|
*/ |
|
|
public abstract boolean |
|
|
updatesAreDetected(int type) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether or not the specified result set type can detect |
|
|
* a visible delete by calling the <code>rowUpdated</code> method. |
|
|
* |
|
|
* @param type The desired result type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* |
|
|
* @return <code>true</code> if the result set type can detect visible deletes |
|
|
* using <code>rowUpdated</code>, <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
* |
|
|
* @see ResultSet |
|
|
*/ |
|
|
public abstract boolean |
|
|
deletesAreDetected(int type) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether or not the specified result set type can detect |
|
|
* a visible insert by calling the <code>rowUpdated</code> method. |
|
|
* |
|
|
* @param type The desired result type, which is one of the constants |
|
|
* defined in <code>ResultSet</code>. |
|
|
* |
|
|
* @return <code>true</code> if the result set type can detect visible inserts |
|
|
* using <code>rowUpdated</code>, <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
* |
|
|
* @see ResultSet |
|
|
*/ |
|
|
public abstract boolean |
|
|
insertsAreDetected(int type) throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method tests whether or not the database supports batch updates. |
|
|
* |
|
|
* @return <code>true</code> if batch updates are supported, |
|
|
* <code>false</code> otherwise. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
*/ |
|
|
public abstract boolean |
|
|
supportsBatchUpdates() throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method returns the list of user defined data types in use. These |
|
|
* are returned as a <code>ResultSet</code> with the following columns: |
|
|
* <p> |
|
|
* <ol> |
|
|
* <li>TYPE_CAT - The catalog name, which may be <code>null</code>. |
|
|
* <li>TYPE_SCEHM - The schema name, which may be <code>null</code>. |
|
|
* <li>TYPE_NAME - The user defined data type name. |
|
|
* <li>CLASS_NAME - The Java class name this type maps to. |
|
|
* <li>DATA_TYPE - A type identifier from <code>Types</code> for this type. |
|
|
* This will be one of <code>JAVA_OBJECT</code>, <code>STRUCT</code>, or |
|
|
* <code>DISTINCT</code>. |
|
|
* <li>REMARKS - Comments about this data type. |
|
|
* </ol> |
|
|
* |
|
|
* @param catalog The catalog to retrieve information from, or the empty string |
|
|
* to return entities not associated with a catalog, or <code>null</code> |
|
|
* to return information from all catalogs. |
|
|
* @param schema The schema to retrieve information from, or the empty string |
|
|
* to return entities not associated with a schema. |
|
|
* @param typePattern The type name pattern to match. |
|
|
* @param types The type identifier patterns (from <code>Types</code>) to |
|
|
* match. |
|
|
* |
|
|
* @return A <code>ResultSet</code> with the requested type information |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
*/ |
|
|
public abstract ResultSet |
|
|
getUDTs(String catalog, String schema, String typePattern, int[] types) |
|
|
throws SQLException; |
|
|
|
|
|
/*************************************************************************/ |
|
|
|
|
|
/** |
|
|
* This method returns the <code>Connection</code> object that was used |
|
|
* to generate the metadata in this object. |
|
|
* |
|
|
* @return The connection for this object. |
|
|
* |
|
|
* @exception SQLException If an error occurs. |
|
|
*/ |
|
|
public abstract Connection |
|
|
getConnection() throws SQLException; |
|
|
|
|
|
} // interface DatabaseMetaData |
|
|
|
|