DatabaseMetaData result sets

DatabaseMetaData result sets do not close the result sets of other statements, even when auto-commit is set to true.

DatabaseMetaData result sets are closed if a user performs any other action on a JDBC object that causes an automatic commit to occur. If you need the DatabaseMetaData result sets to be accessible while executing other actions that would cause automatic commits, turn off auto-commit with setAutoCommit(false).

Related reference
java.sql.DatabaseMetaData.getProcedureColumns method
Parameters to getProcedureColumns
Columns in the ResultSet returned by getProcedureColumns
java.sql.DatabaseMetaData.getBestRowIdentifier method