heetch / heetch/sqalx

Nested transactions in postgres

Open
#17 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Go
Stars
158
Forks
22
PR merge metrics
No merged PRs in 30d

Description

Hi, thanks for this lib as this is really needed.

Looking at the code, I'm not sure I understand how nested transactions work... As far as I understand, Beginx() uses the same Node object and just does a savepoint and overrides the last savepoint that happened?

If I understand code correctly, below code with 2 savepoints would not work?

```
create table testtable (
field1 text,
field2 int
)

begin transaction

insert into testtable (field1, field2) values ('edsa', 1)

SAVEPOINT sp_1;

insert into testtable (field1, field2) values ('eds22a', 13)

SAVEPOINT sp_2;

insert into testtable (field1, field2) values ('eds22eea', 123)

-- 3 rows
select * from testtable

ROLLBACK TO SAVEPOINT sp_2;

-- 2 rows
select * from testtable

ROLLBACK TO SAVEPOINT sp_1;

-- 1 row
select * from testtable

rollback transaction
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.