/** GetIndexesRequest */ public class GetIndexesRequest extends MetadataRequest { public static final String NAME = JdbcPlugin.Util.getString("GetIndexesRequestName"); // $NON-NLS-1$ private static final String METHOD_NAME = "getIndexInfo"; // $NON-NLS-1$ /** * Construct an instance of GetIndexesRequest. * * @param metadata * @param catalogNamePattern * @param schemaNamePattern * @param tableNamePattern * @param uniqueValuesOnly * @param approximateAllowed */ public GetIndexesRequest( final DatabaseMetaData metadata, final String catalogNamePattern, final String schemaNamePattern, final String tableNamePattern, final boolean uniqueValuesOnly, final boolean approximateAllowed) { super( NAME, metadata, METHOD_NAME, new Object[] { catalogNamePattern, schemaNamePattern, tableNamePattern, new Boolean(uniqueValuesOnly), new Boolean(approximateAllowed) }); } /** * This method is overridden to optimize performance. * * @see * com.metamatrix.modeler.jdbc.data.MethodRequest#performInvocation(com.metamatrix.modeler.jdbc.data.Response) * @since 4.2 */ @Override protected IStatus performInvocation(final Response results) { // Override to optimize ... final DatabaseMetaData dbmd = this.getDatabaseMetaData(); ResultSet resultSet = null; IStatus status = null; try { final String catalogPattern = (String) getParameters()[0]; final String schemaPattern = (String) getParameters()[1]; final String tablePattern = (String) getParameters()[2]; final boolean unique = ((Boolean) getParameters()[3]).booleanValue(); final boolean approximate = ((Boolean) getParameters()[4]).booleanValue(); resultSet = dbmd.getIndexInfo(catalogPattern, schemaPattern, tablePattern, unique, approximate); Response.addResults(results, resultSet, this.isMetadataRequested()); } catch (SQLException e) { status = JdbcUtil.createIStatus(e, e.getLocalizedMessage()); } finally { if (resultSet != null) { try { resultSet.close(); } catch (SQLException e1) { } } } return status; } }
/* (non-Javadoc) * @see com.metamatrix.modeler.jdbc.data.Request#performInvocation(com.metamatrix.modeler.jdbc.data.Response) */ @Override protected IStatus performInvocation(final Response results) { final String msg = JdbcPlugin.Util.getString("DisabledRequest.RequestNotIncluded"); // $NON-NLS-1$ return JdbcUtil.createIStatus(IStatus.INFO, msg); }