Mercurial > hg > monetdb-java
comparison src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java @ 194:1296dbcc4958
Resolved javadoc many errors and warnings, such as:
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/parser/HeaderLineParser.java:17: error: malformed HTML
[javadoc] * @author Fabian Groffen <Fabian.Groffen>
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/parser/HeaderLineParser.java:17: error: bad use of '>'
[javadoc] * @author Fabian Groffen <Fabian.Groffen>
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java:23: error: malformed HTML
[javadoc] * @author Fabian Groffen <Fabian.Groffen>
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/parser/StartOfHeaderParser.java:23: error: bad use of '>'
[javadoc] * @author Fabian Groffen <Fabian.Groffen>
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/parser/TupleLineParser.java:37: error: reference not found
[javadoc] * @throws ParseException if an error occurs during parsing
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/parser/TupleLineParser.java:16: error: malformed HTML
[javadoc] * @author Fabian Groffen <Fabian.Groffen>
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/parser/TupleLineParser.java:16: error: bad use of '>'
[javadoc] * @author Fabian Groffen <Fabian.Groffen>
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLReader.java:40: error: malformed HTML
[javadoc] * @author Fabian Groffen <Fabian.Groffen>
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLReader.java:40: error: bad use of '>'
[javadoc] * @author Fabian Groffen <Fabian.Groffen>
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLReader.java:84: warning: no @throws for java.io.UnsupportedEncodingException
[javadoc] public BufferedMCLReader(InputStream in, String enc)
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLWriter.java:35: error: malformed HTML
[javadoc] * @author Fabian Groffen <Fabian.Groffen>
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLWriter.java:35: error: bad use of '>'
[javadoc] * @author Fabian Groffen <Fabian.Groffen>
[javadoc] ^
[javadoc] /export/scratch1/dinther/javadev/monetdb-java/src/main/java/nl/cwi/monetdb/mcl/io/BufferedMCLWriter.java:59: warning: no @throws for java.io.UnsupportedEncodingException
[javadoc] public BufferedMCLWriter(OutputStream in, String enc)
[javadoc] ^
author | Martin van Dinther <martin.van.dinther@monetdbsolutions.com> |
---|---|
date | Thu, 26 Oct 2017 17:40:05 +0200 (2017-10-26) |
parents | 4767b005a531 |
children | 89c285fc0a49 c38d4eaf5479 |
comparison
equal
deleted
inserted
replaced
193:982534c83436 | 194:1296dbcc4958 |
---|---|
538 } | 538 } |
539 | 539 |
540 /** | 540 /** |
541 * Get all the "extra" characters that can be used in unquoted | 541 * Get all the "extra" characters that can be used in unquoted |
542 * identifier names (those beyond a-zA-Z0-9 and _) | 542 * identifier names (those beyond a-zA-Z0-9 and _) |
543 * MonetDB has no extra characters (verified it for chars: !@#$%^&*()~{}[]? | |
544 * | 543 * |
545 * @return a string containing the extra characters | 544 * @return a string containing the extra characters |
546 */ | 545 */ |
547 @Override | 546 @Override |
548 public String getExtraNameCharacters() { | 547 public String getExtraNameCharacters() { |
548 // MonetDB has no extra characters. Verified it for chars: !@#$%^&*()~{}[]? | |
549 return ""; | 549 return ""; |
550 } | 550 } |
551 | 551 |
552 /** | 552 /** |
553 * Is "ALTER TABLE" with an add column supported? | 553 * Is "ALTER TABLE" with an add column supported? |
1631 | 1631 |
1632 /** | 1632 /** |
1633 * Does a data definition statement within a transaction force | 1633 * Does a data definition statement within a transaction force |
1634 * the transaction to commit? I think this means something like: | 1634 * the transaction to commit? I think this means something like: |
1635 * | 1635 * |
1636 * <p><pre> | 1636 * <pre> |
1637 * CREATE TABLE T (A INT); | 1637 * CREATE TABLE T (A INT); |
1638 * INSERT INTO T (A) VALUES (2); | 1638 * INSERT INTO T (A) VALUES (2); |
1639 * BEGIN; | 1639 * BEGIN; |
1640 * UPDATE T SET A = A + 1; | 1640 * UPDATE T SET A = A + 1; |
1641 * CREATE TABLE X (A INT); | 1641 * CREATE TABLE X (A INT); |
1642 * SELECT A FROM T INTO X; | 1642 * SELECT A FROM T INTO X; |
1643 * COMMIT; | 1643 * COMMIT; |
1644 * </pre></p> | 1644 * </pre> |
1645 * | 1645 * |
1646 * does the CREATE TABLE call cause a commit? The answer is no. | 1646 * does the CREATE TABLE call cause a commit? The answer is no. |
1647 * | 1647 * |
1648 * @return true if so | 1648 * @return true if so |
1649 */ | 1649 */ |
1669 * name criteria are returned. They are ordered by PROCEDURE_SCHEM, | 1669 * name criteria are returned. They are ordered by PROCEDURE_SCHEM, |
1670 * PROCEDURE_NAME and SPECIFIC_NAME. | 1670 * PROCEDURE_NAME and SPECIFIC_NAME. |
1671 * | 1671 * |
1672 * <p>Each procedure description has the following columns: | 1672 * <p>Each procedure description has the following columns: |
1673 * <ol> | 1673 * <ol> |
1674 * <li><b>PROCEDURE_CAT</b> String => procedure catalog (may be null) | 1674 * <li><b>PROCEDURE_CAT</b> String => procedure catalog (may be null) |
1675 * <li><b>PROCEDURE_SCHEM</b> String => procedure schema (may be null) | 1675 * <li><b>PROCEDURE_SCHEM</b> String => procedure schema (may be null) |
1676 * <li><b>PROCEDURE_NAME</b> String => procedure name | 1676 * <li><b>PROCEDURE_NAME</b> String => procedure name |
1677 * <li><b>Field4</b> reserved (make it null) | 1677 * <li><b>Field4</b> reserved (make it null) |
1678 * <li><b>Field5</b> reserved (make it null) | 1678 * <li><b>Field5</b> reserved (make it null) |
1679 * <li><b>Field6</b> reserved (make it null) | 1679 * <li><b>Field6</b> reserved (make it null) |
1680 * <li><b>REMARKS</b> String => explanatory comment on the procedure | 1680 * <li><b>REMARKS</b> String => explanatory comment on the procedure |
1681 * <li><b>PROCEDURE_TYPE</b> short => kind of procedure | 1681 * <li><b>PROCEDURE_TYPE</b> short => kind of procedure |
1682 * <ul> | 1682 * <ul> |
1683 * <li> procedureResultUnknown - May return a result | 1683 * <li> procedureResultUnknown - May return a result |
1684 * <li> procedureNoResult - Does not return a result | 1684 * <li> procedureNoResult - Does not return a result |
1685 * <li> procedureReturnsResult - Returns a result | 1685 * <li> procedureReturnsResult - Returns a result |
1686 * </ul> | 1686 * </ul> |
1687 * <li><b>SPECIFIC_NAME</b> String => The name which uniquely identifies this procedure within its schema. | |
1687 * </ol> | 1688 * </ol> |
1688 * <li><b>SPECIFIC_NAME</b> String => The name which uniquely identifies this procedure within its schema. | |
1689 * | 1689 * |
1690 * @param catalog - a catalog name; must match the catalog name as it is stored in the database; | 1690 * @param catalog - a catalog name; must match the catalog name as it is stored in the database; |
1691 * "" retrieves those without a catalog; | 1691 * "" retrieves those without a catalog; |
1692 * null means that the catalog name should not be used to narrow the search | 1692 * null means that the catalog name should not be used to narrow the search |
1693 * @param schemaPattern - a schema name pattern; must match the schema name as it is stored in the database; | 1693 * @param schemaPattern - a schema name pattern; must match the schema name as it is stored in the database; |
1748 * column descriptions follow in column number order. | 1748 * column descriptions follow in column number order. |
1749 * | 1749 * |
1750 * <p>Each row in the ResultSet is a parameter description or column | 1750 * <p>Each row in the ResultSet is a parameter description or column |
1751 * description with the following fields: | 1751 * description with the following fields: |
1752 * <ol> | 1752 * <ol> |
1753 * <li><b>PROCEDURE_CAT</b> String => procedure catalog (may be null) | 1753 * <li><b>PROCEDURE_CAT</b> String => procedure catalog (may be null) |
1754 * <li><b>PROCEDURE_SCHEM</b> String => procedure schema (may be null) | 1754 * <li><b>PROCEDURE_SCHEM</b> String => procedure schema (may be null) |
1755 * <li><b>PROCEDURE_NAME</b> String => procedure name | 1755 * <li><b>PROCEDURE_NAME</b> String => procedure name |
1756 * <li><b>COLUMN_NAME</b> String => column/parameter name | 1756 * <li><b>COLUMN_NAME</b> String => column/parameter name |
1757 * <li><b>COLUMN_TYPE</b> Short => kind of column/parameter: | 1757 * <li><b>COLUMN_TYPE</b> Short => kind of column/parameter: |
1758 * <ul><li>procedureColumnUnknown - nobody knows | 1758 * <ul><li>procedureColumnUnknown - nobody knows |
1759 * <li>procedureColumnIn - IN parameter | 1759 * <li>procedureColumnIn - IN parameter |
1760 * <li>procedureColumnInOut - INOUT parameter | 1760 * <li>procedureColumnInOut - INOUT parameter |
1761 * <li>procedureColumnOut - OUT parameter | 1761 * <li>procedureColumnOut - OUT parameter |
1762 * <li>procedureColumnReturn - procedure return value | 1762 * <li>procedureColumnReturn - procedure return value |
1763 * <li>procedureColumnResult - result column in ResultSet | 1763 * <li>procedureColumnResult - result column in ResultSet |
1764 * </ul> | 1764 * </ul> |
1765 * <li><b>DATA_TYPE</b> int => SQL type from java.sql.Types | 1765 * <li><b>DATA_TYPE</b> int => SQL type from java.sql.Types |
1766 * <li><b>TYPE_NAME</b> String => SQL type name, for a UDT type the type name is fully qualified | 1766 * <li><b>TYPE_NAME</b> String => SQL type name, for a UDT type the type name is fully qualified |
1767 * <li><b>PRECISION</b> int => precision | 1767 * <li><b>PRECISION</b> int => precision |
1768 * <li><b>LENGTH</b> int => length in bytes of data | 1768 * <li><b>LENGTH</b> int => length in bytes of data |
1769 * <li><b>SCALE</b> short => scale - null is returned for data types where SCALE is not applicable. | 1769 * <li><b>SCALE</b> short => scale - null is returned for data types where SCALE is not applicable. |
1770 * <li><b>RADIX</b> short => radix | 1770 * <li><b>RADIX</b> short => radix |
1771 * <li><b>NULLABLE</b> short => can it contain NULL? | 1771 * <li><b>NULLABLE</b> short => can it contain NULL? |
1772 * <ul><li>procedureNoNulls - does not allow NULL values | 1772 * <ul><li>procedureNoNulls - does not allow NULL values |
1773 * <li>procedureNullable - allows NULL values | 1773 * <li>procedureNullable - allows NULL values |
1774 * <li>procedureNullableUnknown - nullability unknown | 1774 * <li>procedureNullableUnknown - nullability unknown |
1775 * </ul> | 1775 * </ul> |
1776 * <li><b>REMARKS</b> String => comment describing parameter/column | 1776 * <li><b>REMARKS</b> String => comment describing parameter/column |
1777 * <li><b>COLUMN_DEF</b> String => default value for the column, which should be interpreted as a string when the value is enclosed in single quotes (may be null) | 1777 * <li><b>COLUMN_DEF</b> String => default value for the column, which should be interpreted as a string when the value is enclosed in single quotes (may be null) |
1778 * The string NULL (not enclosed in quotes) - if NULL was specified as the default value | 1778 * The string NULL (not enclosed in quotes) - if NULL was specified as the default value |
1779 * TRUNCATE (not enclosed in quotes) - if the specified default value cannot be represented without truncation | 1779 * TRUNCATE (not enclosed in quotes) - if the specified default value cannot be represented without truncation |
1780 * NULL - if a default value was not specified | 1780 * NULL - if a default value was not specified |
1781 * <li><b>SQL_DATA_TYPE</b> int => reserved for future use | 1781 * <li><b>SQL_DATA_TYPE</b> int => reserved for future use |
1782 * <li><b>SQL_DATETIME_SUB</b> int => reserved for future use | 1782 * <li><b>SQL_DATETIME_SUB</b> int => reserved for future use |
1783 * <li><b>CHAR_OCTET_LENGTH</b> int => the maximum length of binary and character based columns. For any other datatype the returned value is a NULL | 1783 * <li><b>CHAR_OCTET_LENGTH</b> int => the maximum length of binary and character based columns. For any other datatype the returned value is a NULL |
1784 * <li><b>ORDINAL_POSITION</b> int => the ordinal position, starting from 1, for the input and output parameters for a procedure. | 1784 * <li><b>ORDINAL_POSITION</b> int => the ordinal position, starting from 1, for the input and output parameters for a procedure. |
1785 * A value of 0 is returned if this row describes the procedure's return value. For result set columns, it is the ordinal position of the | 1785 * A value of 0 is returned if this row describes the procedure's return value. For result set columns, it is the ordinal position of the |
1786 * column in the result set starting from 1. If there are multiple result sets, the column ordinal positions are implementation defined. | 1786 * column in the result set starting from 1. If there are multiple result sets, the column ordinal positions are implementation defined. |
1787 * <li><b>IS_NULLABLE</b> String => ISO rules are used to determine the nullability for a column. | 1787 * <li><b>IS_NULLABLE</b> String => ISO rules are used to determine the nullability for a column. |
1788 * <ul><li>YES --- if the parameter can include NULLs | 1788 * <ul><li>YES --- if the parameter can include NULLs |
1789 * <li>NO --- if the parameter cannot include NULLs | 1789 * <li>NO --- if the parameter cannot include NULLs |
1790 * <li>empty string --- if the nullability for the parameter is unknown | 1790 * <li>empty string --- if the nullability for the parameter is unknown |
1791 * </ul> | 1791 * </ul> |
1792 * <li><b>SPECIFIC_NAME</b> String => the name which uniquely identifies this procedure within its schema. | 1792 * <li><b>SPECIFIC_NAME</b> String => the name which uniquely identifies this procedure within its schema. |
1793 * </ol> | 1793 * </ol> |
1794 * @param catalog - a catalog name; must match the catalog name as it is stored in the database; | 1794 * @param catalog - a catalog name; must match the catalog name as it is stored in the database; |
1795 * "" retrieves those without a catalog; | 1795 * "" retrieves those without a catalog; |
1796 * null means that the catalog name should not be used to narrow the search | 1796 * null means that the catalog name should not be used to narrow the search |
1797 * @param schemaPattern - a schema name pattern; must match the schema name as it is stored in the database; | 1797 * @param schemaPattern - a schema name pattern; must match the schema name as it is stored in the database; |
1907 * They are ordered by TABLE_TYPE, TABLE_CAT, TABLE_SCHEM and TABLE_NAME. | 1907 * They are ordered by TABLE_TYPE, TABLE_CAT, TABLE_SCHEM and TABLE_NAME. |
1908 * | 1908 * |
1909 * <p>Each table description has the following columns: | 1909 * <p>Each table description has the following columns: |
1910 * | 1910 * |
1911 * <ol> | 1911 * <ol> |
1912 * <li><b>TABLE_CAT</b> String => table catalog (may be null) | 1912 * <li><b>TABLE_CAT</b> String => table catalog (may be null) |
1913 * <li><b>TABLE_SCHEM</b> String => table schema (may be null) | 1913 * <li><b>TABLE_SCHEM</b> String => table schema (may be null) |
1914 * <li><b>TABLE_NAME</b> String => table name | 1914 * <li><b>TABLE_NAME</b> String => table name |
1915 * <li><b>TABLE_TYPE</b> String => table type. Typical types are "TABLE", | 1915 * <li><b>TABLE_TYPE</b> String => table type. Typical types are "TABLE", |
1916 * "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM". | 1916 * "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM". |
1917 * <li><b>REMARKS</b> String => explanatory comment on the table | 1917 * <li><b>REMARKS</b> String => explanatory comment on the table |
1918 * <li><b>TYPE_CAT</b> String => the types catalog (may be null) | 1918 * <li><b>TYPE_CAT</b> String => the types catalog (may be null) |
1919 * <li><b>TYPE_SCHEM</b> String => the types schema (may be null) | 1919 * <li><b>TYPE_SCHEM</b> String => the types schema (may be null) |
1920 * <li><b>TYPE_NAME</b> String => type name (may be null) | 1920 * <li><b>TYPE_NAME</b> String => type name (may be null) |
1921 * <li><b>SELF_REFERENCING_COL_NAME</b> String => name of the designated "identifier" column of a typed table (may be null) | 1921 * <li><b>SELF_REFERENCING_COL_NAME</b> String => name of the designated "identifier" column of a typed table (may be null) |
1922 * <li><b>REF_GENERATION</b> String => specifies how values in SELF_REFERENCING_COL_NAME are created. Values are "SYSTEM", "USER", "DERIVED". (may be null) | 1922 * <li><b>REF_GENERATION</b> String => specifies how values in SELF_REFERENCING_COL_NAME are created. Values are "SYSTEM", "USER", "DERIVED". (may be null) |
1923 * </ol> | 1923 * </ol> |
1924 * | 1924 * |
1925 * @param catalog - a catalog name; must match the catalog name as it is stored in the database; | 1925 * @param catalog - a catalog name; must match the catalog name as it is stored in the database; |
1926 * "" retrieves those without a catalog; null means that the | 1926 * "" retrieves those without a catalog; null means that the |
1927 * catalog name should not be used to narrow the search | 1927 * catalog name should not be used to narrow the search |
2021 * Get the schema names available in this database. The results | 2021 * Get the schema names available in this database. The results |
2022 * are ordered by schema name. | 2022 * are ordered by schema name. |
2023 * | 2023 * |
2024 * <P>The schema column is: | 2024 * <P>The schema column is: |
2025 * <OL> | 2025 * <OL> |
2026 * <LI><B>TABLE_SCHEM</B> String => schema name | 2026 * <LI><B>TABLE_SCHEM</B> String => schema name |
2027 * <LI><B>TABLE_CATALOG</B> String => catalog name (may be null) | 2027 * <LI><B>TABLE_CATALOG</B> String => catalog name (may be null) |
2028 * </OL> | 2028 * </OL> |
2029 * | 2029 * |
2030 * @param catalog a catalog name; must match the catalog name as it | 2030 * @param catalog a catalog name; must match the catalog name as it |
2031 * is stored in the database;"" retrieves those without a | 2031 * is stored in the database;"" retrieves those without a |
2032 * catalog; null means catalog name should not be used to | 2032 * catalog; null means catalog name should not be used to |
2065 * Get the catalog names available in this database. The results | 2065 * Get the catalog names available in this database. The results |
2066 * are ordered by catalog name. | 2066 * are ordered by catalog name. |
2067 * | 2067 * |
2068 * <P>The catalog column is: | 2068 * <P>The catalog column is: |
2069 * <OL> | 2069 * <OL> |
2070 * <LI><B>TABLE_CAT</B> String => catalog name | 2070 * <LI><B>TABLE_CAT</B> String => catalog name |
2071 * </OL> | 2071 * </OL> |
2072 * | 2072 * |
2073 * | 2073 * |
2074 * @return ResultSet each row has a single String column that is a | 2074 * @return ResultSet each row has a single String column that is a |
2075 * catalog name | 2075 * catalog name |
2086 * Get the table types available in this database. The results | 2086 * Get the table types available in this database. The results |
2087 * are ordered by table type. | 2087 * are ordered by table type. |
2088 * | 2088 * |
2089 * <P>The table type is: | 2089 * <P>The table type is: |
2090 * <OL> | 2090 * <OL> |
2091 * <LI><B>TABLE_TYPE</B> String => table type. Typical types are "TABLE", | 2091 * <LI><B>TABLE_TYPE</B> String => table type. Typical types are "TABLE", |
2092 * "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", | 2092 * "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", |
2093 * "LOCAL TEMPORARY", "ALIAS", "SYNONYM". | 2093 * "LOCAL TEMPORARY", "ALIAS", "SYNONYM". |
2094 * </OL> | 2094 * </OL> |
2095 * | 2095 * |
2096 * @return ResultSet each row has a single String column that is a | 2096 * @return ResultSet each row has a single String column that is a |
2124 * and column name criteria are returned. They are ordered by | 2124 * and column name criteria are returned. They are ordered by |
2125 * TABLE_SCHEM, TABLE_NAME and ORDINAL_POSITION. | 2125 * TABLE_SCHEM, TABLE_NAME and ORDINAL_POSITION. |
2126 * | 2126 * |
2127 * <P>Each column description has the following columns: | 2127 * <P>Each column description has the following columns: |
2128 * <OL> | 2128 * <OL> |
2129 * <LI><B>TABLE_CAT</B> String => table catalog (may be null) | 2129 * <LI><B>TABLE_CAT</B> String => table catalog (may be null) |
2130 * <LI><B>TABLE_SCHEM</B> String => table schema (may be null) | 2130 * <LI><B>TABLE_SCHEM</B> String => table schema (may be null) |
2131 * <LI><B>TABLE_NAME</B> String => table name | 2131 * <LI><B>TABLE_NAME</B> String => table name |
2132 * <LI><B>COLUMN_NAME</B> String => column name | 2132 * <LI><B>COLUMN_NAME</B> String => column name |
2133 * <LI><B>DATA_TYPE</B> int => SQL type from java.sql.Types | 2133 * <LI><B>DATA_TYPE</B> int => SQL type from java.sql.Types |
2134 * <LI><B>TYPE_NAME</B> String => Data source dependent type name | 2134 * <LI><B>TYPE_NAME</B> String => Data source dependent type name |
2135 * <LI><B>COLUMN_SIZE</B> int => column size. For char or date | 2135 * <LI><B>COLUMN_SIZE</B> int => column size. For char or date |
2136 * types this is the maximum number of characters, for numeric or | 2136 * types this is the maximum number of characters, for numeric or |
2137 * decimal types this is precision. | 2137 * decimal types this is precision. |
2138 * <LI><B>BUFFER_LENGTH</B> is not used. | 2138 * <LI><B>BUFFER_LENGTH</B> is not used. |
2139 * <LI><B>DECIMAL_DIGITS</B> int => the number of fractional digits | 2139 * <LI><B>DECIMAL_DIGITS</B> int => the number of fractional digits |
2140 * <LI><B>NUM_PREC_RADIX</B> int => Radix (typically either 10 or 2) | 2140 * <LI><B>NUM_PREC_RADIX</B> int => Radix (typically either 10 or 2) |
2141 * <LI><B>NULLABLE</B> int => is NULL allowed? | 2141 * <LI><B>NULLABLE</B> int => is NULL allowed? |
2142 * <UL> | 2142 * <UL> |
2143 * <LI> columnNoNulls - might not allow NULL values | 2143 * <LI> columnNoNulls - might not allow NULL values |
2144 * <LI> columnNullable - definitely allows NULL values | 2144 * <LI> columnNullable - definitely allows NULL values |
2145 * <LI> columnNullableUnknown - nullability unknown | 2145 * <LI> columnNullableUnknown - nullability unknown |
2146 * </UL> | 2146 * </UL> |
2147 * <LI><B>REMARKS</B> String => comment describing column (may be null) | 2147 * <LI><B>REMARKS</B> String => comment describing column (may be null) |
2148 * <LI><B>COLUMN_DEF</B> String => default value (may be null) | 2148 * <LI><B>COLUMN_DEF</B> String => default value (may be null) |
2149 * <LI><B>SQL_DATA_TYPE</B> int => unused | 2149 * <LI><B>SQL_DATA_TYPE</B> int => unused |
2150 * <LI><B>SQL_DATETIME_SUB</B> int => unused | 2150 * <LI><B>SQL_DATETIME_SUB</B> int => unused |
2151 * <LI><B>CHAR_OCTET_LENGTH</B> int => for char types the | 2151 * <LI><B>CHAR_OCTET_LENGTH</B> int => for char types the |
2152 * maximum number of bytes in the column | 2152 * maximum number of bytes in the column |
2153 * <LI><B>ORDINAL_POSITION</B> int => index of column in table | 2153 * <LI><B>ORDINAL_POSITION</B> int => index of column in table |
2154 * (starting at 1) | 2154 * (starting at 1) |
2155 * <LI><B>IS_NULLABLE</B> String => "NO" means column definitely | 2155 * <LI><B>IS_NULLABLE</B> String => "NO" means column definitely |
2156 * does not allow NULL values; "YES" means the column might | 2156 * does not allow NULL values; "YES" means the column might |
2157 * allow NULL values. An empty string means nobody knows. | 2157 * allow NULL values. An empty string means nobody knows. |
2158 * <LI><B>SCOPE_CATALOG</B> String => catalog of table that is the scope of a reference attribute (null if DATA_TYPE isn't REF) | 2158 * <LI><B>SCOPE_CATALOG</B> String => catalog of table that is the scope of a reference attribute (null if DATA_TYPE isn't REF) |
2159 * <LI><B>SCOPE_SCHEMA</B> String => schema of table that is the scope of a reference attribute (null if the DATA_TYPE isn't REF) | 2159 * <LI><B>SCOPE_SCHEMA</B> String => schema of table that is the scope of a reference attribute (null if the DATA_TYPE isn't REF) |
2160 * <LI><B>SCOPE_TABLE</B> String => table name that this the scope of a reference attribute (null if the DATA_TYPE isn't REF) | 2160 * <LI><B>SCOPE_TABLE</B> String => table name that this the scope of a reference attribute (null if the DATA_TYPE isn't REF) |
2161 * <LI><B>SOURCE_DATA_TYPE</B> short => source type of a distinct type or user-generated Ref type, SQL type from java.sql.Types (null if DATA_TYPE isn't DISTINCT or user-generated REF) | 2161 * <LI><B>SOURCE_DATA_TYPE</B> short => source type of a distinct type or user-generated Ref type, SQL type from java.sql.Types (null if DATA_TYPE isn't DISTINCT or user-generated REF) |
2162 * <LI><B>IS_AUTOINCREMENT</B> String => Indicates whether this column is auto incremented | 2162 * <LI><B>IS_AUTOINCREMENT</B> String => Indicates whether this column is auto incremented |
2163 * <UL> | 2163 * <UL> |
2164 * <LI> YES --- if the column is auto incremented | 2164 * <LI> YES --- if the column is auto incremented |
2165 * <LI> NO --- if the column is not auto incremented | 2165 * <LI> NO --- if the column is not auto incremented |
2166 * <LI> empty string --- if it cannot be determined whether the column is auto incremented | 2166 * <LI> empty string --- if it cannot be determined whether the column is auto incremented |
2167 * </UL> | 2167 * </UL> |
2168 * <LI><B>IS_GENERATEDCOLUMN</B> String => Indicates whether this is a generated column | 2168 * <LI><B>IS_GENERATEDCOLUMN</B> String => Indicates whether this is a generated column |
2169 * <UL> | 2169 * <UL> |
2170 * <LI> YES --- if this a generated column | 2170 * <LI> YES --- if this a generated column |
2171 * <LI> NO --- if this not a generated column | 2171 * <LI> NO --- if this not a generated column |
2172 * <LI> empty string --- if it cannot be determined whether this is a generated column | 2172 * <LI> empty string --- if it cannot be determined whether this is a generated column |
2173 * </UL> | 2173 * </UL> |
2255 * <P>Only privileges matching the column name criteria are | 2255 * <P>Only privileges matching the column name criteria are |
2256 * returned. They are ordered by COLUMN_NAME and PRIVILEGE. | 2256 * returned. They are ordered by COLUMN_NAME and PRIVILEGE. |
2257 * | 2257 * |
2258 * <P>Each privilige description has the following columns: | 2258 * <P>Each privilige description has the following columns: |
2259 * <OL> | 2259 * <OL> |
2260 * <LI><B>TABLE_CAT</B> String => table catalog (may be null) | 2260 * <LI><B>TABLE_CAT</B> String => table catalog (may be null) |
2261 * <LI><B>TABLE_SCHEM</B> String => table schema (may be null) | 2261 * <LI><B>TABLE_SCHEM</B> String => table schema (may be null) |
2262 * <LI><B>TABLE_NAME</B> String => table name | 2262 * <LI><B>TABLE_NAME</B> String => table name |
2263 * <LI><B>COLUMN_NAME</B> String => column name | 2263 * <LI><B>COLUMN_NAME</B> String => column name |
2264 * <LI><B>GRANTOR</B> => grantor of access (may be null) | 2264 * <LI><B>GRANTOR</B> => grantor of access (may be null) |
2265 * <LI><B>GRANTEE</B> String => grantee of access | 2265 * <LI><B>GRANTEE</B> String => grantee of access |
2266 * <LI><B>PRIVILEGE</B> String => name of access (SELECT, | 2266 * <LI><B>PRIVILEGE</B> String => name of access (SELECT, |
2267 * INSERT, UPDATE, REFRENCES, ...) | 2267 * INSERT, UPDATE, REFRENCES, ...) |
2268 * <LI><B>IS_GRANTABLE</B> String => "YES" if grantee is permitted | 2268 * <LI><B>IS_GRANTABLE</B> String => "YES" if grantee is permitted |
2269 * to grant to others; "NO" if not; null if unknown | 2269 * to grant to others; "NO" if not; null if unknown |
2270 * </OL> | 2270 * </OL> |
2271 * | 2271 * |
2272 * @param catalog a catalog name; "" retrieves those without a catalog | 2272 * @param catalog a catalog name; "" retrieves those without a catalog |
2273 * @param schemaPattern a schema name; "" retrieves those without a schema | 2273 * @param schemaPattern a schema name; "" retrieves those without a schema |
2346 * criteria are returned. They are ordered by TABLE_SCHEM, | 2346 * criteria are returned. They are ordered by TABLE_SCHEM, |
2347 * TABLE_NAME, and PRIVILEGE. | 2347 * TABLE_NAME, and PRIVILEGE. |
2348 * | 2348 * |
2349 * <P>Each privilege description has the following columns: | 2349 * <P>Each privilege description has the following columns: |
2350 * <OL> | 2350 * <OL> |
2351 * <LI><B>TABLE_CAT</B> String => table catalog (may be null) | 2351 * <LI><B>TABLE_CAT</B> String => table catalog (may be null) |
2352 * <LI><B>TABLE_SCHEM</B> String => table schema (may be null) | 2352 * <LI><B>TABLE_SCHEM</B> String => table schema (may be null) |
2353 * <LI><B>TABLE_NAME</B> String => table name | 2353 * <LI><B>TABLE_NAME</B> String => table name |
2354 * <LI><B>GRANTOR</B> => grantor of access (may be null) | 2354 * <LI><B>GRANTOR</B> => grantor of access (may be null) |
2355 * <LI><B>GRANTEE</B> String => grantee of access | 2355 * <LI><B>GRANTEE</B> String => grantee of access |
2356 * <LI><B>PRIVILEGE</B> String => name of access (SELECT, | 2356 * <LI><B>PRIVILEGE</B> String => name of access (SELECT, |
2357 * INSERT, UPDATE, REFRENCES, ...) | 2357 * INSERT, UPDATE, REFRENCES, ...) |
2358 * <LI><B>IS_GRANTABLE</B> String => "YES" if grantee is permitted | 2358 * <LI><B>IS_GRANTABLE</B> String => "YES" if grantee is permitted |
2359 * to grant to others; "NO" if not; null if unknown | 2359 * to grant to others; "NO" if not; null if unknown |
2360 * </OL> | 2360 * </OL> |
2361 * | 2361 * |
2362 * @param catalog a catalog name; "" retrieves those without a catalog | 2362 * @param catalog a catalog name; "" retrieves those without a catalog |
2363 * @param schemaPattern a schema name pattern; "" retrieves those without a schema | 2363 * @param schemaPattern a schema name pattern; "" retrieves those without a schema |
2424 * Get a description of a table's optimal set of columns that | 2424 * Get a description of a table's optimal set of columns that |
2425 * uniquely identifies a row. They are ordered by SCOPE. | 2425 * uniquely identifies a row. They are ordered by SCOPE. |
2426 * | 2426 * |
2427 * <P>Each column description has the following columns: | 2427 * <P>Each column description has the following columns: |
2428 * <OL> | 2428 * <OL> |
2429 * <LI><B>SCOPE</B> short => actual scope of result | 2429 * <LI><B>SCOPE</B> short => actual scope of result |
2430 * <UL> | 2430 * <UL> |
2431 * <LI> bestRowTemporary - very temporary, while using row | 2431 * <LI> bestRowTemporary - very temporary, while using row |
2432 * <LI> bestRowTransaction - valid for remainder of current transaction | 2432 * <LI> bestRowTransaction - valid for remainder of current transaction |
2433 * <LI> bestRowSession - valid for remainder of current session | 2433 * <LI> bestRowSession - valid for remainder of current session |
2434 * </UL> | 2434 * </UL> |
2435 * <LI><B>COLUMN_NAME</B> String => column name | 2435 * <LI><B>COLUMN_NAME</B> String => column name |
2436 * <LI><B>DATA_TYPE</B> int => SQL data type from java.sql.Types | 2436 * <LI><B>DATA_TYPE</B> int => SQL data type from java.sql.Types |
2437 * <LI><B>TYPE_NAME</B> String => Data source dependent type name | 2437 * <LI><B>TYPE_NAME</B> String => Data source dependent type name |
2438 * <LI><B>COLUMN_SIZE</B> int => precision | 2438 * <LI><B>COLUMN_SIZE</B> int => precision |
2439 * <LI><B>BUFFER_LENGTH</B> int => not used | 2439 * <LI><B>BUFFER_LENGTH</B> int => not used |
2440 * <LI><B>DECIMAL_DIGITS</B> short => scale | 2440 * <LI><B>DECIMAL_DIGITS</B> short => scale |
2441 * <LI><B>PSEUDO_COLUMN</B> short => is this a pseudo column | 2441 * <LI><B>PSEUDO_COLUMN</B> short => is this a pseudo column |
2442 * like an Oracle ROWID | 2442 * like an Oracle ROWID |
2443 * <UL> | 2443 * <UL> |
2444 * <LI> bestRowUnknown - may or may not be pseudo column | 2444 * <LI> bestRowUnknown - may or may not be pseudo column |
2445 * <LI> bestRowNotPseudo - is NOT a pseudo column | 2445 * <LI> bestRowNotPseudo - is NOT a pseudo column |
2446 * <LI> bestRowPseudo - is a pseudo column | 2446 * <LI> bestRowPseudo - is a pseudo column |
2512 * Get a description of a table's columns that are automatically | 2512 * Get a description of a table's columns that are automatically |
2513 * updated when any value in a row is updated. They are unordered. | 2513 * updated when any value in a row is updated. They are unordered. |
2514 * | 2514 * |
2515 * <P>Each column description has the following columns: | 2515 * <P>Each column description has the following columns: |
2516 * <OL> | 2516 * <OL> |
2517 * <LI><B>SCOPE</B> short => is not used | 2517 * <LI><B>SCOPE</B> short => is not used |
2518 * <LI><B>COLUMN_NAME</B> String => column name | 2518 * <LI><B>COLUMN_NAME</B> String => column name |
2519 * <LI><B>DATA_TYPE</B> int => SQL data type from java.sql.Types | 2519 * <LI><B>DATA_TYPE</B> int => SQL data type from java.sql.Types |
2520 * <LI><B>TYPE_NAME</B> String => Data source dependent type name | 2520 * <LI><B>TYPE_NAME</B> String => Data source dependent type name |
2521 * <LI><B>COLUMN_SIZE</B> int => precision | 2521 * <LI><B>COLUMN_SIZE</B> int => precision |
2522 * <LI><B>BUFFER_LENGTH</B> int => length of column value in bytes | 2522 * <LI><B>BUFFER_LENGTH</B> int => length of column value in bytes |
2523 * <LI><B>DECIMAL_DIGITS</B> short => scale | 2523 * <LI><B>DECIMAL_DIGITS</B> short => scale |
2524 * <LI><B>PSEUDO_COLUMN</B> short => is this a pseudo column like an Oracle ROWID | 2524 * <LI><B>PSEUDO_COLUMN</B> short => is this a pseudo column like an Oracle ROWID |
2525 * <UL> | 2525 * <UL> |
2526 * <LI> versionColumnUnknown - may or may not be pseudo column | 2526 * <LI> versionColumnUnknown - may or may not be pseudo column |
2527 * <LI> versionColumnNotPseudo - is NOT a pseudo column | 2527 * <LI> versionColumnNotPseudo - is NOT a pseudo column |
2528 * <LI> versionColumnPseudo - is a pseudo column | 2528 * <LI> versionColumnPseudo - is a pseudo column |
2529 * </UL> | 2529 * </UL> |
2561 * Get a description of a table's primary key columns. They | 2561 * Get a description of a table's primary key columns. They |
2562 * are ordered by COLUMN_NAME. | 2562 * are ordered by COLUMN_NAME. |
2563 * | 2563 * |
2564 * <P>Each column description has the following columns: | 2564 * <P>Each column description has the following columns: |
2565 * <OL> | 2565 * <OL> |
2566 * <LI><B>TABLE_CAT</B> String => table catalog (may be null) | 2566 * <LI><B>TABLE_CAT</B> String => table catalog (may be null) |
2567 * <LI><B>TABLE_SCHEM</B> String => table schema (may be null) | 2567 * <LI><B>TABLE_SCHEM</B> String => table schema (may be null) |
2568 * <LI><B>TABLE_NAME</B> String => table name | 2568 * <LI><B>TABLE_NAME</B> String => table name |
2569 * <LI><B>COLUMN_NAME</B> String => column name | 2569 * <LI><B>COLUMN_NAME</B> String => column name |
2570 * <LI><B>KEY_SEQ</B> short => sequence number within primary key | 2570 * <LI><B>KEY_SEQ</B> short => sequence number within primary key |
2571 * <LI><B>PK_NAME</B> String => primary key name (may be null) | 2571 * <LI><B>PK_NAME</B> String => primary key name (may be null) |
2572 * </OL> | 2572 * </OL> |
2573 * | 2573 * |
2574 * @param catalog a catalog name; "" retrieves those without a catalog | 2574 * @param catalog a catalog name; "" retrieves those without a catalog |
2575 * @param schema a schema name pattern; "" retrieves those | 2575 * @param schema a schema name pattern; "" retrieves those |
2576 * without a schema | 2576 * without a schema |
2658 * imported by a table). They are ordered by PKTABLE_CAT, | 2658 * imported by a table). They are ordered by PKTABLE_CAT, |
2659 * PKTABLE_SCHEM, PKTABLE_NAME, and KEY_SEQ. | 2659 * PKTABLE_SCHEM, PKTABLE_NAME, and KEY_SEQ. |
2660 * | 2660 * |
2661 * <P>Each primary key column description has the following columns: | 2661 * <P>Each primary key column description has the following columns: |
2662 * <OL> | 2662 * <OL> |
2663 * <LI><B>PKTABLE_CAT</B> String => primary key table catalog | 2663 * <LI><B>PKTABLE_CAT</B> String => primary key table catalog |
2664 * being imported (may be null) | 2664 * being imported (may be null) |
2665 * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema | 2665 * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema |
2666 * being imported (may be null) | 2666 * being imported (may be null) |
2667 * <LI><B>PKTABLE_NAME</B> String => primary key table name | 2667 * <LI><B>PKTABLE_NAME</B> String => primary key table name |
2668 * being imported | 2668 * being imported |
2669 * <LI><B>PKCOLUMN_NAME</B> String => primary key column name | 2669 * <LI><B>PKCOLUMN_NAME</B> String => primary key column name |
2670 * being imported | 2670 * being imported |
2671 * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be null) | 2671 * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be null) |
2672 * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be null) | 2672 * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be null) |
2673 * <LI><B>FKTABLE_NAME</B> String => foreign key table name | 2673 * <LI><B>FKTABLE_NAME</B> String => foreign key table name |
2674 * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name | 2674 * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name |
2675 * <LI><B>KEY_SEQ</B> short => sequence number within foreign key | 2675 * <LI><B>KEY_SEQ</B> short => sequence number within foreign key |
2676 * (a value of 1 represents the first column of the foreign key, a value of 2 would represent the second column within the foreign key). | 2676 * (a value of 1 represents the first column of the foreign key, a value of 2 would represent the second column within the foreign key). |
2677 * <LI><B>UPDATE_RULE</B> short => What happens to | 2677 * <LI><B>UPDATE_RULE</B> short => What happens to |
2678 * foreign key when primary is updated: | 2678 * foreign key when primary is updated: |
2679 * <UL> | 2679 * <UL> |
2680 * <LI> importedKeyNoAction - do not allow update of primary key if it has been imported | 2680 * <LI> importedKeyNoAction - do not allow update of primary key if it has been imported |
2681 * <LI> importedKeyCascade - change imported key to agree | 2681 * <LI> importedKeyCascade - change imported key to agree |
2682 * with primary key update | 2682 * with primary key update |
2683 * <LI> importedKeyRestrict - do not allow update of primary | 2683 * <LI> importedKeyRestrict - do not allow update of primary |
2684 * key if it has been imported | 2684 * key if it has been imported |
2685 * <LI> importedKeySetNull - change imported key to NULL if | 2685 * <LI> importedKeySetNull - change imported key to NULL if |
2686 * its primary key has been updated | 2686 * its primary key has been updated |
2687 * </UL> | 2687 * </UL> |
2688 * <LI><B>DELETE_RULE</B> short => What happens to | 2688 * <LI><B>DELETE_RULE</B> short => What happens to |
2689 * the foreign key when primary is deleted. | 2689 * the foreign key when primary is deleted. |
2690 * <UL> | 2690 * <UL> |
2691 * <LI> importedKeyNoAction - do not allow delete of primary key if it has been imported | 2691 * <LI> importedKeyNoAction - do not allow delete of primary key if it has been imported |
2692 * <LI> importedKeyCascade - delete rows that import a deleted key | 2692 * <LI> importedKeyCascade - delete rows that import a deleted key |
2693 * <LI> importedKeyRestrict - do not allow delete of primary | 2693 * <LI> importedKeyRestrict - do not allow delete of primary |
2694 * key if it has been imported | 2694 * key if it has been imported |
2695 * <LI> importedKeySetNull - change imported key to NULL if | 2695 * <LI> importedKeySetNull - change imported key to NULL if |
2696 * its primary key has been deleted | 2696 * its primary key has been deleted |
2697 * </UL> | 2697 * </UL> |
2698 * <LI><B>FK_NAME</B> String => foreign key name (may be null) | 2698 * <LI><B>FK_NAME</B> String => foreign key name (may be null) |
2699 * <LI><B>PK_NAME</B> String => primary key name (may be null) | 2699 * <LI><B>PK_NAME</B> String => primary key name (may be null) |
2700 * <LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key constraints be deferred until commit | 2700 * <LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key constraints be deferred until commit |
2701 * <UL> | 2701 * <UL> |
2702 * <LI> importedKeyInitiallyDeferred - see SQL92 for definition | 2702 * <LI> importedKeyInitiallyDeferred - see SQL92 for definition |
2703 * <LI> importedKeyInitiallyImmediate - see SQL92 for definition | 2703 * <LI> importedKeyInitiallyImmediate - see SQL92 for definition |
2704 * <LI> importedKeyNotDeferrable - see SQL92 for definition | 2704 * <LI> importedKeyNotDeferrable - see SQL92 for definition |
2705 * </UL> | 2705 * </UL> |
2741 * table's primary key columns (the foreign keys exported by a table). | 2741 * table's primary key columns (the foreign keys exported by a table). |
2742 * They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ. | 2742 * They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ. |
2743 * | 2743 * |
2744 * <P>Each foreign key column description has the following columns: | 2744 * <P>Each foreign key column description has the following columns: |
2745 * <OL> | 2745 * <OL> |
2746 * <LI><B>PKTABLE_CAT</B> String => primary key table catalog (may be null) | 2746 * <LI><B>PKTABLE_CAT</B> String => primary key table catalog (may be null) |
2747 * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema (may be null) | 2747 * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema (may be null) |
2748 * <LI><B>PKTABLE_NAME</B> String => primary key table name | 2748 * <LI><B>PKTABLE_NAME</B> String => primary key table name |
2749 * <LI><B>PKCOLUMN_NAME</B> String => primary key column name | 2749 * <LI><B>PKCOLUMN_NAME</B> String => primary key column name |
2750 * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be null) | 2750 * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be null) |
2751 * being exported (may be null) | 2751 * being exported (may be null) |
2752 * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be null) | 2752 * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be null) |
2753 * being exported (may be null) | 2753 * being exported (may be null) |
2754 * <LI><B>FKTABLE_NAME</B> String => foreign key table name | 2754 * <LI><B>FKTABLE_NAME</B> String => foreign key table name |
2755 * being exported | 2755 * being exported |
2756 * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name | 2756 * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name |
2757 * being exported | 2757 * being exported |
2758 * <LI><B>KEY_SEQ</B> short => sequence number within foreign key | 2758 * <LI><B>KEY_SEQ</B> short => sequence number within foreign key |
2759 * (a value of 1 represents the first column of the foreign key, a value of 2 would represent the second column within the foreign key). | 2759 * (a value of 1 represents the first column of the foreign key, a value of 2 would represent the second column within the foreign key). |
2760 * <LI><B>UPDATE_RULE</B> short => What happens to | 2760 * <LI><B>UPDATE_RULE</B> short => What happens to |
2761 * foreign key when primary is updated: | 2761 * foreign key when primary is updated: |
2762 * <UL> | 2762 * <UL> |
2763 * <LI> importedKeyNoAction - do not allow update of primary key if it has been imported | 2763 * <LI> importedKeyNoAction - do not allow update of primary key if it has been imported |
2764 * <LI> importedKeyCascade - change imported key to agree | 2764 * <LI> importedKeyCascade - change imported key to agree |
2765 * with primary key update | 2765 * with primary key update |
2766 * <LI> importedKeyRestrict - do not allow update of primary | 2766 * <LI> importedKeyRestrict - do not allow update of primary |
2767 * key if it has been imported | 2767 * key if it has been imported |
2768 * <LI> importedKeySetNull - change imported key to NULL if | 2768 * <LI> importedKeySetNull - change imported key to NULL if |
2769 * its primary key has been updated | 2769 * its primary key has been updated |
2770 * </UL> | 2770 * </UL> |
2771 * <LI><B>DELETE_RULE</B> short => What happens to | 2771 * <LI><B>DELETE_RULE</B> short => What happens to |
2772 * the foreign key when primary is deleted. | 2772 * the foreign key when primary is deleted. |
2773 * <UL> | 2773 * <UL> |
2774 * <LI> importedKeyNoAction - do not allow delete of primary key if it has been imported | 2774 * <LI> importedKeyNoAction - do not allow delete of primary key if it has been imported |
2775 * <LI> importedKeyCascade - delete rows that import a deleted key | 2775 * <LI> importedKeyCascade - delete rows that import a deleted key |
2776 * <LI> importedKeyRestrict - do not allow delete of primary | 2776 * <LI> importedKeyRestrict - do not allow delete of primary |
2777 * key if it has been imported | 2777 * key if it has been imported |
2778 * <LI> importedKeySetNull - change imported key to NULL if | 2778 * <LI> importedKeySetNull - change imported key to NULL if |
2779 * its primary key has been deleted | 2779 * its primary key has been deleted |
2780 * </UL> | 2780 * </UL> |
2781 * <LI><B>FK_NAME</B> String => foreign key identifier (may be null) | 2781 * <LI><B>FK_NAME</B> String => foreign key identifier (may be null) |
2782 * <LI><B>PK_NAME</B> String => primary key identifier (may be null) | 2782 * <LI><B>PK_NAME</B> String => primary key identifier (may be null) |
2783 * <LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key constraints be deferred until commit | 2783 * <LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key constraints be deferred until commit |
2784 * <UL> | 2784 * <UL> |
2785 * <LI> importedKeyInitiallyDeferred - see SQL92 for definition | 2785 * <LI> importedKeyInitiallyDeferred - see SQL92 for definition |
2786 * <LI> importedKeyInitiallyImmediate - see SQL92 for definition | 2786 * <LI> importedKeyInitiallyImmediate - see SQL92 for definition |
2787 * <LI> importedKeyNotDeferrable - see SQL92 for definition | 2787 * <LI> importedKeyNotDeferrable - see SQL92 for definition |
2788 * </UL> | 2788 * </UL> |
2827 * (most tables only import a foreign key from a table once.) | 2827 * (most tables only import a foreign key from a table once.) |
2828 * They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ. | 2828 * They are ordered by FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME, and KEY_SEQ. |
2829 * | 2829 * |
2830 * <P>Each foreign key column description has the following columns: | 2830 * <P>Each foreign key column description has the following columns: |
2831 * <OL> | 2831 * <OL> |
2832 * <LI><B>PKTABLE_CAT</B> String => primary key table catalog (may be null) | 2832 * <LI><B>PKTABLE_CAT</B> String => primary key table catalog (may be null) |
2833 * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema (may be null) | 2833 * <LI><B>PKTABLE_SCHEM</B> String => primary key table schema (may be null) |
2834 * <LI><B>PKTABLE_NAME</B> String => primary key table name | 2834 * <LI><B>PKTABLE_NAME</B> String => primary key table name |
2835 * <LI><B>PKCOLUMN_NAME</B> String => primary key column name | 2835 * <LI><B>PKCOLUMN_NAME</B> String => primary key column name |
2836 * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be null) | 2836 * <LI><B>FKTABLE_CAT</B> String => foreign key table catalog (may be null) |
2837 * being exported (may be null) | 2837 * being exported (may be null) |
2838 * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be null) | 2838 * <LI><B>FKTABLE_SCHEM</B> String => foreign key table schema (may be null) |
2839 * being exported (may be null) | 2839 * being exported (may be null) |
2840 * <LI><B>FKTABLE_NAME</B> String => foreign key table name | 2840 * <LI><B>FKTABLE_NAME</B> String => foreign key table name |
2841 * being exported | 2841 * being exported |
2842 * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name | 2842 * <LI><B>FKCOLUMN_NAME</B> String => foreign key column name |
2843 * being exported | 2843 * being exported |
2844 * <LI><B>KEY_SEQ</B> short => sequence number within foreign key | 2844 * <LI><B>KEY_SEQ</B> short => sequence number within foreign key |
2845 * (a value of 1 represents the first column of the foreign key, a value of 2 would represent the second column within the foreign key). | 2845 * (a value of 1 represents the first column of the foreign key, a value of 2 would represent the second column within the foreign key). |
2846 * <LI><B>UPDATE_RULE</B> short => What happens to | 2846 * <LI><B>UPDATE_RULE</B> short => What happens to |
2847 * foreign key when primary is updated: | 2847 * foreign key when primary is updated: |
2848 * <UL> | 2848 * <UL> |
2849 * <LI> importedKeyNoAction - do not allow update of primary key if it has been imported | 2849 * <LI> importedKeyNoAction - do not allow update of primary key if it has been imported |
2850 * <LI> importedKeyCascade - change imported key to agree | 2850 * <LI> importedKeyCascade - change imported key to agree |
2851 * with primary key update | 2851 * with primary key update |
2852 * <LI> importedKeyRestrict - do not allow update of primary | 2852 * <LI> importedKeyRestrict - do not allow update of primary |
2853 * key if it has been imported | 2853 * key if it has been imported |
2854 * <LI> importedKeySetNull - change imported key to NULL if | 2854 * <LI> importedKeySetNull - change imported key to NULL if |
2855 * its primary key has been updated | 2855 * its primary key has been updated |
2856 * </UL> | 2856 * </UL> |
2857 * <LI><B>DELETE_RULE</B> short => What happens to | 2857 * <LI><B>DELETE_RULE</B> short => What happens to |
2858 * the foreign key when primary is deleted. | 2858 * the foreign key when primary is deleted. |
2859 * <UL> | 2859 * <UL> |
2860 * <LI> importedKeyNoAction - do not allow delete of primary key if it has been imported | 2860 * <LI> importedKeyNoAction - do not allow delete of primary key if it has been imported |
2861 * <LI> importedKeyCascade - delete rows that import a deleted key | 2861 * <LI> importedKeyCascade - delete rows that import a deleted key |
2862 * <LI> importedKeyRestrict - do not allow delete of primary | 2862 * <LI> importedKeyRestrict - do not allow delete of primary |
2863 * key if it has been imported | 2863 * key if it has been imported |
2864 * <LI> importedKeySetNull - change imported key to NULL if | 2864 * <LI> importedKeySetNull - change imported key to NULL if |
2865 * its primary key has been deleted | 2865 * its primary key has been deleted |
2866 * </UL> | 2866 * </UL> |
2867 * <LI><B>FK_NAME</B> String => foreign key identifier (may be null) | 2867 * <LI><B>FK_NAME</B> String => foreign key identifier (may be null) |
2868 * <LI><B>PK_NAME</B> String => primary key identifier (may be null) | 2868 * <LI><B>PK_NAME</B> String => primary key identifier (may be null) |
2869 * <LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key constraints be deferred until commit | 2869 * <LI><B>DEFERRABILITY</B> short => can the evaluation of foreign key constraints be deferred until commit |
2870 * <UL> | 2870 * <UL> |
2871 * <LI> importedKeyInitiallyDeferred - see SQL92 for definition | 2871 * <LI> importedKeyInitiallyDeferred - see SQL92 for definition |
2872 * <LI> importedKeyInitiallyImmediate - see SQL92 for definition | 2872 * <LI> importedKeyInitiallyImmediate - see SQL92 for definition |
2873 * <LI> importedKeyNotDeferrable - see SQL92 for definition | 2873 * <LI> importedKeyNotDeferrable - see SQL92 for definition |
2874 * </UL> | 2874 * </UL> |
2938 * If SQL distinct or structured types are supported, then information on | 2938 * If SQL distinct or structured types are supported, then information on |
2939 * the individual types may be obtained from the getUDTs() method. | 2939 * the individual types may be obtained from the getUDTs() method. |
2940 * | 2940 * |
2941 * <P>Each type description has the following columns: | 2941 * <P>Each type description has the following columns: |
2942 * <OL> | 2942 * <OL> |
2943 * <LI><B>TYPE_NAME</B> String => Type name | 2943 * <LI><B>TYPE_NAME</B> String => Type name |
2944 * <LI><B>DATA_TYPE</B> int => SQL data type from java.sql.Types | 2944 * <LI><B>DATA_TYPE</B> int => SQL data type from java.sql.Types |
2945 * <LI><B>PRECISION</B> int => maximum precision | 2945 * <LI><B>PRECISION</B> int => maximum precision |
2946 * <LI><B>LITERAL_PREFIX</B> String => prefix used to quote a literal (may be null) | 2946 * <LI><B>LITERAL_PREFIX</B> String => prefix used to quote a literal (may be null) |
2947 * <LI><B>LITERAL_SUFFIX</B> String => suffix used to quote a literal (may be null) | 2947 * <LI><B>LITERAL_SUFFIX</B> String => suffix used to quote a literal (may be null) |
2948 * <LI><B>CREATE_PARAMS</B> String => parameters used in creating | 2948 * <LI><B>CREATE_PARAMS</B> String => parameters used in creating |
2949 * the type (may be null) | 2949 * the type (may be null) |
2950 * <LI><B>NULLABLE</B> short => can you use NULL for this type? | 2950 * <LI><B>NULLABLE</B> short => can you use NULL for this type? |
2951 * <UL> | 2951 * <UL> |
2952 * <LI> typeNoNulls - does not allow NULL values | 2952 * <LI> typeNoNulls - does not allow NULL values |
2953 * <LI> typeNullable - allows NULL values | 2953 * <LI> typeNullable - allows NULL values |
2954 * <LI> typeNullableUnknown - nullability unknown | 2954 * <LI> typeNullableUnknown - nullability unknown |
2955 * </UL> | 2955 * </UL> |
2956 * <LI><B>CASE_SENSITIVE</B> boolean=> is it case sensitive? | 2956 * <LI><B>CASE_SENSITIVE</B> boolean=> is it case sensitive? |
2957 * <LI><B>SEARCHABLE</B> short => can you use "WHERE" based on this type: | 2957 * <LI><B>SEARCHABLE</B> short => can you use "WHERE" based on this type: |
2958 * <UL> | 2958 * <UL> |
2959 * <LI> typePredNone - No support | 2959 * <LI> typePredNone - No support |
2960 * <LI> typePredChar - Only supported with WHERE .. LIKE | 2960 * <LI> typePredChar - Only supported with WHERE .. LIKE |
2961 * <LI> typePredBasic - Supported except for WHERE .. LIKE | 2961 * <LI> typePredBasic - Supported except for WHERE .. LIKE |
2962 * <LI> typeSearchable - Supported for all WHERE .. | 2962 * <LI> typeSearchable - Supported for all WHERE .. |
2963 * </UL> | 2963 * </UL> |
2964 * <LI><B>UNSIGNED_ATTRIBUTE</B> boolean => is it unsigned? | 2964 * <LI><B>UNSIGNED_ATTRIBUTE</B> boolean => is it unsigned? |
2965 * <LI><B>FIXED_PREC_SCALE</B> boolean => can it be a money value? | 2965 * <LI><B>FIXED_PREC_SCALE</B> boolean => can it be a money value? |
2966 * <LI><B>AUTO_INCREMENT</B> boolean => can it be used for an | 2966 * <LI><B>AUTO_INCREMENT</B> boolean => can it be used for an |
2967 * auto-increment value? | 2967 * auto-increment value? |
2968 * <LI><B>LOCAL_TYPE_NAME</B> String => localized version of type name | 2968 * <LI><B>LOCAL_TYPE_NAME</B> String => localized version of type name |
2969 * (may be null) | 2969 * (may be null) |
2970 * <LI><B>MINIMUM_SCALE</B> short => minimum scale supported | 2970 * <LI><B>MINIMUM_SCALE</B> short => minimum scale supported |
2971 * <LI><B>MAXIMUM_SCALE</B> short => maximum scale supported | 2971 * <LI><B>MAXIMUM_SCALE</B> short => maximum scale supported |
2972 * <LI><B>SQL_DATA_TYPE</B> int => unused | 2972 * <LI><B>SQL_DATA_TYPE</B> int => unused |
2973 * <LI><B>SQL_DATETIME_SUB</B> int => unused | 2973 * <LI><B>SQL_DATETIME_SUB</B> int => unused |
2974 * <LI><B>NUM_PREC_RADIX</B> int => usually 2 or 10 | 2974 * <LI><B>NUM_PREC_RADIX</B> int => usually 2 or 10 |
2975 * </OL> | 2975 * </OL> |
2976 * | 2976 * |
2977 * @return ResultSet each row is a SQL type description | 2977 * @return ResultSet each row is a SQL type description |
2978 * @throws Exception if the developer made a Boo-Boo | 2978 * @throws SQLException if a database error occurs |
2979 */ | 2979 */ |
2980 @Override | 2980 @Override |
2981 public ResultSet getTypeInfo() throws SQLException { | 2981 public ResultSet getTypeInfo() throws SQLException { |
2982 StringBuilder query = new StringBuilder(2300); | 2982 StringBuilder query = new StringBuilder(2300); |
2983 query.append("SELECT \"sqlname\" AS \"TYPE_NAME\", " + | 2983 query.append("SELECT \"sqlname\" AS \"TYPE_NAME\", " + |
3018 * Retrieves a description of the given table's indices and statistics. | 3018 * Retrieves a description of the given table's indices and statistics. |
3019 * They are ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION. | 3019 * They are ordered by NON_UNIQUE, TYPE, INDEX_NAME, and ORDINAL_POSITION. |
3020 * | 3020 * |
3021 * <P>Each index column description has the following columns: | 3021 * <P>Each index column description has the following columns: |
3022 * <OL> | 3022 * <OL> |
3023 * <LI><B>TABLE_CAT</B> String => table catalog (may be null) | 3023 * <LI><B>TABLE_CAT</B> String => table catalog (may be null) |
3024 * <LI><B>TABLE_SCHEM</B> String => table schema (may be null) | 3024 * <LI><B>TABLE_SCHEM</B> String => table schema (may be null) |
3025 * <LI><B>TABLE_NAME</B> String => table name | 3025 * <LI><B>TABLE_NAME</B> String => table name |
3026 * <LI><B>NON_UNIQUE</B> boolean => Can index values be non-unique? | 3026 * <LI><B>NON_UNIQUE</B> boolean => Can index values be non-unique? |
3027 * false when TYPE is tableIndexStatistic | 3027 * false when TYPE is tableIndexStatistic |
3028 * <LI><B>INDEX_QUALIFIER</B> String => index catalog (may be null); | 3028 * <LI><B>INDEX_QUALIFIER</B> String => index catalog (may be null); |
3029 * null when TYPE is tableIndexStatistic | 3029 * null when TYPE is tableIndexStatistic |
3030 * <LI><B>INDEX_NAME</B> String => index name; null when TYPE is | 3030 * <LI><B>INDEX_NAME</B> String => index name; null when TYPE is |
3031 * tableIndexStatistic | 3031 * tableIndexStatistic |
3032 * <LI><B>TYPE</B> short => index type: | 3032 * <LI><B>TYPE</B> short => index type: |
3033 * <UL> | 3033 * <UL> |
3034 * <LI> tableIndexStatistic - this identifies table statistics that are | 3034 * <LI> tableIndexStatistic - this identifies table statistics that are |
3035 * returned in conjuction with a table's index descriptions | 3035 * returned in conjuction with a table's index descriptions |
3036 * <LI> tableIndexClustered - this is a clustered index | 3036 * <LI> tableIndexClustered - this is a clustered index |
3037 * <LI> tableIndexHashed - this is a hashed index | 3037 * <LI> tableIndexHashed - this is a hashed index |
3038 * <LI> tableIndexOther - this is some other style of index | 3038 * <LI> tableIndexOther - this is some other style of index |
3039 * </UL> | 3039 * </UL> |
3040 * <LI><B>ORDINAL_POSITION</B> short => column sequence number | 3040 * <LI><B>ORDINAL_POSITION</B> short => column sequence number |
3041 * within index; zero when TYPE is tableIndexStatistic | 3041 * within index; zero when TYPE is tableIndexStatistic |
3042 * <LI><B>COLUMN_NAME</B> String => column name; null when TYPE is | 3042 * <LI><B>COLUMN_NAME</B> String => column name; null when TYPE is |
3043 * tableIndexStatistic | 3043 * tableIndexStatistic |
3044 * <LI><B>ASC_OR_DESC</B> String => column sort sequence, "A" => ascending | 3044 * <LI><B>ASC_OR_DESC</B> String => column sort sequence, "A" => ascending |
3045 * "D" => descending, may be null if sort sequence is not supported; | 3045 * "D" => descending, may be null if sort sequence is not supported; |
3046 * null when TYPE is tableIndexStatistic | 3046 * null when TYPE is tableIndexStatistic |
3047 * <LI><B>CARDINALITY</B> int => When TYPE is tableIndexStatisic then | 3047 * <LI><B>CARDINALITY</B> int => When TYPE is tableIndexStatisic then |
3048 * this is the number of rows in the table; otherwise it is the | 3048 * this is the number of rows in the table; otherwise it is the |
3049 * number of unique values in the index. | 3049 * number of unique values in the index. |
3050 * <LI><B>PAGES</B> int => When TYPE is tableIndexStatisic then | 3050 * <LI><B>PAGES</B> int => When TYPE is tableIndexStatisic then |
3051 * this is the number of pages used for the table, otherwise it | 3051 * this is the number of pages used for the table, otherwise it |
3052 * is the number of pages used for the current index. | 3052 * is the number of pages used for the current index. |
3053 * <LI><B>FILTER_CONDITION</B> String => Filter condition, if any. | 3053 * <LI><B>FILTER_CONDITION</B> String => Filter condition, if any. |
3054 * (may be null) | 3054 * (may be null) |
3055 * </OL> | 3055 * </OL> |
3056 * | 3056 * |
3057 * @param catalog a catalog name; "" retrieves those without a catalog | 3057 * @param catalog a catalog name; "" retrieves those without a catalog |
3058 * @param schema a schema name pattern; "" retrieves those without a schema | 3058 * @param schema a schema name pattern; "" retrieves those without a schema |
3246 * They are ordered by DATA_TYPE, TYPE_CAT, TYPE_SCHEM and TYPE_NAME. | 3246 * They are ordered by DATA_TYPE, TYPE_CAT, TYPE_SCHEM and TYPE_NAME. |
3247 * The type name parameter may be a fully-qualified name. In this case, the catalog and schemaPattern parameters are ignored. | 3247 * The type name parameter may be a fully-qualified name. In this case, the catalog and schemaPattern parameters are ignored. |
3248 * | 3248 * |
3249 * Each type description has the following columns: | 3249 * Each type description has the following columns: |
3250 * | 3250 * |
3251 * 1 TYPE_CAT String => the type's catalog (may be null) | 3251 * 1 TYPE_CAT String => the type's catalog (may be null) |
3252 * 2 TYPE_SCHEM String => type's schema (may be null) | 3252 * 2 TYPE_SCHEM String => type's schema (may be null) |
3253 * 3 TYPE_NAME String => type name | 3253 * 3 TYPE_NAME String => type name |
3254 * 4 CLASS_NAME String => Java class name | 3254 * 4 CLASS_NAME String => Java class name |
3255 * 5 DATA_TYPE int => type value defined in java.sql.Types. One of JAVA_OBJECT, STRUCT, or DISTINCT | 3255 * 5 DATA_TYPE int => type value defined in java.sql.Types. One of JAVA_OBJECT, STRUCT, or DISTINCT |
3256 * 6 REMARKS String => explanatory comment on the type | 3256 * 6 REMARKS String => explanatory comment on the type |
3257 * 7 BASE_TYPE short => type code of the source type of a DISTINCT type or the type that implements the | 3257 * 7 BASE_TYPE short => type code of the source type of a DISTINCT type or the type that implements the |
3258 * user-generated reference type of the SELF_REFERENCING_COLUMN of a structured type as defined | 3258 * user-generated reference type of the SELF_REFERENCING_COLUMN of a structured type as defined |
3259 * in java.sql.Types (null if DATA_TYPE is not DISTINCT or not STRUCT with REFERENCE_GENERATION = USER_DEFINED) | 3259 * in java.sql.Types (null if DATA_TYPE is not DISTINCT or not STRUCT with REFERENCE_GENERATION = USER_DEFINED) |
3260 * | 3260 * |
3261 * @throws SQLException | 3261 * @throws SQLException - if a database access error occurs |
3262 */ | 3262 */ |
3263 @Override | 3263 @Override |
3264 public ResultSet getUDTs( | 3264 public ResultSet getUDTs( |
3265 String catalog, | 3265 String catalog, |
3266 String schemaPattern, | 3266 String schemaPattern, |
3401 * If a UDT does not have a direct super type, it is not listed here. | 3401 * If a UDT does not have a direct super type, it is not listed here. |
3402 * A row of the <code>ResultSet</code> object returned by this method | 3402 * A row of the <code>ResultSet</code> object returned by this method |
3403 * describes the designated UDT and a direct supertype. A row has the following | 3403 * describes the designated UDT and a direct supertype. A row has the following |
3404 * columns: | 3404 * columns: |
3405 * <OL> | 3405 * <OL> |
3406 * <LI><B>TYPE_CAT</B> String => the UDT's catalog (may be <code>null</code>) | 3406 * <LI><B>TYPE_CAT</B> String => the UDT's catalog (may be <code>null</code>) |
3407 * <LI><B>TYPE_SCHEM</B> String => UDT's schema (may be <code>null</code>) | 3407 * <LI><B>TYPE_SCHEM</B> String => UDT's schema (may be <code>null</code>) |
3408 * <LI><B>TYPE_NAME</B> String => type name of the UDT | 3408 * <LI><B>TYPE_NAME</B> String => type name of the UDT |
3409 * <LI><B>SUPERTYPE_CAT</B> String => the direct super type's catalog | 3409 * <LI><B>SUPERTYPE_CAT</B> String => the direct super type's catalog |
3410 * (may be <code>null</code>) | 3410 * (may be <code>null</code>) |
3411 * <LI><B>SUPERTYPE_SCHEM</B> String => the direct super type's schema | 3411 * <LI><B>SUPERTYPE_SCHEM</B> String => the direct super type's schema |
3412 * (may be <code>null</code>) | 3412 * (may be <code>null</code>) |
3413 * <LI><B>SUPERTYPE_NAME</B> String => the direct super type's name | 3413 * <LI><B>SUPERTYPE_NAME</B> String => the direct super type's name |
3414 * </OL> | 3414 * </OL> |
3415 * | 3415 * |
3416 * <P><B>Note:</B> If the driver does not support type hierarchies, an | 3416 * <P><B>Note:</B> If the driver does not support type hierarchies, an |
3417 * empty result set is returned. | 3417 * empty result set is returned. |
3418 * | 3418 * |
3453 * sub tables. Therefore, the type description does not need to include | 3453 * sub tables. Therefore, the type description does not need to include |
3454 * this information for the supertable. | 3454 * this information for the supertable. |
3455 * | 3455 * |
3456 * <P>Each type description has the following columns: | 3456 * <P>Each type description has the following columns: |
3457 * <OL> | 3457 * <OL> |
3458 * <LI><B>TABLE_CAT</B> String => the type's catalog (may be <code>null</code>) | 3458 * <LI><B>TABLE_CAT</B> String => the type's catalog (may be <code>null</code>) |
3459 * <LI><B>TABLE_SCHEM</B> String => type's schema (may be <code>null</code>) | 3459 * <LI><B>TABLE_SCHEM</B> String => type's schema (may be <code>null</code>) |
3460 * <LI><B>TABLE_NAME</B> String => type name | 3460 * <LI><B>TABLE_NAME</B> String => type name |
3461 * <LI><B>SUPERTABLE_NAME</B> String => the direct super type's name | 3461 * <LI><B>SUPERTABLE_NAME</B> String => the direct super type's name |
3462 * </OL> | 3462 * </OL> |
3463 * | 3463 * |
3464 * <P><B>Note:</B> If the driver does not support type hierarchies, an | 3464 * <P><B>Note:</B> If the driver does not support type hierarchies, an |
3465 * empty result set is returned. | 3465 * empty result set is returned. |
3466 * | 3466 * |
3499 * does not contain inherited attributes. | 3499 * does not contain inherited attributes. |
3500 * <P> | 3500 * <P> |
3501 * The <code>ResultSet</code> object that is returned has the following | 3501 * The <code>ResultSet</code> object that is returned has the following |
3502 * columns: | 3502 * columns: |
3503 * <OL> | 3503 * <OL> |
3504 * <LI><B>TYPE_CAT</B> String => type catalog (may be <code>null</code>) | 3504 * <LI><B>TYPE_CAT</B> String => type catalog (may be <code>null</code>) |
3505 * <LI><B>TYPE_SCHEM</B> String => type schema (may be <code>null</code>) | 3505 * <LI><B>TYPE_SCHEM</B> String => type schema (may be <code>null</code>) |
3506 * <LI><B>TYPE_NAME</B> String => type name | 3506 * <LI><B>TYPE_NAME</B> String => type name |
3507 * <LI><B>ATTR_NAME</B> String => attribute name | 3507 * <LI><B>ATTR_NAME</B> String => attribute name |
3508 * <LI><B>DATA_TYPE</B> int => attribute type SQL type from java.sql.Types | 3508 * <LI><B>DATA_TYPE</B> int => attribute type SQL type from java.sql.Types |
3509 * <LI><B>ATTR_TYPE_NAME</B> String => Data source dependent type name. | 3509 * <LI><B>ATTR_TYPE_NAME</B> String => Data source dependent type name. |
3510 * For a UDT, the type name is fully qualified. For a REF, the type name is | 3510 * For a UDT, the type name is fully qualified. For a REF, the type name is |
3511 * fully qualified and represents the target type of the reference type. | 3511 * fully qualified and represents the target type of the reference type. |
3512 * <LI><B>ATTR_SIZE</B> int => column size. For char or date | 3512 * <LI><B>ATTR_SIZE</B> int => column size. For char or date |
3513 * types this is the maximum number of characters; for numeric or | 3513 * types this is the maximum number of characters; for numeric or |
3514 * decimal types this is precision. | 3514 * decimal types this is precision. |
3515 * <LI><B>DECIMAL_DIGITS</B> int => the number of fractional digits | 3515 * <LI><B>DECIMAL_DIGITS</B> int => the number of fractional digits |
3516 * <LI><B>NUM_PREC_RADIX</B> int => Radix (typically either 10 or 2) | 3516 * <LI><B>NUM_PREC_RADIX</B> int => Radix (typically either 10 or 2) |
3517 * <LI><B>NULLABLE</B> int => whether NULL is allowed | 3517 * <LI><B>NULLABLE</B> int => whether NULL is allowed |
3518 * <UL> | 3518 * <UL> |
3519 * <LI> attributeNoNulls - might not allow NULL values | 3519 * <LI> attributeNoNulls - might not allow NULL values |
3520 * <LI> attributeNullable - definitely allows NULL values | 3520 * <LI> attributeNullable - definitely allows NULL values |
3521 * <LI> attributeNullableUnknown - nullability unknown | 3521 * <LI> attributeNullableUnknown - nullability unknown |
3522 * </UL> | 3522 * </UL> |
3523 * <LI><B>REMARKS</B> String => comment describing column (may be <code>null</code>) | 3523 * <LI><B>REMARKS</B> String => comment describing column (may be <code>null</code>) |
3524 * <LI><B>ATTR_DEF</B> String => default value (may be <code>null</code>) | 3524 * <LI><B>ATTR_DEF</B> String => default value (may be <code>null</code>) |
3525 * <LI><B>SQL_DATA_TYPE</B> int => unused | 3525 * <LI><B>SQL_DATA_TYPE</B> int => unused |
3526 * <LI><B>SQL_DATETIME_SUB</B> int => unused | 3526 * <LI><B>SQL_DATETIME_SUB</B> int => unused |
3527 * <LI><B>CHAR_OCTET_LENGTH</B> int => for char types the | 3527 * <LI><B>CHAR_OCTET_LENGTH</B> int => for char types the |
3528 * maximum number of bytes in the column | 3528 * maximum number of bytes in the column |
3529 * <LI><B>ORDINAL_POSITION</B> int => index of column in table | 3529 * <LI><B>ORDINAL_POSITION</B> int => index of column in table |
3530 * (starting at 1) | 3530 * (starting at 1) |
3531 * <LI><B>IS_NULLABLE</B> String => "NO" means column definitely | 3531 * <LI><B>IS_NULLABLE</B> String => "NO" means column definitely |
3532 * does not allow NULL values; "YES" means the column might | 3532 * does not allow NULL values; "YES" means the column might |
3533 * allow NULL values. An empty string means unknown. | 3533 * allow NULL values. An empty string means unknown. |
3534 * <LI><B>SCOPE_CATALOG</B> String => catalog of table that is the | 3534 * <LI><B>SCOPE_CATALOG</B> String => catalog of table that is the |
3535 * scope of a reference attribute (<code>null</code> if DATA_TYPE isn't REF) | 3535 * scope of a reference attribute (<code>null</code> if DATA_TYPE isn't REF) |
3536 * <LI><B>SCOPE_SCHEMA</B> String => schema of table that is the | 3536 * <LI><B>SCOPE_SCHEMA</B> String => schema of table that is the |
3537 * scope of a reference attribute (<code>null</code> if DATA_TYPE isn't REF) | 3537 * scope of a reference attribute (<code>null</code> if DATA_TYPE isn't REF) |
3538 * <LI><B>SCOPE_TABLE</B> String => table name that is the scope of a | 3538 * <LI><B>SCOPE_TABLE</B> String => table name that is the scope of a |
3539 * reference attribute (<code>null</code> if the DATA_TYPE isn't REF) | 3539 * reference attribute (<code>null</code> if the DATA_TYPE isn't REF) |
3540 * <LI><B>SOURCE_DATA_TYPE</B> short => source type of a distinct type or user-generated | 3540 * <LI><B>SOURCE_DATA_TYPE</B> short => source type of a distinct type or user-generated |
3541 * Ref type,SQL type from java.sql.Types (<code>null</code> if DATA_TYPE | 3541 * Ref type,SQL type from java.sql.Types (<code>null</code> if DATA_TYPE |
3542 * isn't DISTINCT or user-generated REF) | 3542 * isn't DISTINCT or user-generated REF) |
3543 * </OL> | 3543 * </OL> |
3544 * @param catalog a catalog name; must match the catalog name as it | 3544 * @param catalog a catalog name; must match the catalog name as it |
3545 * is stored in the database; "" retrieves those without a catalog; | 3545 * is stored in the database; "" retrieves those without a catalog; |
3732 * Get the schema names available in this database. The results | 3732 * Get the schema names available in this database. The results |
3733 * are ordered by schema name. | 3733 * are ordered by schema name. |
3734 * | 3734 * |
3735 * <P>The schema column is: | 3735 * <P>The schema column is: |
3736 * <OL> | 3736 * <OL> |
3737 * <LI><B>TABLE_SCHEM</B> String => schema name | 3737 * <LI><B>TABLE_SCHEM</B> String => schema name |
3738 * <LI><B>TABLE_CATALOG</B> String => catalog name (may be null) | 3738 * <LI><B>TABLE_CATALOG</B> String => catalog name (may be null) |
3739 * </OL> | 3739 * </OL> |
3740 * | 3740 * |
3741 * @return ResultSet each row has a single String column that is a | 3741 * @return ResultSet each row has a single String column that is a |
3742 * schema name | 3742 * schema name |
3743 * @throws SQLException if a database error occurs | 3743 * @throws SQLException if a database error occurs |
3779 | 3779 |
3780 /** | 3780 /** |
3781 * Retrieves a list of the client info properties that the driver | 3781 * Retrieves a list of the client info properties that the driver |
3782 * supports. The result set contains the following columns | 3782 * supports. The result set contains the following columns |
3783 * | 3783 * |
3784 * 1. NAME String=> The name of the client info property | 3784 * 1. NAME String => The name of the client info property |
3785 * 2. MAX_LEN int=> The maximum length of the value for the | 3785 * 2. MAX_LEN int => The maximum length of the value for the |
3786 * property | 3786 * property |
3787 * 3. DEFAULT_VALUE String=> The default value of the | 3787 * 3. DEFAULT_VALUE String => The default value of the |
3788 * property | 3788 * property |
3789 * 4. DESCRIPTION String=> A description of the | 3789 * 4. DESCRIPTION String => A description of the |
3790 * property. This will typically contain information as | 3790 * property. This will typically contain information as |
3791 * to where this property is stored in the database. | 3791 * to where this property is stored in the database. |
3792 * | 3792 * |
3793 * The ResultSet is sorted by the NAME column | 3793 * The ResultSet is sorted by the NAME column |
3794 * | 3794 * |
3825 * and function name criteria are returned. They are ordered by | 3825 * and function name criteria are returned. They are ordered by |
3826 * FUNCTION_CAT, FUNCTION_SCHEM, FUNCTION_NAME and SPECIFIC_ NAME. | 3826 * FUNCTION_CAT, FUNCTION_SCHEM, FUNCTION_NAME and SPECIFIC_ NAME. |
3827 * | 3827 * |
3828 * Each function description has the the following columns: | 3828 * Each function description has the the following columns: |
3829 * | 3829 * |
3830 * 1. FUNCTION_CAT String => function catalog (may be null) | 3830 * 1. FUNCTION_CAT String => function catalog (may be null) |
3831 * 2. FUNCTION_SCHEM String => function schema (may be null) | 3831 * 2. FUNCTION_SCHEM String => function schema (may be null) |
3832 * 3. FUNCTION_NAME String => function name. This is the | 3832 * 3. FUNCTION_NAME String => function name. This is the |
3833 * name used to invoke the function | 3833 * name used to invoke the function |
3834 * 4. REMARKS String => explanatory comment on the function | 3834 * 4. REMARKS String => explanatory comment on the function |
3835 * 5. FUNCTION_TYPE short => kind of function: | 3835 * 5. FUNCTION_TYPE short => kind of function: |
3836 * * functionResultUnknown - Cannot determine if a return | 3836 * * functionResultUnknown - Cannot determine if a return |
3837 * value or table will be returned | 3837 * value or table will be returned |
3838 * * functionNoTable- Does not return a table | 3838 * * functionNoTable- Does not return a table |
3839 * * functionReturnsTable - Returns a table | 3839 * * functionReturnsTable - Returns a table |
3840 * 6. SPECIFIC_NAME String => the name which uniquely identifies | 3840 * 6. SPECIFIC_NAME String => the name which uniquely identifies |
3841 * this function within its schema. This is a user specified, | 3841 * this function within its schema. This is a user specified, |
3842 * or DBMS generated, name that may be different then the | 3842 * or DBMS generated, name that may be different then the |
3843 * FUNCTION_NAME for example with overload functions | 3843 * FUNCTION_NAME for example with overload functions |
3844 * | 3844 * |
3845 * A user may not have permission to execute any of the functions | 3845 * A user may not have permission to execute any of the functions |
3908 * Only descriptions matching the schema, function and parameter name criteria are returned. | 3908 * Only descriptions matching the schema, function and parameter name criteria are returned. |
3909 * They are ordered by FUNCTION_CAT, FUNCTION_SCHEM, FUNCTION_NAME and SPECIFIC_ NAME. | 3909 * They are ordered by FUNCTION_CAT, FUNCTION_SCHEM, FUNCTION_NAME and SPECIFIC_ NAME. |
3910 * Within this, the return value, if any, is first. Next are the parameter descriptions in call order. | 3910 * Within this, the return value, if any, is first. Next are the parameter descriptions in call order. |
3911 * The column descriptions follow in column number order. | 3911 * The column descriptions follow in column number order. |
3912 * | 3912 * |
3913 * 1. FUNCTION_CAT String => function catalog (may be null) | 3913 * 1. FUNCTION_CAT String => function catalog (may be null) |
3914 * 2. FUNCTION_SCHEM String => function schema (may be null) | 3914 * 2. FUNCTION_SCHEM String => function schema (may be null) |
3915 * 3. FUNCTION_NAME String => function name. This is the name used to invoke the function | 3915 * 3. FUNCTION_NAME String => function name. This is the name used to invoke the function |
3916 * 4. COLUMN_NAME String => column/parameter name | 3916 * 4. COLUMN_NAME String => column/parameter name |
3917 * 5. COLUMN_TYPE Short => kind of column/parameter: | 3917 * 5. COLUMN_TYPE Short => kind of column/parameter: |
3918 * functionColumnUnknown - nobody knows | 3918 * functionColumnUnknown - nobody knows |
3919 * functionColumnIn - IN parameter | 3919 * functionColumnIn - IN parameter |
3920 * functionColumnInOut - INOUT parameter | 3920 * functionColumnInOut - INOUT parameter |
3921 * functionColumnOut - OUT parameter | 3921 * functionColumnOut - OUT parameter |
3922 * functionColumnReturn - function return value | 3922 * functionColumnReturn - function return value |
3923 * functionColumnResult - Indicates that the parameter or column is a column in the ResultSet | 3923 * functionColumnResult - Indicates that the parameter or column is a column in the ResultSet |
3924 * 6. DATA_TYPE int => SQL type from java.sql.Types | 3924 * 6. DATA_TYPE int => SQL type from java.sql.Types |
3925 * 7. TYPE_NAME String => SQL type name, for a UDT type the type name is fully qualified | 3925 * 7. TYPE_NAME String => SQL type name, for a UDT type the type name is fully qualified |
3926 * 8. PRECISION int => precision | 3926 * 8. PRECISION int => precision |
3927 * 9. LENGTH int => length in bytes of data | 3927 * 9. LENGTH int => length in bytes of data |
3928 * 10. SCALE short => scale - null is returned for data types where SCALE is not applicable. | 3928 * 10. SCALE short => scale - null is returned for data types where SCALE is not applicable. |
3929 * 11. RADIX short => radix | 3929 * 11. RADIX short => radix |
3930 * 12. NULLABLE short => can it contain NULL. | 3930 * 12. NULLABLE short => can it contain NULL. |
3931 * functionNoNulls - does not allow NULL values | 3931 * functionNoNulls - does not allow NULL values |
3932 * functionNullable - allows NULL values | 3932 * functionNullable - allows NULL values |
3933 * functionNullableUnknown - nullability unknown | 3933 * functionNullableUnknown - nullability unknown |
3934 * 13. REMARKS String => comment describing column/parameter | 3934 * 13. REMARKS String => comment describing column/parameter |
3935 * 14. CHAR_OCTET_LENGTH int => the maximum length of binary and character based parameters or columns. For any other datatype the returned value is a NULL | 3935 * 14. CHAR_OCTET_LENGTH int => the maximum length of binary and character based parameters or columns. For any other datatype the returned value is a NULL |
3936 * 15. ORDINAL_POSITION int => the ordinal position, starting from 1, for the input and output parameters. | 3936 * 15. ORDINAL_POSITION int => the ordinal position, starting from 1, for the input and output parameters. |
3937 * A value of 0 is returned if this row describes the function's return value. For result set columns, it is the ordinal position of the column in the result set starting from 1. | 3937 * A value of 0 is returned if this row describes the function's return value. For result set columns, it is the ordinal position of the column in the result set starting from 1. |
3938 * 16. IS_NULLABLE String => ISO rules are used to determine the nullability for a parameter or column. | 3938 * 16. IS_NULLABLE String => ISO rules are used to determine the nullability for a parameter or column. |
3939 * YES --- if the parameter or column can include NULLs | 3939 * YES --- if the parameter or column can include NULLs |
3940 * NO --- if the parameter or column cannot include NULLs | 3940 * NO --- if the parameter or column cannot include NULLs |
3941 * empty string --- if the nullability for the parameter or column is unknown | 3941 * empty string --- if the nullability for the parameter or column is unknown |
3942 * 17. SPECIFIC_NAME String => the name which uniquely identifies this function within its schema. | 3942 * 17. SPECIFIC_NAME String => the name which uniquely identifies this function within its schema. |
3943 * This is a user specified, or DBMS generated, name that may be different then the FUNCTION_NAME for example with overload functions | 3943 * This is a user specified, or DBMS generated, name that may be different then the FUNCTION_NAME for example with overload functions |
3944 * | 3944 * |
3945 * @param catalog a catalog name; must match the catalog name as | 3945 * @param catalog a catalog name; must match the catalog name as |
3946 * it is stored in the database; "" retrieves those without a | 3946 * it is stored in the database; "" retrieves those without a |
3947 * catalog; null means that the catalog name should not be | 3947 * catalog; null means that the catalog name should not be |
4032 * Only column descriptions matching the catalog, schema, table and column name criteria are returned. | 4032 * Only column descriptions matching the catalog, schema, table and column name criteria are returned. |
4033 * They are ordered by TABLE_CAT,TABLE_SCHEM, TABLE_NAME and COLUMN_NAME. | 4033 * They are ordered by TABLE_CAT,TABLE_SCHEM, TABLE_NAME and COLUMN_NAME. |
4034 * | 4034 * |
4035 * Each column description has the following columns: | 4035 * Each column description has the following columns: |
4036 * | 4036 * |
4037 * 1. TABLE_CAT String => table catalog (may be null) | 4037 * 1. TABLE_CAT String => table catalog (may be null) |
4038 * 2. TABLE_SCHEM String => table schema (may be null) | 4038 * 2. TABLE_SCHEM String => table schema (may be null) |
4039 * 3. TABLE_NAME String => table name | 4039 * 3. TABLE_NAME String => table name |
4040 * 4. COLUMN_NAME String => column name | 4040 * 4. COLUMN_NAME String => column name |
4041 * 5. DATA_TYPE int => SQL type from java.sql.Types | 4041 * 5. DATA_TYPE int => SQL type from java.sql.Types |
4042 * 6. COLUMN_SIZE int => column size. | 4042 * 6. COLUMN_SIZE int => column size. |
4043 * 7. DECIMAL_DIGITS int => the number of fractional digits. Null is returned for data types where DECIMAL_DIGITS is not applicable. | 4043 * 7. DECIMAL_DIGITS int => the number of fractional digits. Null is returned for data types where DECIMAL_DIGITS is not applicable. |
4044 * 8. NUM_PREC_RADIX int => Radix (typically either 10 or 2) | 4044 * 8. NUM_PREC_RADIX int => Radix (typically either 10 or 2) |
4045 * 9. COLUMN_USAGE String => The allowed usage for the column. The value returned will correspond to the enum name returned by PseudoColumnUsage.name() | 4045 * 9. COLUMN_USAGE String => The allowed usage for the column. The value returned will correspond to the enum name returned by PseudoColumnUsage.name() |
4046 * 10. REMARKS String => comment describing column (may be null) | 4046 * 10. REMARKS String => comment describing column (may be null) |
4047 * 11. CHAR_OCTET_LENGTH int => for char types the maximum number of bytes in the column | 4047 * 11. CHAR_OCTET_LENGTH int => for char types the maximum number of bytes in the column |
4048 * 12. IS_NULLABLE String => ISO rules are used to determine the nullability for a column. | 4048 * 12. IS_NULLABLE String => ISO rules are used to determine the nullability for a column. |
4049 * YES --- if the column can include NULLs | 4049 * YES --- if the column can include NULLs |
4050 * NO --- if the column cannot include NULLs | 4050 * NO --- if the column cannot include NULLs |
4051 * empty string --- if the nullability for the column is unknown | 4051 * empty string --- if the nullability for the column is unknown |
4052 * | 4052 * |
4053 * @param catalog a catalog name | 4053 * @param catalog a catalog name |