Re: duplicates - Mailing list pgsql-admin

From Jean-Luc Lachance
Subject Re: duplicates
Date
Msg-id 413C75E5.7090406@sympatico.ca
Whole thread Raw
In response to Re: duplicates  ("Michael Paesold" <mpaesold@gmx.at>)
List pgsql-admin
If the reccord you are inserting do not depend on data in the record you
want to delete, why not simply use a trigger?

Before insert delete the record with the same key!



Michael Paesold wrote:

> 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
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
>

pgsql-admin by date:

Previous
From: "Andrei Bintintan"
Date:
Subject: How to rename a constraint/trigger??
Next
From: Tsirkin Evgeny
Date:
Subject: SELECT waiting