Problems ensuring uniqueness?
От | Christopher Smith |
---|---|
Тема | Problems ensuring uniqueness? |
Дата | |
Msg-id | 992898628.6594.1.camel@rivest.xdrive.com обсуждение исходный текст |
Ответы |
Re: Problems ensuring uniqueness?
|
Список | pgsql-sql |
Hi there. I'm currently using Postgresql 7.0.3, accessing using the JDBC drivers. I'm enforcing the most severe transaction isolation available (serializable). I'm currently doing something like the following (this is pseudo code, with the if being performed in Java): begin lock table foo in access exclusive mode select count(*) from foo where key1 = bar, key2 = baz if count > 1 rollback else insert into foo (key1, key2, other) values (bar, baz, stuff) commit Now, table foo has a primary key made up of key1 & key2. Without concurrent access, the code works great. However, provided I use enough threads, I inevitably get back errors from the database indicating that I've tried to insert a record which violates the uniquness of the primary key. Is there away to avoid this error by doing my SQL & locking properly, or should I just catch the exception and deal with it? --Chris
В списке pgsql-sql по дате отправления: