@Override public boolean extendObjectList( WbConnection con, DataStore result, String catalog, String schemaPattern, String objectPattern, String[] requestedTypes) { if (!DbMetadata.typeIncluded("TYPE", requestedTypes)) return false; String select = getSelect(schemaPattern, objectPattern); select += " ORDER BY a.alias, s.schemaname "; Statement stmt = null; ResultSet rs = null; if (Settings.getInstance().getDebugMetadataSql()) { LogMgr.logDebug("DerbyTypeReader.extendObjectList()", "Using sql=\n" + select); } try { stmt = con.createStatementForQuery(); rs = stmt.executeQuery(select); while (rs.next()) { String schema = rs.getString("schemaname"); String name = rs.getString("type_name"); String classname = rs.getString("javaclassname"); String info = rs.getString("aliasinfo"); int row = result.addRow(); result.setValue(row, DbMetadata.COLUMN_IDX_TABLE_LIST_CATALOG, null); result.setValue(row, DbMetadata.COLUMN_IDX_TABLE_LIST_SCHEMA, schema); result.setValue(row, DbMetadata.COLUMN_IDX_TABLE_LIST_NAME, name); result.setValue(row, DbMetadata.COLUMN_IDX_TABLE_LIST_TYPE, "TYPE"); result.setValue(row, DbMetadata.COLUMN_IDX_TABLE_LIST_REMARKS, null); DerbyTypeDefinition def = new DerbyTypeDefinition(schema, name, classname, info); result.getRow(row).setUserObject(def); } } catch (Exception e) { LogMgr.logError("DerbyTypeReader.extendObjectList()", "Error retrieving object types", e); } finally { SqlUtil.closeAll(rs, stmt); } return true; }