AUTOROWVER is provided for Oterro compatibility. If AUTOROWVER is set ON, every CREATE TABLE or ALTER TABLE will add the SYS_ROWVER column if it does not already exist. Oterro defaults to AUTOROWVER ON while R:BASE defaults to AUTOROWVER OFF.
While AUTOROWVER is off, the column can be safely deleted.
SYS_ROWVER is a computed column whose formula determines how many times a given row has been edited. It's formula is as follows: (IFNULL((SYS_ROWVER+1),0,(SYS_ROWVER+1)))
In plain English this might be translated to: Upon editing or creating a row check for a null value in SYS_ROWVER. If the value of SYS_ROWVER is null set the value to zero. If the value of SYS_ROWVER is not null increment by one.
This is provided for Oterro so that other non-R:BASE applications, such as Visual Basic, Delphi, or Borland C++ can determine if any changes have been made to the row prior to returning an update.
For example the process might go something like this:
Retreive a row - Note that it's SYS_ROWVER is 1.
The users modifies the row using a Borland C++ or Visual Basic application.
Prepare to update the row in the database. Check the SYS_ROWVER. Note that it is now set to 2.
Warn the user that changes have been made to the database. Ask if they would like to continue or if they would like to view the changes.
User resolves any conflict between the versions of the record.