docs: public void doAdd(Record record) throws DBException
      {
          if (this.lockOnDBTrxType(null, DBConstants.AFTER_ADD_TYPE, false))  // Should I do the unlock in my code?
              this.unlockIfLocked(this.getRecord(), null);    // Release any locks
          m_LastModifiedBookmark = null;
          CounterField fldID = (CounterField)record.getCounterField();
          if (fldID != null)
              if (!fldID.isNull())
                  if (DBConstants.FALSE.equalsIgnoreCase(this.getProperty(SQLParams.AUTO_SEQUENCE_ENABLED)))
                      fldID = null;   // Special case - autosequence is disabled, so write the field.
          if (fldID != null)
              fldID.setModified(false); // Never set a counter field
          if (fldID != null)
              if (!this.getDatabase().isAutosequenceSupport())
          { // If the db does not support identity, you must get the next larger key by doing a select desc on the primary key
              this.doAddAutosequence(record);     // Special code to get next sequence
              return;
          }
          String strRecordset = record.getSQLInsert(SQLParams.USE_INSERT_UPDATE_LITERALS);
          int iType = DBConstants.SQL_INSERT_TABLE_TYPE;
          this.executeUpdate(strRecordset, iType);
      }