1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 module com
{ module sun
{ module star
{ module sdbc
{
12 /** extends the XDatabaseMetaData interface to allow retrieval of additional
14 @since LibreOffice 25.2
16 interface XDatabaseMetaData3
: XDatabaseMetaData2
19 * Retrieves whether a {@code SQLException} while autoCommit is {@code true} indicates
20 * that all open ResultSets are closed, even ones that are holdable. When a {@code SQLException} occurs while
21 * autocommit is {@code true}, it is vendor specific whether the JDBC driver responds with a commit operation, a
22 * rollback operation, or by doing neither a commit nor a rollback. A potential result of this difference
23 * is in whether or not holdable ResultSets are closed.
25 * @return {@code true} if so; {@code false} otherwise
26 * @throws SQLException if a database access error occurs
28 boolean autoCommitFailureClosesAllResultSets
() raises
(SQLException
);
31 * Retrieves whether a generated key will always be returned if the column
32 * name(s) or index(es) specified for the auto generated key column(s)
33 * are valid and the statement succeeds. The key that is returned may or
34 * may not be based on the column(s) for the auto generated key.
35 * Consult your JDBC driver documentation for additional details.
36 * @return {@code true} if so; {@code false} otherwise
37 * @throws SQLException if a database access error occurs
39 boolean generatedKeyAlwaysReturned
() raises
(SQLException
);
42 * Retrieves a description of the given attribute of the given type
43 * for a user-defined type (UDT) that is available in the given schema
46 * Descriptions are returned only for attributes of UDTs matching the
47 * catalog, schema, type, and attribute name criteria. They are ordered by
48 * {@code TYPE_CAT}, {@code TYPE_SCHEM},
49 * {@code TYPE_NAME} and {@code ORDINAL_POSITION}. This description
50 * does not contain inherited attributes.
52 * The {@code ResultSet} object that is returned has the following
55 * <LI><B>TYPE_CAT</B> String {@code =>} type catalog (may be {@code null})
56 * <LI><B>TYPE_SCHEM</B> String {@code =>} type schema (may be {@code null})
57 * <LI><B>TYPE_NAME</B> String {@code =>} type name
58 * <LI><B>ATTR_NAME</B> String {@code =>} attribute name
59 * <LI><B>DATA_TYPE</B> int {@code =>} attribute type SQL type from com::sun::star::sdbc::DataType
60 * <LI><B>ATTR_TYPE_NAME</B> String {@code =>} Data source dependent type name.
61 * For a UDT, the type name is fully qualified. For a REF, the type name is
62 * fully qualified and represents the target type of the reference type.
63 * <LI><B>ATTR_SIZE</B> int {@code =>} column size. For char or date
64 * types this is the maximum number of characters; for numeric or
65 * decimal types this is precision.
66 * <LI><B>DECIMAL_DIGITS</B> int {@code =>} the number of fractional digits. Null is returned for data types where
67 * DECIMAL_DIGITS is not applicable.
68 * <LI><B>NUM_PREC_RADIX</B> int {@code =>} Radix (typically either 10 or 2)
69 * <LI><B>NULLABLE</B> int {@code =>} whether NULL is allowed
71 * <LI> attributeNoNulls - might not allow NULL values
72 * <LI> attributeNullable - definitely allows NULL values
73 * <LI> attributeNullableUnknown - nullability unknown
75 * <LI><B>REMARKS</B> String {@code =>} comment describing column (may be {@code null})
76 * <LI><B>ATTR_DEF</B> String {@code =>} default value (may be {@code null})
77 * <LI><B>SQL_DATA_TYPE</B> int {@code =>} unused
78 * <LI><B>SQL_DATETIME_SUB</B> int {@code =>} unused
79 * <LI><B>CHAR_OCTET_LENGTH</B> int {@code =>} for char types the
80 * maximum number of bytes in the column
81 * <LI><B>ORDINAL_POSITION</B> int {@code =>} index of the attribute in the UDT
83 * <LI><B>IS_NULLABLE</B> String {@code =>} ISO rules are used to determine
84 * the nullability for a attribute.
86 * <LI> YES --- if the attribute can include NULLs
87 * <LI> NO --- if the attribute cannot include NULLs
88 * <LI> empty string --- if the nullability for the
89 * attribute is unknown
91 * <LI><B>SCOPE_CATALOG</B> String {@code =>} catalog of table that is the
92 * scope of a reference attribute ({@code null} if DATA_TYPE isn't REF)
93 * <LI><B>SCOPE_SCHEMA</B> String {@code =>} schema of table that is the
94 * scope of a reference attribute ({@code null} if DATA_TYPE isn't REF)
95 * <LI><B>SCOPE_TABLE</B> String {@code =>} table name that is the scope of a
96 * reference attribute ({@code null} if the DATA_TYPE isn't REF)
97 * <LI><B>SOURCE_DATA_TYPE</B> short {@code =>} source type of a distinct type or user-generated
98 * Ref type, SQL type from com::sun::star::sdbc::DataType ({@code null} if DATA_TYPE
99 * isn't DISTINCT or user-generated REF)
101 * @param catalog a catalog name; must match the catalog name as it
102 * is stored in the database; "" retrieves those without a catalog;
103 * {@code null} means that the catalog name should not be used to narrow
105 * @param schemaPattern a schema name pattern; must match the schema name
106 * as it is stored in the database; "" retrieves those without a schema;
107 * {@code null} means that the schema name should not be used to narrow
109 * @param typeNamePattern a type name pattern; must match the
110 * type name as it is stored in the database
111 * @param attributeNamePattern an attribute name pattern; must match the attribute
112 * name as it is declared in the database
113 * @return a {@code ResultSet} object in which each row is an
114 * attribute description
115 * @throws SQLException
116 * if a database access error occurs.
118 XResultSet getAttributes
([in]string catalog
, [in]string schemaPattern
, [in]string typeNamePattern
, [in]string attributeNamePattern
) raises
(SQLException
);
121 * Retrieves a list of the client info properties
122 * that the driver supports. The result set contains the following columns
125 * <li><b>NAME</b> String{@code =>} The name of the client info property<br>
126 * <li><b>MAX_LEN</b> int{@code =>} The maximum length of the value for the property<br>
127 * <li><b>DEFAULT_VALUE</b> String{@code =>} The default value of the property<br>
128 * <li><b>DESCRIPTION</b> String{@code =>} A description of the property. This will typically
129 * contain information as to where this property is
130 * stored in the database.
133 * The {@code ResultSet} is sorted by the NAME column
135 * @return A {@code ResultSet} object; each row is a supported client info
138 * @throws SQLException if a database access error occurs
140 XResultSet getClientInfoProperties
() raises
(SQLException
);
143 * Retrieves the major version number of the underlying database.
145 * @return the underlying database's major version
146 * @throws SQLException if a database access error occurs
148 long getDatabaseMajorVersion
();
151 * Retrieves the minor version number of the underlying database.
153 * @return underlying database's minor version
154 * @throws SQLException if a database access error occurs
156 long getDatabaseMinorVersion
();
159 * Retrieves a description of the system and user functions available
160 * in the given catalog.
162 * Only system and user function descriptions matching the schema and
163 * function name criteria are returned. They are ordered by
164 * {@code FUNCTION_CAT}, {@code FUNCTION_SCHEM},
165 * {@code FUNCTION_NAME} and
166 * {@code SPECIFIC_NAME}.
168 * <P>Each function description has the following columns:
170 * <LI><B>FUNCTION_CAT</B> String {@code =>} function catalog (may be {@code null})
171 * <LI><B>FUNCTION_SCHEM</B> String {@code =>} function schema (may be {@code null})
172 * <LI><B>FUNCTION_NAME</B> String {@code =>} function name. This is the name
173 * used to invoke the function
174 * <LI><B>REMARKS</B> String {@code =>} explanatory comment on the function
175 * <LI><B>FUNCTION_TYPE</B> short {@code =>} kind of function:
177 * <LI>functionResultUnknown - Cannot determine if a return value
178 * or table will be returned
179 * <LI> functionNoTable- Does not return a table
180 * <LI> functionReturnsTable - Returns a table
182 * <LI><B>SPECIFIC_NAME</B> String {@code =>} the name which uniquely identifies
183 * this function within its schema. This is a user specified, or DBMS
184 * generated, name that may be different from the {@code FUNCTION_NAME}
185 * for example with overload functions
188 * A user may not have permission to execute any of the functions that are
189 * returned by {@code getFunctions}
191 * @param catalog a catalog name; must match the catalog name as it
192 * is stored in the database; "" retrieves those without a catalog;
193 * {@code null} means that the catalog name should not be used to narrow
195 * @param schemaPattern a schema name pattern; must match the schema name
196 * as it is stored in the database; "" retrieves those without a schema;
197 * {@code null} means that the schema name should not be used to narrow
199 * @param functionNamePattern a function name pattern; must match the
200 * function name as it is stored in the database
201 * @return {@code ResultSet} - each row is a function description
202 * @throws SQLException if a database access error occurs
204 XResultSet getFunctions
([in]string catalog
, [in]string schemaPattern
, [in]string functionNamePattern
) raises
(SQLException
);
208 * Retrieves a description of the given catalog's system or user
209 * function parameters and return type.
211 * <P>Only descriptions matching the schema, function and
212 * parameter name criteria are returned. They are ordered by
213 * {@code FUNCTION_CAT}, {@code FUNCTION_SCHEM},
214 * {@code FUNCTION_NAME} and
215 * {@code SPECIFIC_NAME}. Within this, the return value,
216 * if any, is first. Next are the parameter descriptions in call
217 * order. The column descriptions follow in column number order.
219 * <P>Each row in the {@code ResultSet}
220 * is a parameter description, column description or
221 * return type description with the following fields:
223 * <LI><B>FUNCTION_CAT</B> String {@code =>} function catalog (may be {@code null})
224 * <LI><B>FUNCTION_SCHEM</B> String {@code =>} function schema (may be {@code null})
225 * <LI><B>FUNCTION_NAME</B> String {@code =>} function name. This is the name
226 * used to invoke the function
227 * <LI><B>COLUMN_NAME</B> String {@code =>} column/parameter name
228 * <LI><B>COLUMN_TYPE</B> Short {@code =>} kind of column/parameter:
230 * <LI> functionColumnUnknown - nobody knows
231 * <LI> functionColumnIn - IN parameter
232 * <LI> functionColumnInOut - INOUT parameter
233 * <LI> functionColumnOut - OUT parameter
234 * <LI> functionReturn - function return value
235 * <LI> functionColumnResult - Indicates that the parameter or column
236 * is a column in the {@code ResultSet}
238 * <LI><B>DATA_TYPE</B> int {@code =>} SQL type from com::sun::star::sdbc::DataType
239 * <LI><B>TYPE_NAME</B> String {@code =>} SQL type name, for a UDT type the
240 * type name is fully qualified
241 * <LI><B>PRECISION</B> int {@code =>} precision
242 * <LI><B>LENGTH</B> int {@code =>} length in bytes of data
243 * <LI><B>SCALE</B> short {@code =>} scale - null is returned for data types where
244 * SCALE is not applicable.
245 * <LI><B>RADIX</B> short {@code =>} radix
246 * <LI><B>NULLABLE</B> short {@code =>} can it contain NULL.
248 * <LI> functionNoNulls - does not allow NULL values
249 * <LI> functionNullable - allows NULL values
250 * <LI> functionNullableUnknown - nullability unknown
252 * <LI><B>REMARKS</B> String {@code =>} comment describing column/parameter
253 * <LI><B>CHAR_OCTET_LENGTH</B> int {@code =>} the maximum length of binary
254 * and character based parameters or columns. For any other datatype the returned value
256 * <LI><B>ORDINAL_POSITION</B> int {@code =>} the ordinal position, starting
257 * from 1, for the input and output parameters. A value of 0
258 * is returned if this row describes the function's return value.
259 * For result set columns, it is the
260 * ordinal position of the column in the result set starting from 1.
261 * <LI><B>IS_NULLABLE</B> String {@code =>} ISO rules are used to determine
262 * the nullability for a parameter or column.
264 * <LI> YES --- if the parameter or column can include NULLs
265 * <LI> NO --- if the parameter or column cannot include NULLs
266 * <LI> empty string --- if the nullability for the
267 * parameter or column is unknown
269 * <LI><B>SPECIFIC_NAME</B> String {@code =>} the name which uniquely identifies
270 * this function within its schema. This is a user specified, or DBMS
271 * generated, name that may be different from the {@code FUNCTION_NAME}
272 * for example with overload functions
275 * <p>The PRECISION column represents the specified column size for the given
276 * parameter or column.
277 * For numeric data, this is the maximum precision. For character data, this is the length in characters.
278 * For datetime datatypes, this is the length in characters of the String representation (assuming the
279 * maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype,
280 * this is the length in bytes. Null is returned for data types where the
281 * column size is not applicable.
282 * @param catalog a catalog name; must match the catalog name as it
283 * is stored in the database; "" retrieves those without a catalog;
284 * {@code null} means that the catalog name should not be used to narrow
286 * @param schemaPattern a schema name pattern; must match the schema name
287 * as it is stored in the database; "" retrieves those without a schema;
288 * {@code null} means that the schema name should not be used to narrow
290 * @param functionNamePattern a procedure name pattern; must match the
291 * function name as it is stored in the database
292 * @param columnNamePattern a parameter name pattern; must match the
293 * parameter or column name as it is stored in the database
294 * @return {@code ResultSet} - each row describes a
295 * user function parameter, column or return type
297 * @throws SQLException if a database access error occurs
299 XResultSet getFunctionColumns
([in]string catalog
, [in]string schemaPattern
, [in]string functionNamePattern
, [in]string columnNamePattern
) raises
(SQLException
);
304 * Retrieves the maximum number of bytes this database allows for
305 * the logical size for a {@code LOB}.
307 * The default implementation will return {@code 0}
309 * @return the maximum number of bytes allowed; a result of zero
310 * means that there is no limit or the limit is not known
311 * @throws SQLException if a database access error occurs
313 long getMaxLogicalLobSize
() raises
(SQLException
);
316 * Retrieves a description of the pseudo or hidden columns available
317 * in a given table within the specified catalog and schema.
318 * Pseudo or hidden columns may not always be stored within
319 * a table and are not visible in a ResultSet unless they are
320 * specified in the query's outermost SELECT list. Pseudo or hidden
321 * columns may not necessarily be able to be modified. If there are
322 * no pseudo or hidden columns, an empty ResultSet is returned.
324 * <P>Only column descriptions matching the catalog, schema, table
325 * and column name criteria are returned. They are ordered by
326 * {@code TABLE_CAT},{@code TABLE_SCHEM}, {@code TABLE_NAME}
327 * and {@code COLUMN_NAME}.
329 * <P>Each column description has the following columns:
331 * <LI><B>TABLE_CAT</B> String {@code =>} table catalog (may be {@code null})
332 * <LI><B>TABLE_SCHEM</B> String {@code =>} table schema (may be {@code null})
333 * <LI><B>TABLE_NAME</B> String {@code =>} table name
334 * <LI><B>COLUMN_NAME</B> String {@code =>} column name
335 * <LI><B>DATA_TYPE</B> int {@code =>} SQL type from com::sun::star::sdbc::DataType
336 * <LI><B>COLUMN_SIZE</B> int {@code =>} column size.
337 * <LI><B>DECIMAL_DIGITS</B> int {@code =>} the number of fractional digits. Null is returned for data types where
338 * DECIMAL_DIGITS is not applicable.
339 * <LI><B>NUM_PREC_RADIX</B> int {@code =>} Radix (typically either 10 or 2)
340 * <LI><B>COLUMN_USAGE</B> String {@code =>} The allowed usage for the column. The
341 * value returned will correspond to the enum name returned by {@link PseudoColumnUsage#name PseudoColumnUsage.name()}
342 * <LI><B>REMARKS</B> String {@code =>} comment describing column (may be {@code null})
343 * <LI><B>CHAR_OCTET_LENGTH</B> int {@code =>} for char types the
344 * maximum number of bytes in the column
345 * <LI><B>IS_NULLABLE</B> String {@code =>} ISO rules are used to determine the nullability for a column.
347 * <LI> YES --- if the column can include NULLs
348 * <LI> NO --- if the column cannot include NULLs
349 * <LI> empty string --- if the nullability for the column is unknown
353 * <p>The COLUMN_SIZE column specifies the column size for the given column.
354 * For numeric data, this is the maximum precision. For character data, this is the length in characters.
355 * For datetime datatypes, this is the length in characters of the String representation (assuming the
356 * maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For the ROWID datatype,
357 * this is the length in bytes. Null is returned for data types where the
358 * column size is not applicable.
360 * @param catalog a catalog name; must match the catalog name as it
361 * is stored in the database; "" retrieves those without a catalog;
362 * {@code null} means that the catalog name should not be used to narrow
364 * @param schemaPattern a schema name pattern; must match the schema name
365 * as it is stored in the database; "" retrieves those without a schema;
366 * {@code null} means that the schema name should not be used to narrow
368 * @param tableNamePattern a table name pattern; must match the
369 * table name as it is stored in the database
370 * @param columnNamePattern a column name pattern; must match the column
371 * name as it is stored in the database
372 * @return {@code ResultSet} - each row is a column description
373 * @throws SQLException if a database access error occurs
375 XResultSet getPseudoColumns
([in]string catalog
, [in]string schemaPattern
, [in]string tableNamePattern
, [in]string columnNamePattern
) raises
(SQLException
);
378 * Retrieves this database's default holdability for {@code ResultSet}
381 * @return the default holdability; either
382 * {@code ResultSet.HOLD_CURSORS_OVER_COMMIT} or
383 * {@code ResultSet.CLOSE_CURSORS_AT_COMMIT}
384 * @throws SQLException if a database access error occurs
386 long getResultSetHoldability
() raises
(SQLException
);
389 * Indicates whether this data source supports the SQL {@code ROWID} type,
390 * and the lifetime for which a {@link RowId} object remains valid.
392 * @return the status indicating the lifetime of a {@code RowId}
393 * @throws SQLException if a database access error occurs
394 * @see RowIdLifetime.idl
396 long getRowIdLifetime
() raises
(SQLException
);
399 * Retrieves the schema names available in this database. The results
400 * are ordered by {@code TABLE_CATALOG} and
401 * {@code TABLE_SCHEM}.
403 * <P>The schema columns are:
405 * <LI><B>TABLE_SCHEM</B> String {@code =>} schema name
406 * <LI><B>TABLE_CATALOG</B> String {@code =>} catalog name (may be {@code null})
409 * @param catalog an optional catalog name;
410 * if absent (catalog.IsPresent is false), catalog name is not used to narrow down the search.
411 * if present, then only the results for which catalog.Value matches the catalog name as it
412 * is stored in the database;
413 * Note that catalog.IsPresent and catalog.Value == "" retrieves those without a catalog
414 * @param schemaPattern a optional schema name;
415 * if absent means it should not be used to narrow down the search
416 * if present, must match the schema name as it is stored in the database
417 * @return a {@code ResultSet} object in which each row is a
419 * @throws SQLException if a database access error occurs
421 XResultSet getSchemasFiltered
([in] com
::sun
::star
::beans
::Optional<string> catalog
, [in] com
::sun
::star
::beans
::Optional<string> schemaPattern
) raises
(SQLException
);
424 * Indicates whether the SQLSTATE returned by {@code SQLException.getSQLState}
425 * is X/Open (now known as Open Group) SQL CLI or SQL:2003.
426 * @return the type of SQLSTATE; one of:
429 * @throws SQLException if a database access error occurs
431 long getSQLStateType
() raises
(SQLException
);
434 * Retrieves a description of the table hierarchies defined in a particular
435 * schema in this database.
437 * <P>Only supertable information for tables matching the catalog, schema
438 * and table name are returned. The table name parameter may be a fully-
439 * qualified name, in which case, the catalog and schemaPattern parameters
440 * are ignored. If a table does not have a super table, it is not listed here.
441 * Supertables have to be defined in the same catalog and schema as the
442 * sub tables. Therefore, the type description does not need to include
443 * this information for the supertable.
445 * <P>Each type description has the following columns:
447 * <LI><B>TABLE_CAT</B> String {@code =>} the type's catalog (may be {@code null})
448 * <LI><B>TABLE_SCHEM</B> String {@code =>} type's schema (may be {@code null})
449 * <LI><B>TABLE_NAME</B> String {@code =>} type name
450 * <LI><B>SUPERTABLE_NAME</B> String {@code =>} the direct super type's name
453 * <P><B>Note:</B> If the driver does not support type hierarchies, an
454 * empty result set is returned.
456 * @param catalog a catalog name; "" retrieves those without a catalog;
457 * {@code null} means drop catalog name from the selection criteria
458 * @param schemaPattern a schema name pattern; "" retrieves those
460 * @param tableNamePattern a table name pattern; may be a fully-qualified
462 * @return a {@code ResultSet} object in which each row is a type description
463 * @throws SQLException if a database access error occurs
465 XResultSet getSuperTables
([in]string catalog
, [in]string schemaPattern
, [in]string tableNamePattern
) raises
(SQLException
);
468 * Retrieves a description of the user-defined type (UDT) hierarchies defined in a
469 * particular schema in this database. Only the immediate super type/
470 * sub type relationship is modeled.
472 * Only supertype information for UDTs matching the catalog,
473 * schema, and type name is returned. The type name parameter
474 * may be a fully-qualified name. When the UDT name supplied is a
475 * fully-qualified name, the catalog and schemaPattern parameters are
478 * If a UDT does not have a direct super type, it is not listed here.
479 * A row of the {@code ResultSet} object returned by this method
480 * describes the designated UDT and a direct supertype. A row has the following
483 * <LI><B>TYPE_CAT</B> String {@code =>} the UDT's catalog (may be {@code null})
484 * <LI><B>TYPE_SCHEM</B> String {@code =>} UDT's schema (may be {@code null})
485 * <LI><B>TYPE_NAME</B> String {@code =>} type name of the UDT
486 * <LI><B>SUPERTYPE_CAT</B> String {@code =>} the direct super type's catalog
487 * (may be {@code null})
488 * <LI><B>SUPERTYPE_SCHEM</B> String {@code =>} the direct super type's schema
489 * (may be {@code null})
490 * <LI><B>SUPERTYPE_NAME</B> String {@code =>} the direct super type's name
493 * <P><B>Note:</B> If the driver does not support type hierarchies, an
494 * empty result set is returned.
496 * @param catalog a catalog name; "" retrieves those without a catalog;
497 * {@code null} means drop catalog name from the selection criteria
498 * @param schemaPattern a schema name pattern; "" retrieves those
500 * @param typeNamePattern a UDT name pattern; may be a fully-qualified
502 * @return a {@code ResultSet} object in which a row gives information
503 * about the designated UDT
504 * @throws SQLException if a database access error occurs
506 XResultSet getSuperTypes
([in]string catalog
, [in]string schemaPattern
, [in]string typeNamePattern
) raises
(SQLException
);
509 * Indicates whether updates made to a LOB are made on a copy or directly
511 * @return {@code true} if updates are made to a copy of the LOB;
512 * {@code false} if updates are made directly to the LOB
513 * @throws SQLException if a database access error occurs
515 boolean locatorsUpdateCopy
() raises
(SQLException
);
518 * Retrieves whether this database supports the SQL function CONVERT for the conversion
519 * between the data types defined in com::sun::star::sdbc::DataType
520 * (see supportsConvert in com::sun::star::sdbc::XDatabaseMetadata to test for support between specific types)
521 * @return true if so; false otherwise
522 * @throws SQLException if a database access error occurs.
524 boolean supportsConvertInGeneral
()
525 raises
(SQLException
);
528 * Retrieves whether auto-generated keys can be retrieved after
529 * a statement has been executed
531 * @return {@code true} if auto-generated keys can be retrieved
532 * after a statement has executed; {@code false} otherwise
533 * <p>If {@code true} is returned, the JDBC driver must support the
534 * returning of auto-generated keys for at least SQL INSERT statements
536 * @throws SQLException if a database access error occurs
538 boolean supportsGetGeneratedKeys
() raises
(SQLException
);
541 * Retrieves whether it is possible to have multiple {@code ResultSet} objects
542 * returned from a {@code CallableStatement} object
545 * @return {@code true} if a {@code CallableStatement} object
546 * can return multiple {@code ResultSet} objects
547 * simultaneously; {@code false} otherwise
548 * @throws SQLException if a database access error occurs
550 boolean supportsMultipleOpenResults
() raises
(SQLException
);
553 * Retrieves whether this database supports named parameters to callable
556 * @return {@code true} if named parameters are supported;
557 * {@code false} otherwise
558 * @throws SQLException if a database access error occurs
560 boolean supportsNamedParameters
() raises
(SQLException
);
563 * Retrieves whether this database supports REF CURSOR.
565 * The default implementation will return {@code false}
567 * @return {@code true} if this database supports REF CURSOR;
568 * {@code false} otherwise
569 * @throws SQLException if a database access error occurs
571 boolean supportsRefCursors
() raises
(SQLException
);
574 * Retrieves whether this database supports savepoints.
576 * @return {@code true} if savepoints are supported;
577 * {@code false} otherwise
578 * @throws SQLException if a database access error occurs
580 boolean supportsSavepoints
() raises
(SQLException
);
583 * Retrieves whether this database supports sharding.
585 * The default implementation will return {@code false}
587 * @return {@code true} if this database supports sharding;
588 * {@code false} otherwise
589 * @throws SQLException if a database access error occurs
591 boolean supportsSharding
() raises
(SQLException
);
594 * Retrieves whether this database supports statement pooling.
596 * @return {@code true} if so; {@code false} otherwise
597 * @throws SQLException if a database access error occurs
599 boolean supportsStatementPooling
() raises
(SQLException
);
602 * Retrieves whether this database supports invoking user-defined or vendor functions
603 * using the stored procedure escape syntax.
605 * @return {@code true} if so; {@code false} otherwise
606 * @throws SQLException if a database access error occurs
608 boolean supportsStoredFunctionsUsingCallSyntax
() raises
(SQLException
);
614 /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */