# java.sql.DatabaseMetaData

Attention: Derby Version 10.2 includes JDBC 4.0 functionality based on a pre-release of Java SE 6. When you use Derby with a Java SE 6 virtual machine, Derby will use its JDBC 3.0 drivers, just as with 1.4 and 1.5 virtual machines. JDBC 4.0 is available only to developers who download Java SE 6 and use it to build in support for JDBC 4.0. The Release Notes explain how to build the JDBC 4.0 functionality with Derby Version 10.2. A follow-on Derby release will include JDBC 4.0 functionality based on the final JDBC 4.0 specification once Java SE 6 becomes generally available.

Derby implements all of the new metadata methods added by JDBC 4.0.

- Capability reports - JDBC 4.0 adds new methods for querying the capabilities of a database. These include autoCommitFailureClosesAllResultSets, providesQueryObjectGenerator, getClientInfoProperties, and supportsStoredFunctionsUsingCallSyntax.
- Column metadata - The getColumns method reports IS_AUTOINCREMENT = YES if a column is generated.
- Function metadata - JDBC 4.0 adds new methods for inspecting the arguments and return types of functions, including user-defined functions. These new methods are getFunctions and getFunctionColumns. These methods behave similarly to getProcedures and getProcedureColumns.
- Procedure metadata - The getProcedureColumns method reports additional information about procedure arguments. For more information, see the javadoc for this method. The new columns in the ResultSet returned by getProcedureColumns are: COLUMN_DEF, SQL_DATA_TYPE, SQL_DATETIME_SUB, CHAR_OCTET_LENGTH, ORDINAL_POSITION, IS_NULLABLE, and SPECIFIC_NAME.
- Schema metadata - JDBC 4.0 adds a new getSchemas overload, which lets you look up schemas based on a name pattern.

Parent topic: JDBC 4.0-only features
Related reference
Refined subclasses of SQLException
java.sql.Connection
java.sql.Statement
javax.sql.DataSource