code: @Override
    public final int executeUpdate(final String pTable,
      final ColumnsValues pColumnsVals,
       final String pWhere) throws Exception {
      try {
        if (getLogger().getIsShowDebugMessagesFor(getClass())
          && getLogger().getDetailLevel() > 30000) {
          getLogger().debug(null, SrvDatabase.class, "try to update t: " + pTable
            + " where: " + pWhere + " cv: " + pColumnsVals);
          ColumnsValues cv = filterCv(pColumnsVals, false);
          getLogger().debug(null, SrvDatabase.class, ", cvf: " + cv);
        }
        ContentValues contentValues = convertToContentValues(pColumnsVals, false);
        return this.sqliteDatabase.update(pTable,
          contentValues, pWhere, null);
      } catch (Exception ex) {
        ColumnsValues cv = filterCv(pColumnsVals, false);
        String msg = ex.getMessage() + ", table: " + pTable + ", cv: "
          + pColumnsVals + ", cvf: " + cv + ", where: " + pWhere;
        ExceptionWithCode ewc = new ExceptionWithCode(SrvDatabase.SQL_EXEC_ERROR,
          msg);
        ewc.setStackTrace(ex.getStackTrace());
        throw ewc;
      }
    }
docs: <p>Execute SQL UPDATE that returns affected rows.
  It is to adapt Android insert/update/delete interface.
  </p>
  @param pTable table name
  @param pColumnsVals type-safe map column name - column value
  @param pWhere where conditions e.g. "itsId=2"
  @return row count affected
  @throws ExceptionWithCode - if an exception occured