Re: duplicates

Поиск
Список
Период
Сортировка
От Michael Paesold
Тема Re: duplicates
Дата
Msg-id 00ea01c4940d$59f54b30$ad01a8c0@zaphod
обсуждение исходный текст
Ответ на duplicates  (Tsirkin Evgeny <tsurkin@mail.jct.ac.il>)
Ответы Unable to connect to a specific database
Список pgsql-admin
Tsirkin Evgeny wrote:


> one moer question ,how did you tested it?
>
> > I have tested this here. I don't really know if this is just the case
with
> > Best Regards,
> > Michael Paesold

First I created the your schedule table. Then I opened two psql sessions...

Session A                Session B

BEGIN;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
DELETE FROM schedule WHERE studentid = 1;
INSERT INTO schedule VALUES (1, 1, 0, 0);

                         BEGIN;
                         SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
                         DELETE FROM schedule WHERE studentid = 1;
                         -- if there existed records for this delete,
                         -- session B will now wait for session A to
                         -- commit/rollback and error out on commit;
                         -- otherwise no error


COMMIT;
                         INSERT INTO schedule VALUES (1, 1, 0, 0);
                         COMMIT;


You can also try and rollback the first transaction etc.

Again, what really helps is:
ALTER TABLE schedule ADD CONSTRAINT uniq_schedule UNIQUE (studentid,
groupid);

Best Regards,
Michael Paesold



В списке pgsql-admin по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Help: my table is corrupt!
Следующее
От: "Thomas F.O'Connell"
Дата:
Сообщение: Re: Table Partitioning