tdf#154285 Check upper bound of arguments in SbRtl_Minute function
[LibreOffice.git] / offapi / com / sun / star / sdbc / XDatabaseMetaData.idl
blob2dc196b56f3d16d9b736b51cac54d4b8b6bae284
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 module com { module sun { module star { module sdbc {
23 published interface XResultSet;
24 published interface XConnection;
26 /** provides comprehensive information about the database as a whole.
29 <p>Many of the methods here return lists of information in
30 the form of
31 com::sun::star::sdbc::XResultSet
32 objects.
33 You can use the normal com::sun::star::sdbc::XRow
34 (or com::sun::star::sdb::XColumn)
35 methods such as
36 com::sun::star::sdbc::XRow::getString()
37 and
38 com::sun::star::sdbc::XRow::getInt()
39 to retrieve the data from these XResultSets. If a given form of
40 metadata is not available, these methods should throw a
41 com::sun::star::sdbc::SQLException.
42 After calling one of the getXXX() methods,
43 one can check whether that value is `NULL`
44 with the method com::sun::star::sdbc::XRow::wasNull().
45 In the text only "(may be `NULL`)" is mentioned for this case.
46 </p>
47 <p>Some of these methods take arguments that are String patterns. These
48 arguments all have names such as fooPattern. Within a pattern String, "%"
49 means match any substring of 0 or more characters, and "_" means match
50 any one character. Only metadata entries matching the search pattern
51 are returned. If a search pattern argument is set to `VOID`,
52 that argument's criteria will be dropped from the search.
53 </p>
54 <p>
56 com::sun::star::sdbc::SQLException
57 will be thrown if a driver does not support
58 a metadata method. In the case of methods that return an XResultSet,
59 either an XResultSet (which may be empty) is returned or a
60 SQLException is thrown.</p>
62 published interface XDatabaseMetaData: com::sun::star::uno::XInterface
65 /** Can all the procedures returned by getProcedures be called by the
66 current user?
68 @return
69 `TRUE`
70 if the user is allowed to call all procedures returned by getProcedures
71 otherwise `FALSE`.
72 @throws SQLException
73 if a database access error occurs.
75 boolean allProceduresAreCallable() raises (SQLException);
77 /** Can all the tables returned by getTable be SELECTed by the
78 current user?
79 @returns
80 `TRUE` if so
81 @throws SQLException
82 if a database access error occurs.
84 boolean allTablesAreSelectable() raises (SQLException);
86 /** returns the URL for the database connection
88 string getURL() raises (SQLException);
90 /** returns the user name from this database connection.
92 string getUserName() raises (SQLException);
94 /** checks if the database in read-only mode.
95 @returns
96 `TRUE` if so
97 @throws SQLException
98 if a database access error occurs.
100 boolean isReadOnly() raises (SQLException);
102 /** Are NULL values sorted high?
103 @returns
104 `TRUE` if so
105 @throws SQLException
106 if a database access error occurs.
108 boolean nullsAreSortedHigh() raises (SQLException);
110 /** Are NULL values sorted low?
111 @returns
112 `TRUE` if so
113 @throws SQLException
114 if a database access error occurs.
116 boolean nullsAreSortedLow() raises (SQLException);
118 /** Are NULL values sorted at the start regardless of sort order?
119 @returns
120 `TRUE` if so
121 @throws SQLException
122 if a database access error occurs.
124 boolean nullsAreSortedAtStart() raises (SQLException);
126 /** Are NULL values sorted at the end, regardless of sort order?
127 @returns
128 `TRUE` if so
129 @throws SQLException
130 if a database access error occurs.
132 boolean nullsAreSortedAtEnd() raises (SQLException);
134 /** returns the name of the database product.
136 string getDatabaseProductName() raises (SQLException);
138 /** returns the version of the database product.
140 string getDatabaseProductVersion() raises (SQLException);
142 /** returns the name of the SDBC driver.
144 string getDriverName() raises (SQLException);
146 /** returns the version number of the SDBC driver.
148 string getDriverVersion() raises (SQLException);
150 /** returns the SDBC driver major version number.
152 long getDriverMajorVersion();
154 /** returns the SDBC driver minor version number.
156 long getDriverMinorVersion();
158 /** use the database local files to save the tables.
159 @returns
160 `TRUE` if so
161 @throws SQLException
162 if a database access error occurs.
164 boolean usesLocalFiles() raises (SQLException);
166 /** use the database one local file to save for each table.
167 @returns
168 `TRUE` if so
169 @throws SQLException
170 if a database access error occurs.
172 boolean usesLocalFilePerTable() raises (SQLException);
174 /** use the database "mixed case unquoted SQL identifiers" case sensitive.
175 @returns
176 `TRUE` if so
177 @throws SQLException
178 if a database access error occurs.
180 boolean supportsMixedCaseIdentifiers() raises (SQLException);
182 /** Does the database treat mixed case unquoted SQL identifiers as
183 case insensitive and store them in upper case?
184 @returns
185 `TRUE` if so
186 @throws SQLException
187 if a database access error occurs.
189 boolean storesUpperCaseIdentifiers() raises (SQLException);
191 /** Does the database treat mixed case unquoted SQL identifiers as
192 case insensitive and store them in lower case?
193 @returns
194 `TRUE` if so
195 @throws SQLException
196 if a database access error occurs.
198 boolean storesLowerCaseIdentifiers() raises (SQLException);
200 /** Does the database treat mixed case unquoted SQL identifiers as
201 case insensitive and store them in mixed case?
202 @returns
203 `TRUE` if so
204 @throws SQLException
205 if a database access error occurs.
207 boolean storesMixedCaseIdentifiers() raises (SQLException);
209 /** Does the database treat mixed case quoted SQL identifiers as
210 case sensitive and as a result store them in mixed case?
211 @returns
212 `TRUE` if so
213 @throws SQLException
214 if a database access error occurs.
216 boolean supportsMixedCaseQuotedIdentifiers() raises (SQLException);
218 /** Does the database treat mixed case quoted SQL identifiers as
219 case insensitive and store them in upper case?
220 @returns
221 `TRUE` if so
222 @throws SQLException
223 if a database access error occurs.
225 boolean storesUpperCaseQuotedIdentifiers() raises (SQLException);
227 /** Does the database treat mixed case quoted SQL identifiers as
228 case insensitive and store them in lower case?
229 @returns
230 `TRUE` if so
231 @throws SQLException
232 if a database access error occurs.
234 boolean storesLowerCaseQuotedIdentifiers() raises (SQLException);
236 /** Does the database treat mixed case quoted SQL identifiers as
237 case insensitive and store them in mixed case?
238 @returns
239 `TRUE` if so
240 @throws SQLException
241 if a database access error occurs.
243 boolean storesMixedCaseQuotedIdentifiers() raises (SQLException);
245 /** What's the string used to quote SQL identifiers?
246 This returns a space " " if identifier quoting is not supported.
247 @returns
248 `TRUE` if so
249 @throws SQLException
250 if a database access error occurs.
252 string getIdentifierQuoteString() raises (SQLException);
254 /** gets a comma-separated list of all a database's SQL keywords
255 that are NOT also SQL92 keywords.
256 @returns
257 `TRUE` if so
258 @throws SQLException
259 if a database access error occurs.
261 string getSQLKeywords() raises (SQLException);
263 /** gets a comma-separated list of math functions. These are the
264 X/Open CLI math function names used in the SDBC function escape
265 clause.
266 @returns
267 `TRUE` if so
268 @throws SQLException
269 if a database access error occurs.
271 string getNumericFunctions() raises (SQLException);
273 /** gets a comma-separated list of string functions. These are the
274 X/Open CLI string function names used in the SDBC function escape
275 clause.
276 @returns
277 `TRUE` if so
278 @throws SQLException
279 if a database access error occurs.
281 string getStringFunctions() raises (SQLException);
283 /** gets a comma-separated list of system functions. These are the
284 X/Open CLI system function names used in the SDBC function escape
285 clause.
286 @returns
287 `TRUE` if so
288 @throws SQLException
289 if a database access error occurs.
291 string getSystemFunctions() raises (SQLException);
293 /** gets a comma-separated list of time and date functions.
294 @returns
295 `TRUE` if so
296 @throws SQLException
297 if a database access error occurs.
299 string getTimeDateFunctions() raises (SQLException);
301 /** gets the string that can be used to escape wildcard characters.
302 This is the string that can be used to escape "_" or "%" in
303 the string pattern style catalog search parameters.
307 The "_" character represents any single character.
308 </p>
310 The "%" character represents any sequence of zero or
311 more characters.
312 </p>
313 @returns
314 `TRUE` if so
315 @throws SQLException
316 if a database access error occurs.
318 string getSearchStringEscape() raises (SQLException);
320 /** gets all the "extra" characters that can be used in unquoted
321 identifier names (those beyond a-z, A-Z, 0-9 and _).
322 @returns
323 `TRUE` if so
324 @throws SQLException
325 if a database access error occurs.
327 string getExtraNameCharacters() raises (SQLException);
329 /** support the Database "ALTER TABLE" with add column?
330 @returns
331 `TRUE` if so
332 @throws SQLException
333 if a database access error occurs.
335 boolean supportsAlterTableWithAddColumn() raises (SQLException);
337 /** support the Database "ALTER TABLE" with drop column?
338 @returns
339 `TRUE` if so
340 @throws SQLException
341 if a database access error occurs.
343 boolean supportsAlterTableWithDropColumn() raises (SQLException);
345 /** support the Database column aliasing?
349 The SQL AS clause can be used to provide names for
350 computed columns or to provide alias names for columns as required.
351 </p>
352 @returns
353 `TRUE` if so
354 @throws SQLException
355 if a database access error occurs.
357 boolean supportsColumnAliasing() raises (SQLException);
359 /** are concatenations between NULL and non-NULL values NULL?
360 @returns
361 `TRUE` if so
362 @throws SQLException
363 if a database access error occurs.
365 boolean nullPlusNonNullIsNull() raises (SQLException);
367 /** `TRUE`
368 , if the Database supports the CONVERT function between SQL types,
369 otherwise `FALSE`.
370 @returns
371 `TRUE` if so
372 @throws SQLException
373 if a database access error occurs.
375 boolean supportsTypeConversion() raises (SQLException);
377 /** `TRUE`
378 , if the Database supports the CONVERT between the given SQL types
379 otherwise `FALSE`.
380 @returns
381 `TRUE` if so
382 @throws SQLException
383 if a database access error occurs.
385 boolean supportsConvert([in]long fromType, [in]long toType)
386 raises (SQLException);
388 /** Are table correlation names supported?
389 @returns
390 `TRUE` if so
391 @throws SQLException
392 if a database access error occurs.
394 boolean supportsTableCorrelationNames() raises (SQLException);
396 /** If table correlation names are supported, are they restricted
397 to be different from the names of the tables?
398 @returns
399 `TRUE` if so
400 @throws SQLException
401 if a database access error occurs.
403 boolean supportsDifferentTableCorrelationNames()
404 raises (SQLException);
406 /** Are expressions in "ORDER BY" lists supported?
407 @returns
408 `TRUE` if so
409 @throws SQLException
410 if a database access error occurs.
412 boolean supportsExpressionsInOrderBy() raises (SQLException);
414 /** Can an "ORDER BY" clause use columns not in the SELECT statement?
415 @returns
416 `TRUE` if so
417 @throws SQLException
418 if a database access error occurs.
420 boolean supportsOrderByUnrelated() raises (SQLException);
422 /** Is some form of "GROUP BY" clause supported?
423 @returns
424 `TRUE` if so
425 @throws SQLException
426 if a database access error occurs.
428 boolean supportsGroupBy() raises (SQLException);
430 /** Can a "GROUP BY" clause use columns not in the SELECT?
431 @returns
432 `TRUE` if so
433 @throws SQLException
434 if a database access error occurs.
436 boolean supportsGroupByUnrelated() raises (SQLException);
438 /** Can a "GROUP BY" clause add columns not in the SELECT
439 provided it specifies all the columns in the SELECT?
440 @returns
441 `TRUE` if so
442 @throws SQLException
443 if a database access error occurs.
445 boolean supportsGroupByBeyondSelect() raises (SQLException);
447 /** Is the escape character in "LIKE" clauses supported?
448 @returns
449 `TRUE` if so
450 @throws SQLException
451 if a database access error occurs.
453 boolean supportsLikeEscapeClause() raises (SQLException);
455 /** Are multiple XResultSets from a single execute supported?
456 @returns
457 `TRUE` if so
458 @throws SQLException
459 if a database access error occurs.
461 boolean supportsMultipleResultSets() raises (SQLException);
463 /** Can we have multiple transactions open at once (on different
464 connections)?
465 @returns
466 `TRUE` if so
467 @throws SQLException
468 if a database access error occurs.
470 boolean supportsMultipleTransactions() raises (SQLException);
472 /** Can columns be defined as non-nullable?
473 @returns
474 `TRUE` if so
475 @throws SQLException
476 if a database access error occurs.
478 boolean supportsNonNullableColumns() raises (SQLException);
480 /** `TRUE`, if the database supports ODBC Minimum SQL grammar,
481 otherwise `FALSE`.
482 @returns
483 `TRUE` if so
484 @throws SQLException
485 if a database access error occurs.
487 boolean supportsMinimumSQLGrammar() raises (SQLException);
489 /** `TRUE`, if the database supports ODBC Core SQL grammar,
490 otherwise `FALSE`.
491 @returns
492 `TRUE` if so
493 @throws SQLException
494 if a database access error occurs.
496 boolean supportsCoreSQLGrammar() raises (SQLException);
499 `TRUE`, if the database supports ODBC Extended SQL grammar,
500 otherwise `FALSE`.
501 @returns
502 `TRUE` if so
503 @throws SQLException
504 if a database access error occurs.
506 boolean supportsExtendedSQLGrammar() raises (SQLException);
508 /** @returns
509 `TRUE`, if the database supports ANSI92 entry level SQL grammar,
510 otherwise `FALSE`.
511 @throws SQLException
512 if a database access error occurs.
514 boolean supportsANSI92EntryLevelSQL() raises (SQLException);
516 /** @returns
517 `TRUE`, if the database supports ANSI92 intermediate SQL grammar,
518 otherwise `FALSE`.
519 @throws SQLException
520 if a database access error occurs.
522 boolean supportsANSI92IntermediateSQL() raises (SQLException);
524 /** @returns
525 `TRUE`, if the database supports ANSI92 full SQL grammar,
526 otherwise `FALSE`.
527 @throws SQLException
528 if a database access error occurs.
530 boolean supportsANSI92FullSQL() raises (SQLException);
532 /** returns
533 `TRUE`, if the Database supports SQL Integrity Enhancement Facility,
534 otherwise `FALSE`.
535 @throws SQLException
536 if a database access error occurs.
538 boolean supportsIntegrityEnhancementFacility() raises (SQLException);
540 /** @returns
541 `TRUE`, if some form of outer join is supported,
542 otherwise `FALSE`.
543 @throws SQLException
544 if a database access error occurs.
546 boolean supportsOuterJoins() raises (SQLException);
548 /** @returns
549 `TRUE`, if full nested outer joins are supported,
550 otherwise `FALSE`.
551 @throws SQLException
552 if a database access error occurs.
554 boolean supportsFullOuterJoins() raises (SQLException);
556 /** @returns
557 `TRUE`, if there is limited support for outer joins.
558 (This will be `TRUE` if supportFullOuterJoins is `TRUE`.)
559 `FALSE` is returned otherwise.
560 @throws SQLException
561 if a database access error occurs.
563 boolean supportsLimitedOuterJoins() raises (SQLException);
565 /** return the database vendor's preferred term for "schema"
566 @returns
567 `TRUE` if so
568 @throws SQLException
569 if a database access error occurs.
571 string getSchemaTerm() raises (SQLException);
573 /** return the database vendor's preferred term for "procedure"
574 @returns
575 `TRUE` if so
576 @throws SQLException
577 if a database access error occurs.
579 string getProcedureTerm() raises (SQLException);
581 /** return the database vendor's preferred term for "catalog"
582 @returns
583 `TRUE` if so
584 @throws SQLException
585 if a database access error occurs.
587 string getCatalogTerm() raises (SQLException);
589 /** Does a catalog appear at the start of a qualified table name?
590 (Otherwise it appears at the end)
591 @returns
592 `TRUE` if so
593 @throws SQLException
594 if a database access error occurs.
596 boolean isCatalogAtStart() raises (SQLException);
598 /** return the separator between catalog and table name
599 @returns
600 `TRUE` if so
601 @throws SQLException
602 if a database access error occurs.
604 string getCatalogSeparator() raises (SQLException);
606 /** Can a schema name be used in a data manipulation statement?
607 @returns
608 `TRUE` if so
609 @throws SQLException
610 if a database access error occurs.
612 boolean supportsSchemasInDataManipulation() raises (SQLException);
614 /** Can a schema name be used in a procedure call statement?
615 @returns
616 `TRUE` if so
617 @throws SQLException
618 if a database access error occurs.
620 boolean supportsSchemasInProcedureCalls() raises (SQLException);
622 /** Can a schema name be used in a table definition statement?
623 @returns
624 `TRUE` if so
625 @throws SQLException
626 if a database access error occurs.
628 boolean supportsSchemasInTableDefinitions() raises (SQLException);
630 /** Can a schema name be used in an index definition statement?
631 @returns
632 `TRUE` if so
633 @throws SQLException
634 if a database access error occurs.
636 boolean supportsSchemasInIndexDefinitions() raises (SQLException);
638 /** Can a schema name be used in a privilege definition statement?
639 @returns
640 `TRUE` if so
641 @throws SQLException
642 if a database access error occurs.
644 boolean supportsSchemasInPrivilegeDefinitions()
645 raises (SQLException);
647 /** Can a catalog name be used in a data manipulation statement?
648 @returns
649 `TRUE` if so
650 @throws SQLException
651 if a database access error occurs.
653 boolean supportsCatalogsInDataManipulation() raises (SQLException);
655 /** Can a catalog name be used in a procedure call statement?
656 @returns
657 `TRUE` if so
658 @throws SQLException
659 if a database access error occurs.
661 boolean supportsCatalogsInProcedureCalls() raises (SQLException);
663 /** Can a catalog name be used in a table definition statement?
664 @returns
665 `TRUE` if so
666 @throws SQLException
667 if a database access error occurs.
669 boolean supportsCatalogsInTableDefinitions() raises (SQLException);
671 /** Can a catalog name be used in an index definition statement?
672 @returns
673 `TRUE` if so
674 @throws SQLException
675 if a database access error occurs.
677 boolean supportsCatalogsInIndexDefinitions() raises (SQLException);
679 /** Can a catalog name be used in a privilege definition statement?
680 @returns
681 `TRUE` if so
682 @throws SQLException
683 if a database access error occurs.
685 boolean supportsCatalogsInPrivilegeDefinitions()
686 raises (SQLException);
688 /** Is positioned DELETE supported?
689 @returns
690 `TRUE` if so
691 @throws SQLException
692 if a database access error occurs.
694 boolean supportsPositionedDelete() raises (SQLException);
696 /** Is positioned UPDATE supported?
697 @returns
698 `TRUE` if so
699 @throws SQLException
700 if a database access error occurs.
702 boolean supportsPositionedUpdate() raises (SQLException);
704 /** Is SELECT for UPDATE supported?
705 @returns
706 `TRUE` if so
707 @throws SQLException
708 if a database access error occurs.
710 boolean supportsSelectForUpdate() raises (SQLException);
712 /** Are stored procedure calls using the stored procedure escape
713 syntax supported?
714 @returns
715 `TRUE` if so
716 @throws SQLException
717 if a database access error occurs.
719 boolean supportsStoredProcedures() raises (SQLException);
721 /** Are subqueries in comparison expressions supported?
722 @returns
723 `TRUE` if so
724 @throws SQLException
725 if a database access error occurs.
727 boolean supportsSubqueriesInComparisons() raises (SQLException);
729 /** Are subqueries in "exists" expressions supported?
730 @returns
731 `TRUE` if so
732 @throws SQLException
733 if a database access error occurs.
735 boolean supportsSubqueriesInExists() raises (SQLException);
737 /** Are subqueries in "in" statements supported?
738 @returns
739 `TRUE` if so
740 @throws SQLException
741 if a database access error occurs.
743 boolean supportsSubqueriesInIns() raises (SQLException);
745 /** Are subqueries in quantified expressions supported?
746 @returns
747 `TRUE` if so
748 @throws SQLException
749 if a database access error occurs.
751 boolean supportsSubqueriesInQuantifieds() raises (SQLException);
753 /** Are correlated subqueries supported?
754 @returns
755 `TRUE` if so
756 @throws SQLException
757 if a database access error occurs.
759 boolean supportsCorrelatedSubqueries() raises (SQLException);
761 /** Is SQL UNION supported?
762 @returns
763 `TRUE` if so
764 @throws SQLException
765 if a database access error occurs.
767 boolean supportsUnion() raises (SQLException);
769 /** Is SQL UNION ALL supported?
770 @returns
771 `TRUE` if so
772 @throws SQLException
773 if a database access error occurs.
775 boolean supportsUnionAll() raises (SQLException);
777 /** Can cursors remain open across commits?
778 @returns
779 `TRUE` if so
780 @throws SQLException
781 if a database access error occurs.
783 boolean supportsOpenCursorsAcrossCommit() raises (SQLException);
785 /** Can cursors remain open across rollbacks?
786 @returns
787 `TRUE` if so
788 @throws SQLException
789 if a database access error occurs.
791 boolean supportsOpenCursorsAcrossRollback() raises (SQLException);
793 /** Can statements remain open across commits?
794 @returns
795 `TRUE` if so
796 @throws SQLException
797 if a database access error occurs.
799 boolean supportsOpenStatementsAcrossCommit() raises (SQLException);
801 /** Can statements remain open across rollbacks?
802 @returns
803 `TRUE` if so
804 @throws SQLException
805 if a database access error occurs.
807 boolean supportsOpenStatementsAcrossRollback()
808 raises (SQLException);
810 /** return the maximal number of hex characters in an inline binary literal
811 @returns
812 `TRUE` if so
813 @throws SQLException
814 if a database access error occurs.
816 long getMaxBinaryLiteralLength() raises (SQLException);
818 /** return the max length for a character literal
819 @returns
820 `TRUE` if so
821 @throws SQLException
822 if a database access error occurs.
824 long getMaxCharLiteralLength() raises (SQLException);
826 /** return the limit on column name length
827 @returns
828 `TRUE` if so
829 @throws SQLException
830 if a database access error occurs.
832 long getMaxColumnNameLength() raises (SQLException);
834 /** return the maximum number of columns in a "GROUP BY" clause
835 @returns
836 `TRUE` if so
837 @throws SQLException
838 if a database access error occurs.
840 long getMaxColumnsInGroupBy() raises (SQLException);
842 /** return the maximum number of columns allowed in an index
843 @returns
844 `TRUE` if so
845 @throws SQLException
846 if a database access error occurs.
848 long getMaxColumnsInIndex() raises (SQLException);
850 /** return the maximum number of columns in an "ORDER BY" clause
851 @returns
852 `TRUE` if so
853 @throws SQLException
854 if a database access error occurs.
856 long getMaxColumnsInOrderBy() raises (SQLException);
858 /** return the maximum number of columns in a "SELECT" list
859 @returns
860 `TRUE` if so
861 @throws SQLException
862 if a database access error occurs.
864 long getMaxColumnsInSelect() raises (SQLException);
866 /** return the maximum number of columns in a table
867 @returns
868 `TRUE` if so
869 @throws SQLException
870 if a database access error occurs.
872 long getMaxColumnsInTable() raises (SQLException);
874 /** return the number of active connections at a time to this database.
875 @returns
876 `TRUE` if so
877 @throws SQLException
878 if a database access error occurs.
880 long getMaxConnections() raises (SQLException);
882 /** return the maximum cursor name length
883 @returns
884 `TRUE` if so
885 @throws SQLException
886 if a database access error occurs.
888 long getMaxCursorNameLength() raises (SQLException);
890 /** return the maximum length of an index (in bytes)
891 @returns
892 `TRUE` if so
893 @throws SQLException
894 if a database access error occurs.
896 long getMaxIndexLength() raises (SQLException);
898 /** return the maximum length allowed for a schema name
899 @returns
900 `TRUE` if so
901 @throws SQLException
902 if a database access error occurs.
904 long getMaxSchemaNameLength() raises (SQLException);
906 /** return the maximum length of a procedure name
907 @returns
908 `TRUE` if so
909 @throws SQLException
910 if a database access error occurs.
912 long getMaxProcedureNameLength() raises (SQLException);
914 /** return the maximum length of a catalog name
915 @returns
916 `TRUE` if so
917 @throws SQLException
918 if a database access error occurs.
920 long getMaxCatalogNameLength() raises (SQLException);
922 /** return the maximum length of a single row.
923 @returns
924 `TRUE` if so
925 @throws SQLException
926 if a database access error occurs.
928 long getMaxRowSize() raises (SQLException);
930 /** Did getMaxRowSize() include LONGVARCHAR and LONGVARBINARY
931 blobs?
932 @returns
933 `TRUE` if so
934 @throws SQLException
935 if a database access error occurs.
937 boolean doesMaxRowSizeIncludeBlobs() raises (SQLException);
939 /** return the maximum length of a SQL statement
940 @returns
941 `TRUE` if so
942 @throws SQLException
943 if a database access error occurs.
945 long getMaxStatementLength() raises (SQLException);
947 /** return the maximal number of open active statements at one time to this database
948 @returns
949 `TRUE` if so
950 @throws SQLException
951 if a database access error occurs.
953 long getMaxStatements() raises (SQLException);
955 /** return the maximum length of a table name
956 @returns
957 `TRUE` if so
958 @throws SQLException
959 if a database access error occurs.
961 long getMaxTableNameLength() raises (SQLException);
963 /** return the maximum number of tables in a SELECT statement
964 @returns
965 `TRUE` if so
966 @throws SQLException
967 if a database access error occurs.
969 long getMaxTablesInSelect() raises (SQLException);
971 /** return the maximum length of a user name
972 @returns
973 `TRUE` if so
974 @throws SQLException
975 if a database access error occurs.
977 long getMaxUserNameLength() raises (SQLException);
979 /** return the database default transaction isolation level.
980 The values are defined in
981 com::sun::star::sdbc::TransactionIsolation.
982 @returns
983 `TRUE` if so
984 @throws SQLException
985 if a database access error occurs.
986 @see com::sun::star::sdbc::XConnection
988 long getDefaultTransactionIsolation() raises (SQLException);
990 /** support the Database transactions?
991 If not, invoking the method
992 com::sun::star::sdbc::XConnection::commit()
993 is a noop and the
994 isolation level is TransactionIsolation_NONE.
995 @returns
996 `TRUE` if so
997 @throws SQLException
998 if a database access error occurs.
1000 boolean supportsTransactions() raises (SQLException);
1002 /** Does this database support the given transaction isolation level?
1003 @returns
1004 `TRUE` if so
1005 @throws SQLException
1006 if a database access error occurs.
1007 @see com::sun::star::sdbc::Connection
1009 boolean supportsTransactionIsolationLevel([in]long level)
1010 raises (SQLException);
1012 /** support the Database both data definition and data manipulation statements
1013 within a transaction?
1014 @returns
1015 `TRUE` if so
1016 @throws SQLException
1017 if a database access error occurs.
1018 <!-- JRH: Unclear on the intent of these many support questions.
1019 If asking, it should state, "Does the Database support both...?
1020 If declaring, it should state something like the following:
1022 metadata: supportsDataDefinitionAndDataManipulationTransactions
1024 "provides support for both data definition and data manipulation statements within a transaction."
1025 --> */
1026 boolean supportsDataDefinitionAndDataManipulationTransactions()
1027 raises (SQLException);
1029 /** are only data manipulation statements within a transaction
1030 supported?
1031 @returns
1032 `TRUE` if so
1033 @throws SQLException
1034 if a database access error occurs.
1036 boolean supportsDataManipulationTransactionsOnly()
1037 raises (SQLException);
1039 /** does a data definition statement within a transaction force the
1040 transaction to commit?
1041 @returns
1042 `TRUE` if so
1043 @throws SQLException
1044 if a database access error occurs.
1046 boolean dataDefinitionCausesTransactionCommit()
1047 raises (SQLException);
1049 /** is a data definition statement within a transaction ignored?
1050 @returns
1051 `TRUE` if so
1052 @throws SQLException
1053 if a database access error occurs.
1055 boolean dataDefinitionIgnoredInTransactions()
1056 raises (SQLException);
1058 /** Gets a description of the stored procedures available in a
1059 catalog.
1063 Only procedure descriptions matching the schema and
1064 procedure name criteria are returned. They are ordered by
1065 PROCEDURE_SCHEM, and PROCEDURE_NAME.
1066 </p>
1068 Each procedure description has the following columns:
1069 </p>
1070 <ol>
1071 <li>
1072 <b>PROCEDURE_CAT</b> string => procedure catalog (may be `NULL`)
1073 </li>
1074 <li>
1075 <b>PROCEDURE_SCHEM</b> string => procedure schema (may be `NULL`)
1076 </li>
1077 <li>
1078 <b>PROCEDURE_NAME</b> string => procedure name
1079 </li>
1080 <li> reserved for future use
1081 </li>
1082 <li> reserved for future use
1083 </li>
1084 <li> reserved for future use
1085 </li>
1086 <li>
1087 <b>REMARKS</b> string => explanatory comment on the procedure
1088 </li>
1089 <li>
1090 <b>PROCEDURE_TYPE</b> short => kind of procedure:
1091 <ul>
1092 <li> UNKNOWN - May return a result
1093 </li>
1094 <li> NO - Does not return a result
1095 </li>
1096 <li> RETURN - Returns a result
1097 </li>
1098 </ul>
1099 </li>
1100 </ol>
1101 @param catalog
1102 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
1103 @param schemaPattern
1104 a schema name pattern; "" retrieves those without a schema
1105 @param procedureNamePattern
1106 a procedure name pattern
1107 @returns
1108 each row is a procedure description
1109 @throws SQLException
1110 if a database access error occurs.
1112 XResultSet getProcedures([in]any catalog, [in]string schemaPattern,
1113 [in]string procedureNamePattern) raises (SQLException);
1115 /** gets a description of a catalog's stored procedure parameters
1116 and result columns.
1120 Only descriptions matching the schema, procedure and
1121 parameter name criteria are returned. They are ordered by
1122 PROCEDURE_SCHEM and PROCEDURE_NAME. Within this, the return value,
1123 if any, is first. Next are the parameter descriptions in call
1124 order. The column descriptions follow in column number order.
1125 </p>
1126 <p>Each row in the XResultSet is a parameter description or
1127 column description with the following fields:
1128 </p>
1129 <ol>
1130 <li>
1131 <b>PROCEDURE_CAT</b> string => procedure catalog (may be `NULL`)
1132 </li>
1133 <li>
1134 <b>PROCEDURE_SCHEM</b> string => procedure schema (may be `NULL`)
1135 </li>
1136 <li>
1137 <b>PROCEDURE_NAME</b> string => procedure name
1138 </li>
1139 <li>
1140 <b>COLUMN_NAME</b> string => column/parameter name
1141 </li>
1142 <li>
1143 <b>COLUMN_TYPE</b> Short => kind of column/parameter:
1144 <ul>
1145 <li> UNKNOWN - nobody knows
1146 </li>
1147 <li> IN - IN parameter
1148 </li>
1149 <li> INOUT - INOUT parameter
1150 </li>
1151 <li> OUT - OUT parameter
1152 </li>
1153 <li> RETURN - procedure return value
1154 </li>
1155 <li> RESULT - result column in XResultSet
1156 </li>
1157 </ul>
1158 </li>
1159 <li>
1160 <b>DATA_TYPE</b> short => SQL type from java.sql.Types
1161 </li>
1162 <li>
1163 <b>TYPE_NAME</b> string => SQL type name, for a UDT type the
1164 type name is fully qualified
1165 </li>
1166 <li>
1167 <b>PRECISION</b> long => precision
1168 </li>
1169 <li>
1170 <b>LENGTH</b> long => length in bytes of data
1171 </li>
1172 <li>
1173 <b>SCALE</b> short => scale
1174 </li>
1175 <li>
1176 <b>RADIX</b> short => radix
1177 </li>
1178 <li>
1179 <b>NULLABLE</b> short => can it contain NULL?
1180 <ul>
1181 <li> NO_NULLS - does not allow NULL values
1182 </li>
1183 <li> NULLABLE - allows NULL values
1184 </li>
1185 <li> NULLABLE_UNKNOWN - nullability unknown
1186 </li>
1187 </ul>
1188 </li>
1189 <li>
1190 <b>REMARKS</b> string => comment describing parameter/column
1191 </li>
1192 </ol>
1194 <b>Note:</b> Some databases may not return the column
1195 descriptions for a procedure. Additional columns beyond
1196 REMARKS can be defined by the database.
1197 </p>
1198 @param catalog
1199 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
1200 @param schemaPattern
1201 a schema name pattern; "" retrieves those without a schema
1202 @param procedureNamePattern
1203 a procedure name pattern
1204 @param columnNamePattern
1205 a column name pattern
1206 @returns
1207 each row describes a stored procedure parameter or column
1208 @throws SQLException
1209 if a database access error occurs.
1211 XResultSet getProcedureColumns([in]any catalog, [in]string schemaPattern,
1212 [in]string procedureNamePattern,
1213 [in]string columnNamePattern)
1214 raises (SQLException);
1216 /** gets a description of tables available in a catalog.
1219 <p>Only table descriptions matching the catalog, schema, table
1220 name, and type criteria are returned. They are ordered by
1221 TABLE_TYPE, TABLE_SCHEM, and TABLE_NAME.
1222 </p>
1223 <p>Each table description has the following columns:
1224 </p>
1225 <ol>
1226 <li>
1227 <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
1228 </li>
1229 <li>
1230 <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
1231 </li>
1232 <li>
1233 <b>TABLE_NAME</b> string => table name
1234 </li>
1235 <li>
1236 <b>TABLE_TYPE</b> string => table type. Typical types are "TABLE",
1237 "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY",
1238 "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
1239 </li>
1240 <li>
1241 <b>REMARKS</b> string => explanatory comment on the table
1242 </li>
1243 </ol>
1245 <b>Note:</b> Some databases may not return information for
1246 all tables.
1247 </p>
1248 @param catalog
1249 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
1250 @param schemaPattern
1251 a schema name pattern; "" retrieves those without a schema
1252 @param tableNamePattern
1253 a table name pattern
1254 @param types
1255 a list of table types to include
1256 @returns
1257 each row is a table description
1258 @throws SQLException
1259 if a database access error occurs.
1261 XResultSet getTables([in]any catalog, [in]string schemaPattern,
1262 [in]string tableNamePattern, [in]sequence<string> types)
1263 raises (SQLException);
1265 /** Gets the schema names available in this database. The results
1266 are ordered by schema name.
1269 <p>The schema column is:
1270 </p>
1271 <ol>
1272 <li>
1273 <b>TABLE_SCHEM</b> string => schema name
1274 </li>
1275 </ol>
1276 @returns
1277 each row has a single String column that is a schema name
1278 @throws SQLException
1279 if a database access error occurs.
1281 XResultSet getSchemas() raises (SQLException);
1283 /** gets the catalog names available in this database. The results
1284 are ordered by catalog name.
1287 <p>The catalog column is:
1288 </p>
1289 <ol>
1290 <li>
1291 <b>TABLE_CAT</b> string => catalog name
1292 </li>
1293 </ol>
1294 @returns
1295 each row has a single String column that is a catalog name
1296 @throws SQLException
1297 if a database access error occurs.
1299 XResultSet getCatalogs() raises (SQLException);
1301 /** gets the table types available in this database. The results
1302 are ordered by table type.
1305 <p>The table type is:
1306 </p>
1307 <ol>
1308 <li>
1309 <b>TABLE_TYPE</b> string => table type. Typical types are "TABLE",
1310 "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY",
1311 "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
1312 </li>
1313 </ol>
1314 @returns
1315 each row has a single String column that is a table type
1316 @throws SQLException
1317 if a database access error occurs.
1319 XResultSet getTableTypes() raises (SQLException);
1321 /** gets a description of table columns available in
1322 the specified catalog.
1325 <p>Only column descriptions matching the catalog, schema, table
1326 and column name criteria are returned. They are ordered by
1327 TABLE_SCHEM, TABLE_NAME, and ORDINAL_POSITION.
1328 </p>
1329 <p>Each column description has the following columns:
1330 </p>
1331 <ol>
1332 <li>
1333 <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
1334 </li>
1335 <li>
1336 <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
1337 </li>
1338 <li>
1339 <b>TABLE_NAME</b> string => table name
1340 </li>
1341 <li>
1342 <b>COLUMN_NAME</b> string => column name
1343 </li>
1344 <li>
1345 <b>DATA_TYPE</b> short => SQL type from java.sql.Types
1346 </li>
1347 <li>
1348 <b>TYPE_NAME</b> string => Data source dependent type name,
1349 for a UDT the type name is fully qualified
1350 </li>
1351 <li>
1352 <b>COLUMN_SIZE</b> long => column size. For char or date
1353 types this is the maximum number of characters, for numeric or
1354 decimal types this is precision.
1355 </li>
1356 <li>
1357 <b>BUFFER_LENGTH</b> is not used.
1358 </li>
1359 <li>
1360 <b>DECIMAL_DIGITS</b> long => the number of fractional digits
1361 </li>
1362 <li>
1363 <b>NUM_PREC_RADIX</b> long => Radix (typically either 10 or 2)
1364 </li>
1365 <li>
1366 <b>NULLABLE</b> long => is NULL allowed?
1367 <ul>
1368 <li> NO_NULLS - might not allow NULL values
1369 </li>
1370 <li> NULLABLE - definitely allows NULL values
1371 </li>
1372 <li> NULLABLE_UNKNOWN - nullability unknown
1373 </li>
1374 </ul>
1375 </li>
1376 <li>
1377 <b>REMARKS</b> string => comment describing column (may be `NULL`)
1378 </li>
1379 <li>
1380 <b>COLUMN_DEF</b> string => default value (may be `NULL`)
1381 </li>
1382 <li>
1383 <b>SQL_DATA_TYPE</b> long => unused
1384 </li>
1385 <li>
1386 <b>SQL_DATETIME_SUB</b> long => unused
1387 </li>
1388 <li>
1389 <b>CHAR_OCTET_LENGTH</b> long => for char types the
1390 maximum number of bytes in the column
1391 </li>
1392 <li>
1393 <b>ORDINAL_POSITION</b> int => index of column in table
1394 (starting at 1)
1395 </li>
1396 <li>
1397 <b>IS_NULLABLE</b> string => "NO" means column definitely
1398 does not allow NULL values; "YES" means the column might
1399 allow NULL values. An empty string means nobody knows.
1400 </li>
1401 </ol>
1402 @param catalog
1403 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
1404 @param schemaPattern
1405 a schema name pattern; "" retrieves those without a schema
1406 @param tableNamePattern
1407 a table name pattern
1408 @param columnNamePattern
1409 a column name pattern
1410 @returns
1411 each row is a column description
1412 @throws SQLException
1413 if a database access error occurs.
1415 XResultSet getColumns([in]any catalog, [in]string schemaPattern,
1416 [in]string tableNamePattern, [in]string columnNamePattern)
1417 raises (SQLException);
1419 /** gets a description of the access rights for a table's columns.
1423 Only privileges matching the column name criteria are
1424 returned. They are ordered by COLUMN_NAME and PRIVILEGE.
1425 </p>
1426 <p>Each privilege description has the following columns:
1427 </p>
1428 <ol>
1429 <li>
1430 <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
1431 </li>
1432 <li>
1433 <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
1434 </li>
1435 <li>
1436 <b>TABLE_NAME</b> string => table name
1437 </li>
1438 <li>
1439 <b>COLUMN_NAME</b> string => column name
1440 </li>
1441 <li>
1442 <b>GRANTOR</b> => granter of access (may be `NULL`)
1443 </li>
1444 <li>
1445 <b>GRANTEE</b> string => grantee of access
1446 </li>
1447 <li>
1448 <b>PRIVILEGE</b> string => name of access (SELECT,
1449 INSERT, UPDATE, REFERENCES, ...)
1450 </li>
1451 <li>
1452 <b>IS_GRANTABLE</b> string => "YES" if grantee is permitted
1453 to grant to others; "NO" if not; `NULL` if unknown
1454 </li>
1455 </ol>
1456 @param catalog
1457 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
1458 @param schema
1459 a schema name ; "" retrieves those without a schema
1460 @param table
1461 a table name
1462 @param columnNamePattern
1463 a column name pattern
1464 @returns
1465 each row is a column privilege description
1466 @throws SQLException
1467 if a database access error occurs.
1469 XResultSet getColumnPrivileges([in]any catalog, [in]string schema,
1470 [in]string table, [in]string columnNamePattern) raises (SQLException);
1472 /** gets a description of the access rights for each table available
1473 in a catalog. Note that a table privilege applies to one or
1474 more columns in the table. It would be wrong to assume that
1475 this privilege applies to all columns (this may be `TRUE` for
1476 some systems but is not `TRUE` for all.)
1479 <p>Only privileges matching the schema and table name
1480 criteria are returned. They are ordered by TABLE_SCHEM,
1481 TABLE_NAME, and PRIVILEGE.
1482 </p>
1483 <p>Each privilege description has the following columns:
1484 </p>
1485 <ol>
1486 <li>
1487 <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
1488 </li>
1489 <li>
1490 <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
1491 </li>
1492 <li>
1493 <b>TABLE_NAME</b> string => table name
1494 </li>
1495 <li>
1496 <b>GRANTOR</b> => granter of access (may be `NULL`)
1497 </li>
1498 <li>
1499 <b>GRANTEE</b> string => grantee of access
1500 </li>
1501 <li>
1502 <b>PRIVILEGE</b> string => name of access (SELECT,
1503 INSERT, UPDATE, REFERENCES, ...)
1504 </li>
1505 <li>
1506 <b>IS_GRANTABLE</b> string => "YES" if grantee is permitted
1507 to grant to others; "NO" if not; `NULL` if unknown
1508 </li>
1509 </ol>
1510 @param catalog
1511 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
1512 @param schemaPattern
1513 a schema name pattern; "" retrieves those without a schema
1514 @param tableNamePattern
1515 a table name pattern
1516 @returns
1517 each row is a table privilege description
1518 @throws SQLException
1519 if a database access error occurs.
1521 XResultSet getTablePrivileges([in]any catalog, [in]string schemaPattern,
1522 [in]string tableNamePattern) raises (SQLException);
1524 /** gets a description of a table's optimal set of columns that
1525 uniquely identifies a row. They are ordered by SCOPE.
1528 <p>Each column description has the following columns:
1529 </p>
1530 <ol>
1531 <li>
1532 <b>SCOPE</b> short => actual scope of result
1533 <ul>
1534 <li> TEMPORARY - very temporary, while using row
1535 </li>
1536 <li> TRANSACTION - valid for remainder of current transaction
1537 </li>
1538 <li> SESSION - valid for remainder of current session
1539 </li>
1540 </ul>
1541 </li>
1542 <li>
1543 <b>COLUMN_NAME</b> string => column name
1544 </li>
1545 <li>
1546 <b>DATA_TYPE</b> short => SQL data type from java.sql.Types
1547 </li>
1548 <li>
1549 <b>TYPE_NAME</b> string => Data source dependent type name,
1550 for a UDT the type name is fully qualified
1551 </li>
1552 <li>
1553 <b>COLUMN_SIZE</b> long => precision
1554 </li>
1555 <li>
1556 <b>BUFFER_LENGTH</b> long => not used
1557 </li>
1558 <li>
1559 <b>DECIMAL_DIGITS</b> short => scale
1560 </li>
1561 <li>
1562 <b>PSEUDO_COLUMN</b> short => is this a pseudo column
1563 like an Oracle ROWID
1564 <ul>
1565 <li> UNKNOWN - may or may not be pseudo column
1566 </li>
1567 <li> NOT_PSEUDO - is NOT a pseudo column
1568 </li>
1569 <li> PSEUDO - is a pseudo column
1570 </li>
1571 </ul>
1572 </li>
1573 </ol>
1574 @param catalog
1575 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
1576 @param schema
1577 a schema name; "" retrieves those without a schema
1578 @param table
1579 a table name
1580 @param scope
1581 the scope of interest; use same values as SCOPE
1582 @param nullable
1583 include columns that are nullable?
1584 @returns
1585 each row is a column description
1586 @throws SQLException
1587 if a database access error occurs.
1589 XResultSet getBestRowIdentifier([in]any catalog, [in]string schema,
1590 [in]string table, [in]long scope, [in] boolean nullable)
1591 raises (SQLException);
1593 /** gets a description of a table's columns that are automatically
1594 updated when any value in a row is updated. They are
1595 unordered.
1598 <p>Each column description has the following columns:
1599 </p>
1600 <ol>
1601 <li>
1602 <b>SCOPE</b> short => is not used
1603 </li>
1604 <li>
1605 <b>COLUMN_NAME</b> string => column name
1606 </li>
1607 <li>
1608 <b>DATA_TYPE</b> short => SQL data type from java.sql.Types
1609 </li>
1610 <li>
1611 <b>TYPE_NAME</b> string => Data source dependent type name
1612 </li>
1613 <li>
1614 <b>COLUMN_SIZE</b> long => precision
1615 </li>
1616 <li>
1617 <b>BUFFER_LENGTH</b> long => length of column value in bytes
1618 </li>
1619 <li>
1620 <b>DECIMAL_DIGITS</b> short => scale
1621 </li>
1622 <li>
1623 <b>PSEUDO_COLUMN</b> short => is this a pseudo column
1624 like an Oracle ROWID
1625 <ul>
1626 <li> UNKNOWN - may or may not be pseudo column
1627 </li>
1628 <li> NOT_PSEUDO - is NOT a pseudo column
1629 </li>
1630 <li> PSEUDO - is a pseudo column
1631 </li>
1632 </ul>
1633 </li>
1634 </ol>
1635 @param catalog
1636 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
1637 @param schema
1638 a schema name; "" retrieves those without a schema
1639 @param table
1640 a table name
1641 @returns
1642 each row is a column description
1643 @throws SQLException
1644 if a database access error occurs.
1646 XResultSet getVersionColumns([in]any catalog, [in]string schema,
1647 [in]string table) raises (SQLException);
1649 /** gets a description of a table's primary key columns. They
1650 are ordered by COLUMN_NAME.
1653 <p>Each primary key column description has the following columns:
1654 </p>
1655 <ol>
1656 <li>
1657 <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
1658 </li>
1659 <li>
1660 <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
1661 </li>
1662 <li>
1663 <b>TABLE_NAME</b> string => table name
1664 </li>
1665 <li>
1666 <b>COLUMN_NAME</b> string => column name
1667 </li>
1668 <li>
1669 <b>KEY_SEQ</b> short => sequence number within primary key
1670 </li>
1671 <li>
1672 <b>PK_NAME</b> string => primary key name (may be `NULL`)
1673 </li>
1674 </ol>
1675 @param catalog
1676 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
1677 @param schema
1678 a schema name; "" retrieves those without a schema
1679 @param table
1680 a table name
1681 @returns
1682 each row is a primary key column description
1683 @throws SQLException
1684 if a database access error occurs.
1686 XResultSet getPrimaryKeys([in]any catalog, [in]string schema,
1687 [in]string table) raises (SQLException);
1689 /** gets a description of the primary key columns that are
1690 referenced by a table's foreign key columns (the primary keys
1691 imported by a table). They are ordered by PKTABLE_CAT,
1692 PKTABLE_SCHEM, PKTABLE_NAME, and KEY_SEQ.
1695 <p>Each primary key column description has the following columns:
1696 </p>
1697 <ol>
1698 <li>
1699 <b>PKTABLE_CAT</b> string => primary key table catalog
1700 being imported (may be `NULL`)
1701 </li>
1702 <li>
1703 <b>PKTABLE_SCHEM</b> string => primary key table schema
1704 being imported (may be `NULL`)
1705 </li>
1706 <li>
1707 <b>PKTABLE_NAME</b> string => primary key table name
1708 being imported
1709 </li>
1710 <li>
1711 <b>PKCOLUMN_NAME</b> string => primary key column name
1712 being imported
1713 </li>
1714 <li>
1715 <b>FKTABLE_CAT</b> string => foreign key table catalog (may be `NULL`)
1716 </li>
1717 <li>
1718 <b>FKTABLE_SCHEM</b> string => foreign key table schema (may be `NULL`)
1719 </li>
1720 <li>
1721 <b>FKTABLE_NAME</b> string => foreign key table name
1722 </li>
1723 <li>
1724 <b>FKCOLUMN_NAME</b> string => foreign key column name
1725 </li>
1726 <li>
1727 <b>KEY_SEQ</b> short => sequence number within foreign key
1728 </li>
1729 <li>
1730 <b>UPDATE_RULE</b> short => What happens to
1731 foreign key when primary is updated:
1732 <ul>
1733 <li> importedNoAction - do not allow update of primary
1734 key if it has been imported
1735 </li>
1736 <li> importedKeyCascade - change imported key to agree
1737 with primary key update
1738 </li>
1739 <li> importedKeySetNull - change imported key to NULL if
1740 its primary key has been updated
1741 </li>
1742 <li> importedKeySetDefault - change imported key to default values
1743 if its primary key has been updated
1744 </li>
1745 <li> importedKeyRestrict - same as importedKeyNoAction
1746 (for ODBC 2.x compatibility)
1747 </li>
1748 </ul>
1749 </li>
1750 <li>
1751 <b>DELETE_RULE</b> short => What happens to
1752 the foreign key when primary is deleted.
1753 <ul>
1754 <li> importedKeyNoAction - do not allow delete of primary
1755 key if it has been imported
1756 </li>
1757 <li> importedKeyCascade - delete rows that import a deleted key
1758 </li>
1759 <li> importedKeySetNull - change imported key to NULL if
1760 its primary key has been deleted
1761 </li>
1762 <li> importedKeyRestrict - same as importedKeyNoAction
1763 (for ODBC 2.x compatibility)
1764 </li>
1765 <li> importedKeySetDefault - change imported key to default if
1766 its primary key has been deleted
1767 </li>
1768 </ul>
1769 </li>
1770 <li>
1771 <b>FK_NAME</b> string => foreign key name (may be `NULL`)
1772 </li>
1773 <li>
1774 <b>PK_NAME</b> string => primary key name (may be `NULL`)
1775 </li>
1776 <li>
1777 <b>DEFERRABILITY</b> short => can the evaluation of foreign key
1778 constraints be deferred until commit
1779 <ul>
1780 <li> importedKeyInitiallyDeferred - see SQL92 for definition
1781 </li>
1782 <li> importedKeyInitiallyImmediate - see SQL92 for definition
1783 </li>
1784 <li> importedKeyNotDeferrable - see SQL92 for definition
1785 </li>
1786 </ul>
1787 </li>
1788 </ol>
1789 @param catalog
1790 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
1791 @param schema
1792 a schema name; "" retrieves those without a schema
1793 @param table
1794 a table name
1795 @returns
1796 each row is a primary key column description
1797 @throws SQLException
1798 if a database access error occurs.
1800 XResultSet getImportedKeys([in]any catalog, [in]string schema,
1801 [in]string table) raises (SQLException);
1803 /** gets a description of the foreign key columns that reference a
1804 table's primary key columns (the foreign keys exported by a
1805 table). They are ordered by FKTABLE_CAT, FKTABLE_SCHEM,
1806 FKTABLE_NAME, and KEY_SEQ.
1809 <p>Each foreign key column description has the following columns:
1810 </p>
1811 <ol>
1812 <li>
1813 <b>PKTABLE_CAT</b> string => primary key table catalog (may be `NULL`)
1814 </li>
1815 <li>
1816 <b>PKTABLE_SCHEM</b> string => primary key table schema (may be `NULL`)
1817 </li>
1818 <li>
1819 <b>PKTABLE_NAME</b> string => primary key table name
1820 </li>
1821 <li>
1822 <b>PKCOLUMN_NAME</b> string => primary key column name
1823 </li>
1824 <li>
1825 <b>FKTABLE_CAT</b> string => foreign key table catalog (may be `NULL`)
1826 being exported (may be `NULL`)
1827 </li>
1828 <li>
1829 <b>FKTABLE_SCHEM</b> string => foreign key table schema (may be `NULL`)
1830 being exported (may be `NULL`)
1831 </li>
1832 <li>
1833 <b>FKTABLE_NAME</b> string => foreign key table name
1834 being exported
1835 </li>
1836 <li>
1837 <b>FKCOLUMN_NAME</b> string => foreign key column name
1838 being exported
1839 </li>
1840 <li>
1841 <b>KEY_SEQ</b> short => sequence number within foreign key
1842 </li>
1843 <li>
1844 <b>UPDATE_RULE</b> short => What happens to
1845 foreign key when primary is updated:
1846 <ul>
1847 <li> NO_ACTION - do not allow update of primary
1848 key if it has been imported
1849 </li>
1850 <li> CASCADE - change imported key to agree
1851 with primary key update
1852 </li>
1853 <li> SET_NULL - change imported key to NULL if
1854 its primary key has been updated
1855 </li>
1856 <li> SET_DEFAULT - change imported key to default values
1857 if its primary key has been updated
1858 </li>
1859 <li> RESTRICT - same as importedKeyNoAction
1860 (for ODBC 2.x compatibility)
1861 </li>
1862 </ul>
1863 </li>
1864 <li>
1865 <b>DELETE_RULE</b> short => What happens to
1866 the foreign key when primary is deleted.
1867 <ul>
1868 <li> NO_ACTION - do not allow delete of primary
1869 key if it has been imported
1870 </li>
1871 <li> CASCADE - delete rows that import a deleted key
1872 </li>
1873 <li> SET_NULL - change imported key to NULL if
1874 its primary key has been deleted
1875 </li>
1876 <li> RESTRICT - same as importedKeyNoAction
1877 (for ODBC 2.x compatibility)
1878 </li>
1879 <li> SET_DEFAULT - change imported key to default if
1880 its primary key has been deleted
1881 </li>
1882 </ul>
1883 </li>
1884 <li>
1885 <b>FK_NAME</b> string => foreign key name (may be `NULL`)
1886 </li>
1887 <li>
1888 <b>PK_NAME</b> string => primary key name (may be `NULL`)
1889 </li>
1890 <li>
1891 <b>DEFERRABILITY</b> short => can the evaluation of foreign key
1892 constraints be deferred until commit
1893 <ul>
1894 <li> INITIALLY_DEFERRED - see SQL92 for definition
1895 </li>
1896 <li> INITIALLY_IMMEDIATE - see SQL92 for definition
1897 </li>
1898 <li> NONE - see SQL92 for definition
1899 </li>
1900 </ul>
1901 </li>
1902 </ol>
1903 @param catalog
1904 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
1905 @param schema
1906 a schema name; "" retrieves those without a schema
1907 @param table
1908 a table name
1909 @returns
1910 each row is a foreign key column description
1911 @throws SQLException
1912 if a database access error occurs.
1914 XResultSet getExportedKeys([in]any catalog, [in]string schema,
1915 [in]string table) raises (SQLException);
1917 /** gets a description of the foreign key columns in the foreign key
1918 table that reference the primary key columns of the primary key
1919 table (describe how one table imports another's key.) This
1920 should normally return a single foreign key/primary key pair
1921 (most tables only import a foreign key from a table once.). They
1922 are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and
1923 KEY_SEQ.
1926 <p>Each foreign key column description has the following columns:
1927 </p>
1928 <ol>
1929 <li>
1930 <b>PKTABLE_CAT</b> string => primary key table catalog (may be `NULL`)
1931 </li>
1932 <li>
1933 <b>PKTABLE_SCHEM</b> string => primary key table schema (may be `NULL`)
1934 </li>
1935 <li>
1936 <b>PKTABLE_NAME</b> string => primary key table name
1937 </li>
1938 <li>
1939 <b>PKCOLUMN_NAME</b> string => primary key column name
1940 </li>
1941 <li>
1942 <b>FKTABLE_CAT</b> string => foreign key table catalog (may be `NULL`)
1943 being exported (may be `NULL`)
1944 </li>
1945 <li>
1946 <b>FKTABLE_SCHEM</b> string => foreign key table schema (may be `NULL`)
1947 being exported (may be `NULL`)
1948 </li>
1949 <li>
1950 <b>FKTABLE_NAME</b> string => foreign key table name
1951 being exported
1952 </li>
1953 <li>
1954 <b>FKCOLUMN_NAME</b> string => foreign key column name
1955 being exported
1956 </li>
1957 <li>
1958 <b>KEY_SEQ</b> short => sequence number within foreign key
1959 </li>
1960 <li>
1961 <b>UPDATE_RULE</b> short => What happens to
1962 foreign key when primary is updated:
1963 <ul>
1964 <li> NO_ACTION - do not allow update of primary
1965 key if it has been imported
1966 </li>
1967 <li> CASCADE - change imported key to agree
1968 with primary key update
1969 </li>
1970 <li> SET_NULL - change imported key to NULL if
1971 its primary key has been updated
1972 </li>
1973 <li> SET_DEFAULT - change imported key to default values
1974 if its primary key has been updated
1975 </li>
1976 <li> RESTRICT - same as importedKeyNoAction
1977 (for ODBC 2.x compatibility)
1978 </li>
1979 </ul>
1980 </li>
1981 <li>
1982 <b>DELETE_RULE</b> short => What happens to
1983 the foreign key when primary is deleted.
1984 <ul>
1985 <li> NO_ACTION - do not allow delete of primary
1986 key if it has been imported
1987 </li>
1988 <li> CASCADE - delete rows that import a deleted key
1989 </li>
1990 <li> SET_NULL - change imported key to NULL if
1991 its primary key has been deleted
1992 </li>
1993 <li> RESTRICT - same as importedKeyNoAction
1994 (for ODBC 2.x compatibility)
1995 </li>
1996 <li> SET_DEFAULT - change imported key to default if
1997 its primary key has been deleted
1998 </li>
1999 </ul>
2000 </li>
2001 <li>
2002 <b>FK_NAME</b> string => foreign key name (may be `NULL`)
2003 </li>
2004 <li>
2005 <b>PK_NAME</b> string => primary key name (may be `NULL`)
2006 </li>
2007 <li>
2008 <b>DEFERRABILITY</b> short => can the evaluation of foreign key
2009 constraints be deferred until commit
2010 <ul>
2011 <li> INITIALLY_DEFERRED - see SQL92 for definition
2012 </li>
2013 <li> INITIALLY_IMMEDIATE - see SQL92 for definition
2014 </li>
2015 <li> NONE - see SQL92 for definition
2016 </li>
2017 </ul>
2018 </li>
2019 </ol>
2020 @param primaryCatalog
2021 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
2022 @param primarySchema
2023 a schema name; "" retrieves those without a schema
2024 @param primaryTable
2025 the table name that exports the key
2026 @param foreignCatalog
2027 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
2028 @param foreignSchema
2029 a schema name; "" retrieves those without a schema
2030 @param foreignTable
2031 the table name that imports the key
2032 @returns
2033 each row is a foreign key column description
2034 @throws SQLException
2035 if a database access error occurs.
2037 XResultSet getCrossReference(
2038 [in]any primaryCatalog, [in]string primarySchema,
2039 [in]string primaryTable,
2040 [in]any foreignCatalog, [in]string foreignSchema,
2041 [in]string foreignTable) raises (SQLException);
2043 /** gets a description of all the standard SQL types supported by
2044 this database. They are ordered by DATA_TYPE and then by how
2045 closely the data type maps to the corresponding SDBC SQL type.
2049 <p>Each type description has the following columns:
2050 </p>
2051 <ol>
2052 <li>
2053 <b>TYPE_NAME</b> string => Type name
2054 </li>
2055 <li>
2056 <b>DATA_TYPE</b> short => SQL data type from java.sql.Types
2057 </li>
2058 <li>
2059 <b>PRECISION</b> long => maximum precision
2060 </li>
2061 <li>
2062 <b>LITERAL_PREFIX</b> string => prefix used to quote a literal
2063 (may be `NULL`)
2064 </li>
2065 <li>
2066 <b>LITERAL_SUFFIX</b> string => suffix used to quote a literal
2067 (may be `NULL`)
2068 </li>
2069 <li>
2070 <b>CREATE_PARAMS</b> string => parameters used in creating
2071 the type (may be `NULL`)
2072 </li>
2073 <li>
2074 <b>NULLABLE</b> short => can you use NULL for this type?
2075 <ul>
2076 <li> NO_NULLS - does not allow NULL values
2077 </li>
2078 <li> NULLABLE - allows NULL values
2079 </li>
2080 <li> NULLABLE_UNKNOWN - nullability unknown
2081 </li>
2082 </ul>
2083 </li>
2084 <li>
2085 <b>CASE_SENSITIVE</b> boolean=> is it case sensitive?
2086 </li>
2087 <li>
2088 <b>SEARCHABLE</b> short => can you use "WHERE" based on this type:
2089 <ul>
2090 <li> NONE - No support
2091 </li>
2092 <li> CHAR - Only supported with WHERE .. LIKE
2093 </li>
2094 <li> BASIC - Supported except for WHERE .. LIKE
2095 </li>
2096 <li> FULL - Supported for all WHERE ..
2097 </li>
2098 </ul>
2099 </li>
2100 <li>
2101 <b>UNSIGNED_ATTRIBUTE</b> boolean => is it unsigned?
2102 </li>
2103 <li>
2104 <b>FIXED_PREC_SCALE</b> boolean => can it be a money value?
2105 </li>
2106 <li>
2107 <b>AUTO_INCREMENT</b> boolean => can it be used for an
2108 auto-increment value?
2109 </li>
2110 <li>
2111 <b>LOCAL_TYPE_NAME</b> string => localized version of type name
2112 (may be `NULL`)
2113 </li>
2114 <li>
2115 <b>MINIMUM_SCALE</b> short => minimum scale supported
2116 </li>
2117 <li>
2118 <b>MAXIMUM_SCALE</b> short => maximum scale supported
2119 </li>
2120 <li>
2121 <b>SQL_DATA_TYPE</b> long => unused
2122 </li>
2123 <li>
2124 <b>SQL_DATETIME_SUB</b> long => unused
2125 </li>
2126 <li>
2127 <b>NUM_PREC_RADIX</b> long => usually 2 or 10
2128 </li>
2129 </ol>
2130 @returns
2131 each row is a SQL type description
2132 @throws SQLException
2133 if a database access error occurs.
2135 XResultSet getTypeInfo() raises (SQLException);
2137 /** gets a description of a table's indices and statistics. They are
2138 ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION.
2141 <p>Each index column description has the following columns:
2142 </p>
2143 <ol>
2144 <li>
2145 <b>TABLE_CAT</b> string => table catalog (may be `NULL`)
2146 </li>
2147 <li>
2148 <b>TABLE_SCHEM</b> string => table schema (may be `NULL`)
2149 </li>
2150 <li>
2151 <b>TABLE_NAME</b> string => table name
2152 </li>
2153 <li>
2154 <b>NON_UNIQUE</b> boolean => Can index values be non-unique?
2155 `FALSE` when TYPE is tableIndexStatistic
2156 </li>
2157 <li>
2158 <b>INDEX_QUALIFIER</b> string => index catalog (may be `NULL`);
2159 `NULL` when TYPE is tableIndexStatistic
2160 </li>
2161 <li>
2162 <b>INDEX_NAME</b> string => index name; `NULL` when TYPE is
2163 tableIndexStatistic
2164 </li>
2165 <li>
2166 <b>TYPE</b> short => index type:
2167 <ul>
2168 <li> 0 - this identifies table statistics that are
2169 returned in conjunction with a table's index descriptions
2170 </li>
2171 <li> CLUSTERED - this is a clustered index
2172 </li>
2173 <li> HASHED - this is a hashed index
2174 </li>
2175 <li> OTHER - this is some other style of index
2176 </li>
2177 </ul>
2178 </li>
2179 <li>
2180 <b>ORDINAL_POSITION</b> short => column sequence number
2181 within index; zero when TYPE is tableIndexStatistic
2182 </li>
2183 <li>
2184 <b>COLUMN_NAME</b> string => column name; `NULL` when TYPE is
2185 tableIndexStatistic
2186 </li>
2187 <li>
2188 <b>ASC_OR_DESC</b> string => column sort sequence, "A" => ascending,
2189 "D" => descending, may be `NULL` if sort sequence is not supported;
2190 `NULL` when TYPE is tableIndexStatistic
2191 </li>
2192 <li>
2193 <b>CARDINALITY</b> long => When TYPE is tableIndexStatistic, then
2194 this is the number of rows in the table; otherwise, it is the
2195 number of unique values in the index.
2196 </li>
2197 <li>
2198 <b>PAGES</b> long => When TYPE is tableIndexStatistic then
2199 this is the number of pages used for the table, otherwise it
2200 is the number of pages used for the current index.
2201 </li>
2202 <li>
2203 <b>FILTER_CONDITION</b> string => Filter condition, if any.
2204 (may be `NULL`)
2205 </li>
2206 </ol>
2207 @param catalog
2208 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
2209 @param schema
2210 a schema name; "" retrieves those without a schema
2211 @param table
2212 the table name that exports the key
2213 @param unique
2214 when `TRUE`, return only indices for unique values; when `FALSE`, return indices regardless of whether unique or not
2215 @param approximate
2216 when `TRUE`, result is allowed to reflect approximate or out of data values; when `FALSE`, results are requested to be accurate
2217 @returns
2218 each row is an index column description
2219 @throws SQLException
2220 if a database access error occurs.
2222 XResultSet getIndexInfo([in]any catalog, [in]string schema, [in]string table,
2223 [in]boolean unique, [in]boolean approximate)
2224 raises (SQLException);
2226 /** Does the database support the given result set type?
2227 @param setType
2228 defined in
2229 com::sun::star::sdbc::ResultSetType
2230 @returns
2231 `TRUE` if so
2232 @throws SQLException
2233 if a database access error occurs.
2235 boolean supportsResultSetType([in]long setType) raises (SQLException);
2237 /** Does the database support the concurrency type in combination
2238 with the given result set type?
2239 @param setType
2240 defined in
2241 com::sun::star::sdbc::ResultSetType
2242 @param concurrency
2243 defined in
2244 com::sun::star::sdbc::ResultSetConcurrency
2245 @returns
2246 `TRUE` if so
2247 @throws SQLException
2248 if a database access error occurs.
2250 boolean supportsResultSetConcurrency([in]long setType,
2251 [in]long concurrency)
2252 raises (SQLException);
2254 /** indicates whether a result set's own updates are visible.
2255 @param setType
2256 defined in
2257 com::sun::star::sdbc::ResultSetType
2258 @returns
2259 `TRUE` if so
2260 @throws SQLException
2261 if a database access error occurs.
2263 boolean ownUpdatesAreVisible([in]long setType) raises (SQLException);
2265 /** indicates whether a result set's own deletes are visible.
2266 @param setType
2267 defined in
2268 com::sun::star::sdbc::ResultSetType
2269 @returns
2270 `TRUE` if so
2271 @throws SQLException
2272 if a database access error occurs.
2274 boolean ownDeletesAreVisible([in]long setType) raises (SQLException);
2276 /** indicates whether a result set's own inserts are visible.
2277 @param setType
2278 defined in
2279 com::sun::star::sdbc::ResultSetType
2280 @returns
2281 `TRUE` if so
2282 @throws SQLException
2283 if a database access error occurs.
2285 boolean ownInsertsAreVisible([in]long setType) raises (SQLException);
2287 /** indicates whether updates made by others are visible.
2288 @param setType
2289 defined in
2290 com::sun::star::sdbc::ResultSetType
2291 @returns
2292 `TRUE` if so
2293 @throws SQLException
2294 if a database access error occurs.
2296 boolean othersUpdatesAreVisible([in]long setType) raises (SQLException);
2298 /** indicates whether deletes made by others are visible.
2299 @param setType
2300 defined in
2301 com::sun::star::sdbc::ResultSetType
2302 @returns
2303 `TRUE` if so
2304 @throws SQLException
2305 if a database access error occurs.
2307 boolean othersDeletesAreVisible([in]long setType) raises (SQLException);
2309 /** indicates whether inserts made by others are visible.
2310 @param setType
2311 defined in
2312 com::sun::star::sdbc::ResultSetType
2313 @returns
2314 `TRUE` if so
2315 @throws SQLException
2316 if a database access error occurs.
2318 boolean othersInsertsAreVisible([in]long setType) raises (SQLException);
2320 /** indicates whether or not a visible row update can be detected by
2321 calling the method
2322 <code>XResultSet.rowUpdated</code>.
2323 @param setType
2324 defined in
2325 com::sun::star::sdbc::ResultSetType
2326 @returns
2327 `TRUE` if so
2328 @throws SQLException
2329 if a database access error occurs.
2331 boolean updatesAreDetected([in]long setType) raises (SQLException);
2333 /** indicates whether or not a visible row delete can be detected by
2334 calling com::sun::star::sdbc::XResultSet::rowDeleted().
2335 If deletesAreDetected()
2336 returns `FALSE`, then deleted rows are removed from the result set.
2337 @param setType
2338 defined in
2339 com::sun::star::sdbc::ResultSetType
2340 @returns
2341 `TRUE` if so
2342 @throws SQLException
2343 if a database access error occurs.
2345 boolean deletesAreDetected([in]long setType) raises (SQLException);
2347 /** indicates whether or not a visible row insert can be detected
2348 by calling
2349 com::sun::star::sdbc::XResultSet::rowInserted().()
2350 @param setType
2351 defined in
2352 com::sun::star::sdbc::ResultSetType
2353 @returns
2354 `TRUE` if so
2355 @throws SQLException
2356 if a database access error occurs.
2358 boolean insertsAreDetected([in]long setType) raises (SQLException);
2360 /** indicates whether the driver supports batch updates.
2361 @returns
2362 `TRUE` if so
2363 @throws SQLException
2364 if a database access error occurs.
2366 boolean supportsBatchUpdates() raises (SQLException);
2368 /** Gets a description of the user-defined types defined in a particular
2369 schema. Schema-specific UDTs may have type OBJECT, STRUCT,
2370 or DISTINCT.
2373 <p>Only types matching the catalog, schema, type name, and type
2374 criteria are returned. They are ordered by DATA_TYPE, TYPE_SCHEM,
2375 and TYPE_NAME. The type name parameter may be a fully-qualified
2376 name. In this case, the catalog and schemaPattern parameters are
2377 ignored.
2378 </p>
2379 <p>Each type description has the following columns:
2380 </p>
2381 <ol>
2382 <li>
2383 <b>TYPE_CAT</b> string => the type's catalog (may be `NULL`)
2384 </li>
2385 <li>
2386 <b>TYPE_SCHEM</b> string => type's schema (may be `NULL`)
2387 </li>
2388 <li>
2389 <b>TYPE_NAME</b> string => type name
2390 </li>
2391 <li>
2392 <b>CLASS_NAME</b> string => Java class name or service name
2393 </li>
2394 <li>
2395 <b>DATA_TYPE</b> string => type value.
2396 One of OBJECT, STRUCT, or DISTINCT
2397 </li>
2398 <li>
2399 <b>REMARKS</b> string => explanatory comment on the type
2400 </li>
2401 </ol>
2403 <b>Note:</b> If the driver does not support UDTs, an empty
2404 result set is returned.
2405 </p>
2406 @param catalog
2407 a catalog name; "" retrieves those without a catalog; `VOID` means drop catalog name from the selection criteria
2408 @param schemaPattern
2409 a schema name pattern; "" retrieves those without a schema
2410 @param typeNamePattern
2411 a type name pattern; may be a fully-qualified name
2412 @param types
2413 a list of user-named types to include (OBJECT, STRUCT, or DISTINCT)
2414 @returns
2415 each row is a type description
2416 @throws SQLException
2417 if a database access error occurs.
2419 XResultSet getUDTs([in]any catalog, [in]string schemaPattern,
2420 [in]string typeNamePattern, [in]sequence<long> types)
2421 raises (SQLException);
2423 /** retrieves the connection that produced this metadata object.
2424 @returns
2425 the Connection object
2426 @throws SQLException
2427 if a database access error occurs.
2429 XConnection getConnection() raises (SQLException);
2433 }; }; }; };
2435 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */