Hey Joshua,
I appreciate the insight. That's clear.
Thanks again,
Joshua D. Drake wrote:
Tom Lane wrote:
louis gonzales <gonzales@xxxxxxxxxxxxxx> writes:
As an example:
insertX which initiates the trigger reads the 'nextvalue' from the
sequence and begins to create the associcated table
insertY happens almost at the same time, so that it gets the same
'nextvalue' from the sequence
That won't happen because of isolation :). When InsertX increments the
sequence, it is forever incremented, so when InsertY increments it gets
the next value... e.g;
CREATE TABLE foo(id serial);
Transaction 1:
BEGIN;
INSERT INTO foo(id) VALUES (DEFAULT);
id now == 1
Transaction 2:
BEGIN;
INSERT INTO foo(id) VALUES (DEFAULT);
id now == 2
Transaction 1;
COMMIT;
Transaction 2;
COMMIT;
Even if Transaction 1 were to rollback, it has already incremented the
sequence so the next transaction would get 3.
Joshua D. Drake
[ blink... ] Whatever makes you think that could happen?
regards, tom lane
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings
--
Email: louis.gonzales@xxxxxxxxxxxxxx
WebSite: http://www.linuxlouis.net
"Open the pod bay doors HAL!" -2001: A Space Odyssey
"Good morning starshine, the Earth says hello." -Willy Wonka