public List<RowMetaInterface> getRecommendedIndexes() {
    List<RowMetaInterface> indexes = new ArrayList<RowMetaInterface>();

    // First index : ID_BATCH if any is used.
    if ( isBatchIdUsed() ) {
      indexes.add( addFieldsToIndex( getKeyField() ) );
    }
    // The next index includes : ERRORS, STATUS, TRANSNAME:
    indexes.add( addFieldsToIndex( findField( ID.ERRORS ), findField( ID.STATUS ), findField( ID.JOBNAME ) ) );
    // Index used for deleting rows during cleanup
    indexes.add( addFieldsToIndex( findField( ID.JOBNAME ), findField( ID.LOGDATE ) ) );

    return indexes;
  }
@Test
  public void getRecommendedIndexes() {
    List<RowMetaInterface> indexes = jobLogTable.getRecommendedIndexes();
    String[] expected = new String[]{ "JOBNAME", "LOGDATE" };
    assertTrue( "No indicies present", indexes.size() > 0 );
    boolean found = false;
    for ( RowMetaInterface rowMeta : indexes ) {
      if ( Arrays.equals( rowMeta.getFieldNames(), expected ) ) {
        found = true;
        break;
      }
    }
    if ( !found ) {
      fail( "Cound not find index with " + Arrays.toString( expected ) );
    }
  }