code: @Override
      protected void initTableInfoUniqueKeys(final Connection _con,
                                             final String _sql,
                                             final Map<String, TableInformation> _cache4Name)
          throws SQLException
      {
          final String sqlStmt = new StringBuilder()
              .append("select t.tablename as TABLE_NAME, c.CONSTRAINTNAME as INDEX_NAME, g.DESCRIPTOR as COLUMN_NAME")
              .append(" from SYS.SYSTABLES t, SYS.SYSCONSTRAINTS c, SYS.SYSKEYS k, SYS.SYSCONGLOMERATES g ")
              .append(" where t.TABLEID=c.TABLEID")
                  .append(" AND c.TYPE='U'")
                  .append(" AND c.CONSTRAINTID = k.CONSTRAINTID")
                  .append(" AND k.CONGLOMERATEID = g.CONGLOMERATEID")
              .toString();
          super.initTableInfoUniqueKeys(_con, sqlStmt, _cache4Name);
      }
docs: Fetches all unique keys for this table. Instead of using the JDBC
  meta data functionality, a SQL statement on system tables are used,
  because the JDBC meta data functionality returns for unique keys
  internal names and not the real names. Also if a unique key includes
  also columns with null values, this unique keys are not included.
  
  @param _con        Connection
  @param _sql        Statement
  @param _cache4Name   cache
  @throws SQLException if unique keys could not be fetched