jdk/src/java.sql/share/classes/java/sql/DatabaseMetaData.java
changeset 25991 e48157b42439
parent 25976 4de01a56e3ee
parent 25859 3317bb8137f4
child 34338 67d0e5867568
equal deleted inserted replaced
25876:d06a6d3c66c0 25991:e48157b42439
     1 /*
     1 /*
     2  * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     7  * published by the Free Software Foundation.  Oracle designates this
  1214      * Only procedure descriptions matching the schema and
  1214      * Only procedure descriptions matching the schema and
  1215      * procedure name criteria are returned.  They are ordered by
  1215      * procedure name criteria are returned.  They are ordered by
  1216      * <code>PROCEDURE_CAT</code>, <code>PROCEDURE_SCHEM</code>,
  1216      * <code>PROCEDURE_CAT</code>, <code>PROCEDURE_SCHEM</code>,
  1217      * <code>PROCEDURE_NAME</code> and <code>SPECIFIC_ NAME</code>.
  1217      * <code>PROCEDURE_NAME</code> and <code>SPECIFIC_ NAME</code>.
  1218      *
  1218      *
  1219      * <P>Each procedure description has the the following columns:
  1219      * <P>Each procedure description has the following columns:
  1220      *  <OL>
  1220      *  <OL>
  1221      *  <LI><B>PROCEDURE_CAT</B> String {@code =>} procedure catalog (may be <code>null</code>)
  1221      *  <LI><B>PROCEDURE_CAT</B> String {@code =>} procedure catalog (may be <code>null</code>)
  1222      *  <LI><B>PROCEDURE_SCHEM</B> String {@code =>} procedure schema (may be <code>null</code>)
  1222      *  <LI><B>PROCEDURE_SCHEM</B> String {@code =>} procedure schema (may be <code>null</code>)
  1223      *  <LI><B>PROCEDURE_NAME</B> String {@code =>} procedure name
  1223      *  <LI><B>PROCEDURE_NAME</B> String {@code =>} procedure name
  1224      *  <LI> reserved for future use
  1224      *  <LI> reserved for future use
  1485      *  <LI><B>TABLE_SCHEM</B> String {@code =>} table schema (may be <code>null</code>)
  1485      *  <LI><B>TABLE_SCHEM</B> String {@code =>} table schema (may be <code>null</code>)
  1486      *  <LI><B>TABLE_NAME</B> String {@code =>} table name
  1486      *  <LI><B>TABLE_NAME</B> String {@code =>} table name
  1487      *  <LI><B>TABLE_TYPE</B> String {@code =>} table type.  Typical types are "TABLE",
  1487      *  <LI><B>TABLE_TYPE</B> String {@code =>} table type.  Typical types are "TABLE",
  1488      *                  "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY",
  1488      *                  "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY",
  1489      *                  "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
  1489      *                  "LOCAL TEMPORARY", "ALIAS", "SYNONYM".
  1490      *  <LI><B>REMARKS</B> String {@code =>} explanatory comment on the table
  1490      *  <LI><B>REMARKS</B> String {@code =>} explanatory comment on the table (may be {@code null})
  1491      *  <LI><B>TYPE_CAT</B> String {@code =>} the types catalog (may be <code>null</code>)
  1491      *  <LI><B>TYPE_CAT</B> String {@code =>} the types catalog (may be <code>null</code>)
  1492      *  <LI><B>TYPE_SCHEM</B> String {@code =>} the types schema (may be <code>null</code>)
  1492      *  <LI><B>TYPE_SCHEM</B> String {@code =>} the types schema (may be <code>null</code>)
  1493      *  <LI><B>TYPE_NAME</B> String {@code =>} type name (may be <code>null</code>)
  1493      *  <LI><B>TYPE_NAME</B> String {@code =>} type name (may be <code>null</code>)
  1494      *  <LI><B>SELF_REFERENCING_COL_NAME</B> String {@code =>} name of the designated
  1494      *  <LI><B>SELF_REFERENCING_COL_NAME</B> String {@code =>} name of the designated
  1495      *                  "identifier" column of a typed table (may be <code>null</code>)
  1495      *                  "identifier" column of a typed table (may be <code>null</code>)
  1708      *  <LI><B>TABLE_NAME</B> String {@code =>} table name
  1708      *  <LI><B>TABLE_NAME</B> String {@code =>} table name
  1709      *  <LI><B>COLUMN_NAME</B> String {@code =>} column name
  1709      *  <LI><B>COLUMN_NAME</B> String {@code =>} column name
  1710      *  <LI><B>GRANTOR</B> String {@code =>} grantor of access (may be <code>null</code>)
  1710      *  <LI><B>GRANTOR</B> String {@code =>} grantor of access (may be <code>null</code>)
  1711      *  <LI><B>GRANTEE</B> String {@code =>} grantee of access
  1711      *  <LI><B>GRANTEE</B> String {@code =>} grantee of access
  1712      *  <LI><B>PRIVILEGE</B> String {@code =>} name of access (SELECT,
  1712      *  <LI><B>PRIVILEGE</B> String {@code =>} name of access (SELECT,
  1713      *      INSERT, UPDATE, REFRENCES, ...)
  1713      *      INSERT, UPDATE, REFERENCES, ...)
  1714      *  <LI><B>IS_GRANTABLE</B> String {@code =>} "YES" if grantee is permitted
  1714      *  <LI><B>IS_GRANTABLE</B> String {@code =>} "YES" if grantee is permitted
  1715      *      to grant to others; "NO" if not; <code>null</code> if unknown
  1715      *      to grant to others; "NO" if not; <code>null</code> if unknown
  1716      *  </OL>
  1716      *  </OL>
  1717      *
  1717      *
  1718      * @param catalog a catalog name; must match the catalog name as it
  1718      * @param catalog a catalog name; must match the catalog name as it
  1753      *  <LI><B>TABLE_SCHEM</B> String {@code =>} table schema (may be <code>null</code>)
  1753      *  <LI><B>TABLE_SCHEM</B> String {@code =>} table schema (may be <code>null</code>)
  1754      *  <LI><B>TABLE_NAME</B> String {@code =>} table name
  1754      *  <LI><B>TABLE_NAME</B> String {@code =>} table name
  1755      *  <LI><B>GRANTOR</B> String {@code =>} grantor of access (may be <code>null</code>)
  1755      *  <LI><B>GRANTOR</B> String {@code =>} grantor of access (may be <code>null</code>)
  1756      *  <LI><B>GRANTEE</B> String {@code =>} grantee of access
  1756      *  <LI><B>GRANTEE</B> String {@code =>} grantee of access
  1757      *  <LI><B>PRIVILEGE</B> String {@code =>} name of access (SELECT,
  1757      *  <LI><B>PRIVILEGE</B> String {@code =>} name of access (SELECT,
  1758      *      INSERT, UPDATE, REFRENCES, ...)
  1758      *      INSERT, UPDATE, REFERENCES, ...)
  1759      *  <LI><B>IS_GRANTABLE</B> String {@code =>} "YES" if grantee is permitted
  1759      *  <LI><B>IS_GRANTABLE</B> String {@code =>} "YES" if grantee is permitted
  1760      *      to grant to others; "NO" if not; <code>null</code> if unknown
  1760      *      to grant to others; "NO" if not; <code>null</code> if unknown
  1761      *  </OL>
  1761      *  </OL>
  1762      *
  1762      *
  1763      * @param catalog a catalog name; must match the catalog name as it
  1763      * @param catalog a catalog name; must match the catalog name as it
  2507      *  <LI><B>INDEX_NAME</B> String {@code =>} index name; <code>null</code> when TYPE is
  2507      *  <LI><B>INDEX_NAME</B> String {@code =>} index name; <code>null</code> when TYPE is
  2508      *      tableIndexStatistic
  2508      *      tableIndexStatistic
  2509      *  <LI><B>TYPE</B> short {@code =>} index type:
  2509      *  <LI><B>TYPE</B> short {@code =>} index type:
  2510      *      <UL>
  2510      *      <UL>
  2511      *      <LI> tableIndexStatistic - this identifies table statistics that are
  2511      *      <LI> tableIndexStatistic - this identifies table statistics that are
  2512      *           returned in conjuction with a table's index descriptions
  2512      *           returned in conjunction with a table's index descriptions
  2513      *      <LI> tableIndexClustered - this is a clustered index
  2513      *      <LI> tableIndexClustered - this is a clustered index
  2514      *      <LI> tableIndexHashed - this is a hashed index
  2514      *      <LI> tableIndexHashed - this is a hashed index
  2515      *      <LI> tableIndexOther - this is some other style of index
  2515      *      <LI> tableIndexOther - this is some other style of index
  2516      *      </UL>
  2516      *      </UL>
  2517      *  <LI><B>ORDINAL_POSITION</B> short {@code =>} column sequence number
  2517      *  <LI><B>ORDINAL_POSITION</B> short {@code =>} column sequence number
  2522      *      "D" {@code =>} descending, may be <code>null</code> if sort sequence is not supported;
  2522      *      "D" {@code =>} descending, may be <code>null</code> if sort sequence is not supported;
  2523      *      <code>null</code> when TYPE is tableIndexStatistic
  2523      *      <code>null</code> when TYPE is tableIndexStatistic
  2524      *  <LI><B>CARDINALITY</B> long {@code =>} When TYPE is tableIndexStatistic, then
  2524      *  <LI><B>CARDINALITY</B> long {@code =>} When TYPE is tableIndexStatistic, then
  2525      *      this is the number of rows in the table; otherwise, it is the
  2525      *      this is the number of rows in the table; otherwise, it is the
  2526      *      number of unique values in the index.
  2526      *      number of unique values in the index.
  2527      *  <LI><B>PAGES</B> long {@code =>} When TYPE is  tableIndexStatisic then
  2527      *  <LI><B>PAGES</B> long {@code =>} When TYPE is  tableIndexStatistic then
  2528      *      this is the number of pages used for the table, otherwise it
  2528      *      this is the number of pages used for the table, otherwise it
  2529      *      is the number of pages used for the current index.
  2529      *      is the number of pages used for the current index.
  2530      *  <LI><B>FILTER_CONDITION</B> String {@code =>} Filter condition, if any.
  2530      *  <LI><B>FILTER_CONDITION</B> String {@code =>} Filter condition, if any.
  2531      *      (may be <code>null</code>)
  2531      *      (may be <code>null</code>)
  2532      *  </OL>
  2532      *  </OL>
  2856      * simultaneously.
  2856      * simultaneously.
  2857      *
  2857      *
  2858      * @return <code>true</code> if a <code>CallableStatement</code> object
  2858      * @return <code>true</code> if a <code>CallableStatement</code> object
  2859      *         can return multiple <code>ResultSet</code> objects
  2859      *         can return multiple <code>ResultSet</code> objects
  2860      *         simultaneously; <code>false</code> otherwise
  2860      *         simultaneously; <code>false</code> otherwise
  2861      * @exception SQLException if a datanase access error occurs
  2861      * @exception SQLException if a database access error occurs
  2862      * @since 1.4
  2862      * @since 1.4
  2863      */
  2863      */
  2864     boolean supportsMultipleOpenResults() throws SQLException;
  2864     boolean supportsMultipleOpenResults() throws SQLException;
  2865 
  2865 
  2866     /**
  2866     /**
  3300      * function name criteria are returned.  They are ordered by
  3300      * function name criteria are returned.  They are ordered by
  3301      * <code>FUNCTION_CAT</code>, <code>FUNCTION_SCHEM</code>,
  3301      * <code>FUNCTION_CAT</code>, <code>FUNCTION_SCHEM</code>,
  3302      * <code>FUNCTION_NAME</code> and
  3302      * <code>FUNCTION_NAME</code> and
  3303      * <code>SPECIFIC_ NAME</code>.
  3303      * <code>SPECIFIC_ NAME</code>.
  3304      *
  3304      *
  3305      * <P>Each function description has the the following columns:
  3305      * <P>Each function description has the following columns:
  3306      *  <OL>
  3306      *  <OL>
  3307      *  <LI><B>FUNCTION_CAT</B> String {@code =>} function catalog (may be <code>null</code>)
  3307      *  <LI><B>FUNCTION_CAT</B> String {@code =>} function catalog (may be <code>null</code>)
  3308      *  <LI><B>FUNCTION_SCHEM</B> String {@code =>} function schema (may be <code>null</code>)
  3308      *  <LI><B>FUNCTION_SCHEM</B> String {@code =>} function schema (may be <code>null</code>)
  3309      *  <LI><B>FUNCTION_NAME</B> String {@code =>} function name.  This is the name
  3309      *  <LI><B>FUNCTION_NAME</B> String {@code =>} function name.  This is the name
  3310      * used to invoke the function
  3310      * used to invoke the function