On Mon, Sep 18, 2006 at 04:17:50PM -0500, Jim C. Nasby wrote: > On Mon, Sep 18, 2006 at 12:23:16PM -0400, [EMAIL PROTECTED] wrote: > > I have UUID generation in core in my current implementation. In the > > last year that I've been using it, I have already chosen twice to > > generate UUIDs from my calling program. I find it faster, as it avoids > > have to call out to PostgreSQL twice. Once to generate the UUID, and > > once to insert the row using it. I have no strong need for UUID > > generation to be in core, and believe there does exist strong reasons > > not to. Performance is better when not in core. Portability of > > PostgreSQL is better when not in core. Ability to control how UUID is > > defined is better when not in control. > That's kinda short-sighted. You're assuming that the only place you'll > want to generate UUIDs is outside the database. What about a stored > procedure that's adding data to the database? How about populating a > table via a SELECT INTO? There's any number of cases where you'd want to > generate a UUID inside the database.
contrib module. > > The only thing an in-core version provides is convenience for those > > that do not have easy access to a UUID generation library. I don't > > care for that convenience. > It's not about access to a library, it's about how do you get to that > library from inside the database, which may not be very easy. > You may not care for that convenience, but I certainly would. Then load the contrib module. I do both. I'd happily reduce my contrib module to be based upon a built-in UUID type within PostgreSQL, providing the necessary UUID generation routines. 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. Cheers, mark -- [EMAIL PROTECTED] / [EMAIL PROTECTED] / [EMAIL PROTECTED] __________________________ . . _ ._ . . .__ . . ._. .__ . . . .__ | 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/ ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org