Subject Guid Support in Firebird
Author Ian A. Newby
Hi all,
We are contemplating moving one of our applications from MS
SQL2000 to Firebird on Linux. The only sticking point so far is GUID
support. Our product runs on multiple servers on ships and the data
is collated back to a home port. The SQL server version uses guids
for all the primary keys on all the tables.

I have been looking into guid support and noted a number of things:

1. There is outstanding feature request for this.
2. Normal guids (generated using mac address etc) are not optimised
for firebird indexes, they need to be reordered.
3. A number of third party UDF's exist to create guids for windows.
I have been unable to find one for linux.
4. Linux has a library to create guids, libuuid. It is part of the
e2fsprogs package.

To implement guid support cross platform either a udf is required
which does different things on different platforms or the engine
needs to be extended to do the same.

Does a udf exist for both windows and linux to create guids?

Would it be possible to re-use the GEN_ID function with no
parameters to generate a guid? is it desirable? How should a guid be
stored in the database, should a new datatype be created?

I am asking these questions with no home of implementing it myself
(Delphi programmer), however before Christmas we should be
recruiting a C++ programmer who may be able to look into it.

Ian Newby