From: | Andrew Hardy <andrew(dot)hardy(at)sabstt(dot)com> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: DELETING then INSERTING record with same PK in the same TRANSACTION |
Date: | 2022-02-10 08:16:53 |
Message-ID: | CAKxhU8iHOyOn90QhkzbdJqGe8DvtHupEDW8pQH7Lx4X3ineM_Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
As requested here is a full script and the issue does not arise.
My sincere apologies it appears the issue is most likely with my client
programming code.
My first ever post here. I shall definitely be providing a full working
SQL script from the very start on any future post.
Many thanks and apologies again.
CREATE TABLE public.itineraryx (
dk varchar(10) NULL,
"locator" varchar(20) NOT NULL,
CONSTRAINT itinerary_pkeyx PRIMARY KEY (locator)
);
CREATE TABLE public.hotel_bookingx (
itinerary varchar(20) NULL,
"hotelName" varchar(50) NULL,
id bigserial NOT NULL,
CONSTRAINT hotel_booking_pkeyx PRIMARY KEY (id)
);
ALTER TABLE public.hotel_bookingx ADD CONSTRAINT
hotel_booking_itinerary_foreignx FOREIGN KEY (itinerary) REFERENCES
itineraryx(locator) ON DELETE CASCADE;
INSERT INTO public.itineraryx
(dk, "locator")
VALUES('tba', 'TEST0001');
INSERT INTO public.hotel_bookingx
(itinerary, "hotelName")
VALUES('TEST0001', 'Crown');
BEGIN TRANSACTION;
delete from itineraryx i where i."locator" = 'TEST0001';
INSERT INTO public.itineraryx
(dk, "locator")
VALUES('tba2', 'TEST0001');
INSERT INTO public.hotel_bookingx
(itinerary, "hotelName")
VALUES('TEST0001', 'Crown2');
COMMIT TRANSACTION;
On Wed, 9 Feb 2022 at 20:01, Andrew Hardy <andrew(dot)hardy(at)sabstt(dot)com> wrote:
> Really appreciate the input thank you.
>
> I shall try to provide a full script, I guess if the cascades are relevant
> in going to have to also provide all of the indirect table creations and
> all of the earlier inserts to those various tables.
>
> At the very least I'll try to provide a fuller error message and a minimum
> structure that will cause it to occur.
>
> Andrew
>
>
> On Wed, 9 Feb 2022, 19:26 David G. Johnston, <david(dot)g(dot)johnston(at)gmail(dot)com>
> wrote:
>
>> On Wed, Feb 9, 2022 at 11:12 AM Andrew Hardy <andrew(dot)hardy(at)sabstt(dot)com>
>> wrote:
>>
>>> Do I need some particular kind of settings on my transaction to be able
>>> to delete and insert afresh in the same transaction?
>>>
>>
>> No. I cannot reproduce your claim with a trivial example on stock 13.5.
>>
>> You will need to be less vague and at least provide an exact reproducer
>> script.
>>
>> In case it is relevant - the first delete will lead to cascaded deletes
>>> on children.
>>>
>>
>> This may indeed be relevant. Again, you need to provide an exact
>> reproducer, not expect others to reverse-engineer one for you.
>>
>> David J.
>>
>>
From | Date | Subject | |
---|---|---|---|
Next Message | Karsten Hilbert | 2022-02-10 09:13:16 | Re: Can we go beyond the standard to make Postgres radically better? |
Previous Message | Simon Riggs | 2022-02-10 07:00:17 | Re: Undetected Deadlock |