GUID Management

linas@linas.org linas@linas.org
Thu, 4 Jan 2001 12:48:01 -0600 (CST)


It's been rumoured that Christopher Browne said:
> I think it needs more than just a version number.
> Suppose two independent updates try to take place "concurrently."
> One goes in, as "version 4," and another goes in, also proposed as
> "version 4."  If all that is tracked is the version number, then
> the second update gets silently ignored.  Bad Thing.

No one said the second one gets 'silently ignored'.

> How about replacing the "version number" with the tuple of
> [Update Time, Update Session].

Update time is already a part of the transaction structure
circa line 1318 of Transaction.c   It records seconds *and*
nanoseconds (with typical unix 100 HZ resolution).  i.e. date and
time.

>  Session = "cbbrowne:456"

For a multi-user system, it would make sense to record into the audit
trail the name of the user who made the change.  I suppose it might
even be interesting to generate a unique guid for each session,
and record that in the audit trail as well...  That way, if the user
is running multiple different sessions (e.g. because thier passwd was
stolen),  one could tell apart which was which. 

--linas