Thanks for all the feed back!!!
Some answers:
1) I am using DB2 for z/OS version 7
2) Yes, UUID's are by definition 'universally unique', excpept whe two
are gengerated, say by two different JVMs, within the same millisecond.
The, they turn out to be duplicates.
3) I like the idea of doing an optimistic INSERT. I have always had
trouble figuring which sql code to look for that represents this situation.
As best I can tell, it is SQLCODE 803. So, if I see this code in an
exception, loop again, otherwise throw a real sqlexception.
What do you think?
thanks,
Edwin
----- Original Message -----
From: "Larry Meadors" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Friday, September 15, 2006 11:03 AM
Subject: Re: finding unique keys
+1 ;-)
Larry
On 9/15/06, Jeff Butler <[EMAIL PROTECTED]> wrote:
Some thoughts...
1. Aren't UUID's "universally unique" by definition? Are you sure you
need
to do this?
2. Table locking is almost always a bad idea. I had a similar situation
to
yours in that past, and decided to take the optomistic route, meaning...
- generate the key
- insert the record
- if the insert blows because of a duplicate key, then generate a new key
and try again
Since the likelihood of generating a duplicate UUID should be very low,
this
approcah will work in the vast majority of cases.
Jeff Butler
On 9/15/06, Edwin Lukaweski <[EMAIL PROTECTED]> wrote:
> Thanks for the answer.
>
> I am stuck with an existing table definition, in a schema, that I
cannot
> modify at this point due to being in production.
>
> So, this is the best method I can come up with.
>
> also....now you have tweaked my curiosity. In addition to the advice
> I
> am seeking, it I could alter the table definition to use some form of
> auto-increment, how would I retrieve the generated value in iBatis?
>
> So.....I now have two questions.
>
> thanks,
> Ediwn
>
> ----- Original Message -----
> From: "Larry Meadors" < [EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Friday, September 15, 2006 10:14 AM
> Subject: Re: finding unique keys
>
>
> > One question: Why not just let the database do it and have it tell
> > you
> > the generated key?
> >
> > Larry
> >
> >
> > On 9/15/06, Edwin Lukaweski <[EMAIL PROTECTED]> wrote:
> >>
> >>
> >> Hi:
> >>
> >> I have a situation for which I need some advice while using
> >> iBatis.
> >>
> >> What I would like to do is:
> >>
> >> 1) generate a unique UUID style value in my Java program
> >>
> >> 2) lock a table, say tabxx
> >>
> >> 3) SELECT on the table to see if the UUID exists as a key
> >>
> >> 4) if so, add 1 to the key and go to step 3
> >>
> >> 5) if the key does NOT exist, insert the record
> >>
> >> 6) unlock the table
> >>
> >> Can anyone get me advice as to how to do this with iBatis?
> >>
> >> Thanks, very musch, in advance
> >>
> >> Edwin
> >>
> >
>
>
>