I'm having a race condition with a FIFO queue program that I've created... CREATE TABLE fifo ( id serial, data varchar(100), status int4 DEFAULT 0 );
I have a program that claims a row for itself my $processid = $$; my $sql_update = <<EOS; UPDATE fifo set status=$processid WHERE id = (SELECT min(id) FROM fifo WHERE status=0); EOS I can then my $sql_get = <<EOS SELECT data FROM fifo WHERE status=$processid EOS The problem occurrs when two of the processes grab the exact same row at the exact same instant. It happens roughly 1 out of 1000 times. I'm not sure if setting the transactions to serializable would fix the problem since it occurrs between different postmasters. My experience with Views and Triggers is minimal. Would they even help? Could someone suggest a better FIFO queue method? __________________________________________________ Do you Yahoo!? HotJobs - Search new jobs daily now http://hotjobs.yahoo.com/ ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])