# java.sql.DatabaseMetaData interface

Derby implements the java.sql.DatabaseMetaData interface.

For methods that take a catalog parameter, always specify null for this parameter, since Derby does not support catalogs. Similarly, methods that return a catalog in the ResultSet will always return null in that column.

The Derby implementation of the getColumns method returns an empty ResultSet if the table specified in the third argument is a SYNONYM. The method reports "YES" as the value of IS_AUTOINCREMENT if a column is generated.

The Derby implementation of the getResultSetHoldability method returns ResultSet.HOLD_CURSORS_OVER_COMMIT.

- DatabaseMetaData result sets
  DatabaseMetaData result sets do not close the result sets of other statements, even when auto-commit is set to true.
- Columns in the ResultSets returned by getFunctionColumns and getProcedureColumns
  Columns in the ResultSets returned by getFunctionColumns and getProcedureColumns are as described by the API.
- java.sql.DatabaseMetaData.getBestRowIdentifier method
  The java.sql.DatabaseMetaData.getBestRowIdentifier method looks for identifiers in a specific order. This order might not return a unique row.

Parent topic: JDBC reference
Related reference
java.sql.Driver interface
java.sql.DriverManager.getConnection method
java.sql.Connection interface
java.sql.Statement interface
java.sql.CallableStatement interface
java.sql.PreparedStatement interface
java.sql.ResultSet interface
java.sql.ResultSetMetaData interface
java.sql.SQLException class
java.sql.SQLWarning class
java.sql.SQLXML interface
java.sql.Savepoint interface
Mapping of java.sql.Types to SQL types
Features supported on JDBC 4.1 and above
JDBC 4.2-only features
JDBC escape syntax