Re: Question regarding how databases support atomicity - Mailing list pgsql-general

From Siddharth Jain
Subject Re: Question regarding how databases support atomicity
Date
Msg-id CAPqV3pQquw63Fv_fCJzAAnUWk86qHfg1cH=+mJ2N=4LGdDyrNw@mail.gmail.com
Whole thread Raw
Responses Re: Question regarding how databases support atomicity
Re: Question regarding how databases support atomicity
List pgsql-general


On Fri, May 3, 2024 at 8:00 PM Siddharth Jain <siddhsql@gmail.com> wrote:
I am trying to sharpen my understanding of databases. Let's say there is an operation foo as part of the public API that internally translates to more than 1 operation - I am sure there are examples like this in postgres. So to do foo we have to do following in order in all or none fashion:

1. Step 1
2. Step 2
3. Step 3

The way I understand this is that if there is a failure in-between, we start undoing and reverting the previous operations one by one. But what if there is a failure and we are not able to revert an operation. How is that situation handled? e.g., something failed when we tried to do Step 3. now we revert Step 2 and succeed. but when we try to revert step 1 we fail. what happens now? To me, it seems its impossible to guarantee true atomicity in general.

S.

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: How to Build Postgres in a Portable / Relocatable fashion?
Next
From: "David G. Johnston"
Date:
Subject: Re: Question regarding how databases support atomicity