Subject Re: [firebird-support] Re: UUDIs/GUIDs and problem with uuidlib
Author Helen Borrie
At 10:49 PM 18/07/2006, David Johnson wrote:

> > > Why do you use two different UID-techniques in one and the same
> > database?
> >
> > The UUIDs are said to be optimized for fast indexing and are smaller,
> > so that this is the choice for the DB. The GUIDs, however, are the
> > standardized representation and have to be used on the application
> > level. I don't know enough about uuidlib's UUIDs to convert them to
> > GUIDs in the application.
>The GUID is a 16 byte value. The 36 byte form is simply a formatted
>hexadecimal string. I could not tell you which flavor of uuid the udf
>uses that gives you 22 bytes (Ann? Helen?), but there are several
>flavors of uuid covered by the standard.

Nothing to do with us - this library is Ian Newby's free distribution
- it happens to be in our software download index, along with a
gazillion other free and not free software links. However, Ian isn't
known for sloppy work...

Here's the blurb:

"This library contains both the source code and compiled udf library
for guid generation. The compiled versions are for Windows or Linux.
The Windows dll was compiled using the gcc cross platform compiler.
The functions are:
create_guid() creates a 36 char string guid representation.
create_uuid() creates a 22 char string guid, which is a compressed
form where the order of the sections is reversed to allow firebirds
index prefix compression to take place. All the characters used in
this uuid are valid characters in urls.
guid_to_uuid(guid char 36) compresses and reverses a guid to make a uuid.
uuid_to_guid(uuid char 22) converts a uuid to a guid."