Just to be clear, I wasn't suggesting using CMPSWP instead of the database's own mechanism, but if you must generate your own ID's, it's one way of doing it.
________________________________
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> on behalf of Mark Waterbury <mark.s.waterbury@xxxxxxxxxxxxx>
Sent: 15 December 2020 00:00
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: The age-old database design question - Integers or GUID/UUID for primary keys ? What are your thoughts ?
My understanding is that Db2i uses CMPSWP "under the covers" to implement the "IDENTITY" capability.
Just saying ...
On Monday, December 14, 2020, 5:33:44 PM EST, Peter Dow <petercdow@xxxxxxxxx> wrote:
Hi James,
Yes, and correctly done application-wide, you theoretically shouldn't
need to pre-check for existence or worry about duplicates when writing.
And since this about design, presumably of a new application, that makes
sense.
Tim Father's suggestion of CMPSWP is interesting -- I'd never heard of
that. Sounds like a good basis for an identifier factory.
--
*Peter Dow* /
Dow Software Services, Inc.
909 793-9050
petercdow@xxxxxxxxx <mailto:petercdow@xxxxxxxxx>
pdow@xxxxxxxxxxxxxx <mailto:pdow@xxxxxxxxxxxxxx>
/
On 12/14/2020 1:14 PM, James H. H. Lampert wrote:
On 12/14/20 10:37 AM, Peter Dow wrote:
Pre-checking for existence doesn't always work. If you have a bunch
of jobs adding to the file at the same time, there's a pretty good
chance that between the time you pre-check and when you write the
record, that some other job may beat you to the write.
So have your identifier factory set up in such a way that calling it
puts an exclusive lock on something, that the calling program then has
to explicitly release once the new record has been written.
--
JHHL
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at
https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at
https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.