|
Great!
Now....I guess when the insert
fails, via iBatis and an SQL_Map, I will get an SQLExceptiion. Is there an easy
way to find the -803?
I want to intercept it and
re-throw only non 803 exceptions.
thanks,
Edwin
----- Original Message -----
Sent: Friday, September 15, 2006 12:08
PM
Subject: Re: finding unique keys
I just looked to see how Spring does it with DB2. They do look for
-803 as the error code from the SqlException. So I think your plan
sounds good.
Jeff Butler
On 9/15/06, Edwin
Lukaweski <[EMAIL PROTECTED]> wrote:
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 >> > >> >> > > >>
> >> > >>
> >> >> >
|