Re: [PATCHES] Patch for UUID datatype (beta) - Mailing list pgsql-hackers

From mark@mark.mielke.cc
Subject Re: [PATCHES] Patch for UUID datatype (beta)
Date
Msg-id 20060919135123.GA2422@mark.mielke.cc
Whole thread Raw
In response to Re: [PATCHES] Patch for UUID datatype (beta)  ("Jim C. Nasby" <jimn@enterprisedb.com>)
Responses Re: [PATCHES] Patch for UUID datatype (beta)
Re: [PATCHES] Patch for UUID datatype (beta)
Re: [PATCHES] Patch for UUID datatype (beta)
List pgsql-hackers
On Tue, Sep 19, 2006 at 08:20:13AM -0500, Jim C. Nasby wrote:
> On Mon, Sep 18, 2006 at 07:45:07PM -0400, mark@mark.mielke.cc wrote:
> > I would not use a 100% random number generator for a UUID value as was
> > suggested. I prefer inserting the MAC address and the time, to at
> > least allow me to control if a collision is possible. This is not easy
> > to do using a few lines of C code. I'd rather have a UUID type in core
> > with no generation routine, than no UUID type in core because the code
> > is too complicated to maintain, or not portable enough.
> As others have mentioned, using MAC address doesn't remove the
> possibility of a collision.

It does, as I control the MAC address. I can choose not to overwrite it.
I can choose to ensure that any cases where it is overwritten, it is
overwritten with a unique value. Random number does not provide this
level of control.

> Maybe a good compromise that would allow a generator function to go into
> the backend would be to combine the current time with a random number.
> That will ensure that you won't get a dupe, so long as your clock never
> runs backwards.

Which standard UUID generation function would you be thinking of?
Inventing a new one doesn't seem sensible. I'll have to read over the
versions again...

Cheers,
mark

--
mark@mielke.cc / markm@ncf.ca / markm@nortel.com     __________________________
.  .  _  ._  . .   .__    .  . ._. .__ .   . . .__  | Neighbourhood Coder
|\/| |_| |_| |/    |_     |\/|  |  |_  |   |/  |_   |
|  | | | | \ | \   |__ .  |  | .|. |__ |__ | \ |__  | Ottawa, Ontario, Canada

  One ring to rule them all, one ring to find them, one ring to bring them all
                       and in the darkness bind them...

                           http://mark.mielke.cc/


pgsql-hackers by date:

Previous
From: Praveen Kumar N
Date:
Subject: Re: system cache and buffer cache
Next
From: "Jim C. Nasby"
Date:
Subject: Re: Release notes