Re: Fixed length datatypes. WAS [GENERAL] UUID's as - Mailing list pgsql-hackers

From Thomas Hallgren
Subject Re: Fixed length datatypes. WAS [GENERAL] UUID's as
Date
Msg-id 44A37D60.4060608@tada.se
Whole thread Raw
In response to Re: Fixed length datatypes. WAS [GENERAL] UUID's as  (mark@mark.mielke.cc)
Responses Re: Fixed length datatypes. WAS [GENERAL] UUID's as  ("Jim C. Nasby" <jnasby@pervasive.com>)
List pgsql-hackers
mark@mark.mielke.cc wrote:
> On Thu, Jun 29, 2006 at 02:02:32AM -0400, mark@mark.mielke.cc wrote:
>> It was written by Nathan Wagner <nw@hydaspes.if.org> and myself, and
>> is based off the OSSP ( http://www.ossp.org/ ) UUID implementation.
>> I'm not an expert on the license, but it seems acceptable to me:
>> ...
>> If there is interest - I'm sure Nathan and I would be willing to put
>> it on pgfoundry, and at some point give it up for inclusion into
>> PostgreSQL.
> 
> This might require a little bit of research. It appears that the
> development version of OSSP UUID may provide its own PostgreSQL
> 'bindings'. I may try and contact the author of the OSSP UUID and
> see whether any changes we have that he does not, can be rolled
> into his version...
> 
> Cheers,
> mark
> 
I'm thinking ahead on possible objections to inclusion in core. One objection might be that 
a fully blown UUID implementation is a lot of code. Code that needs to be maintained and it 
increases the size of the binary etc. A solution to that might be to break the whole thing 
up in two:

1 The actual type
A plain scalar type that stores 16 bytes. It's complete with standard operators for 
comparison (natural order) and the text representation would be a 32 character hexadecimal 
string. This type should make no interpretation whatsoever on what it stores and its only 
association with UUID's is the storage size.

2 UUID utilities
Various ways of representing, generating, and extract partial information from UUID's. 
Should have support for variants #0, #1, and #2 (the OSSP based code sounds like a good 
candidate).


The split make sense since clients often have powerful UUID utilities handy and hence have 
limited or no use for such utilities in the database (true for all .NET and Java clients). 
Some PL's will also enable such packages out of the box.

The actual type would be extremely generic, lightweight, and easy to implement. No 
portability issues whatsoever. The only difficulty that I see is naming it :-).

Regards,
Thomas Hallgren



pgsql-hackers by date:

Previous
From: Thomas Hallgren
Date:
Subject: Re: Fixed length datatypes. WAS [GENERAL] UUID's as
Next
From: Christopher Kings-Lynne
Date:
Subject: Re: Fixed length datatypes. WAS [GENERAL] UUID's as