docs: public void doSet(Record record) throws DBException
      {
          if (this.lockOnDBTrxType(null, DBConstants.UPDATE_TYPE, true))
          {
              int iErrorCode = this.lockCurrentRecord();
              if ((iErrorCode == DBConstants.NORMAL_RETURN) || (iErrorCode == DBConstants.RECORD_CHANGED))
              {
                  iErrorCode = record.refreshToCurrent(DBConstants.UPDATE_TYPE, true);
              }
          }
  //        int iRowsUpdated = 0;
          Object bookmark = record.getHandle(DBConstants.BOOKMARK_HANDLE);
          CounterField fldID = (CounterField)record.getCounterField();
          if (fldID != null)
              if (record.isAutoSequence())
                  fldID.setModified(false); // Never set a counter field
          String strRecordset = record.getSQLUpdate(SQLParams.USE_INSERT_UPDATE_LITERALS);
          int iType = DBConstants.SQL_UPDATE_TYPE;
              if (strRecordset != null)
                  /*iRowsUpdated =*/ this.executeUpdate(strRecordset, iType);
  //            else
  //                iRowsUpdated = 1; // No changes
          if (this.lockOnDBTrxType(null, DBConstants.AFTER_UPDATE_TYPE, false))  // ADD_TYPE = Add new; Should I do the unlock in my code?
              this.unlockIfLocked(record, bookmark);
      }