ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Butler" <jeffgbut...@gmail.com>
Subject Re: finding unique keys
Date Fri, 15 Sep 2006 16:08:44 GMT
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 <serjann@rogers.com> 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" <lmeadors@apache.org>
> To: <user-java@ibatis.apache.org>
> Sent: Friday, September 15, 2006 11:03 AM
> Subject: Re: finding unique keys
>
>
> > +1 ;-)
> >
> > Larry
> >
> >
> > On 9/15/06, Jeff Butler <jeffgbutler@gmail.com> 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 <serjann@rogers.com> 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" < lmeadors@apache.org>
> >> > To: <user-java@ibatis.apache.org>
> >> > 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 <serjann@rogers.com> 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
> >> > >>
> >> > >
> >> >
> >> >
> >> >
> >>
> >>
> >
>
>
>

Mime
View raw message