docs: @Override
    public final IRecordSet<Cursor>
      retrieveRecords(final String pSelect) throws ExceptionWithCode {
      try {
        boolean isDbg = getLogger().getIsShowDebugMessagesFor(getClass())
          && getLogger().getDetailLevel() > 30000;
        if (isDbg) {
          getLogger().debug(null, SrvDatabase.class, "try to retrieve records: "
            + pSelect);
        }
        Cursor rs = this.sqliteDatabase.rawQuery(pSelect, null);
        RecordSetAndroid rsa = new RecordSetAndroid(rs);
        if (isDbg) {
          getLogger().debug(null, SrvDatabase.class, "Recordset: " + rsa);
        }
        return rsa;
      } catch (Exception ex) {
        String msg = ex.getMessage() + ", query:\n" + pSelect;
        ExceptionWithCode ewc = new ExceptionWithCode(SrvDatabase.SQL_EXEC_ERROR,
          msg);
        ewc.setStackTrace(ex.getStackTrace());
        throw ewc;
      }
    }