Multiple history sets are possible. They analogous to multiple sequential sets, contexts and batches. ChangeHistory() permits an application to maintain any number of history sets, where a set is defined to exist when either a first search call or preliminary log call returns successfully. FairCom DB allocates a history state structure for each history set, not the same as the 40-byte HSTRSP structure. ChangeHistory() takes an arbitrary short integer as its input argument. That is, the application can assign history set ID numbers in any manner it wishes. However, the history set ID number of zero is reserved for the default history set that exists whether or not ChangeHistory() is called. ChangeHistory() returns a zero on success.
FreeHistory() frees memory associated with multiple history sets. It is not necessary to call FreeHistory() since either FairCom DB termination call, CloseISAM() or StopUser(), will automatically invoke FreeHistory(). However, if the amount of allocated memory needs to be reduced prior to termination, FreeHistory() is available.