回复:Re: BUG #18118: bug report for COMMIT AND CHAIN feature
刘相 (佑熙) <evan.lx@alibaba-inc.com>
From: 刘相(佑熙) <evan.lx@alibaba-inc.com>
To: "Laurenz Albe" <laurenz.albe@cybertec.at>,
"pgsql-bugs" <pgsql-bugs@lists.postgresql.org>
Date: 2023-09-21T07:12:18Z
Lists: pgsql-bugs
This problem seems to have been solved in v15 and v16. Because of this patch (12d768e70497afc5a57acf73c251316997b5175a), the use of static variables has been cancelled. But this problem can obviously be reproduced on v14(and perhaps v12 v13). Try the following SQL again. START TRANSACTION ISOLATION LEVEL SERIALIZABLE; COMMIT AND CHAIN; COMMIT ; START TRANSACTION ISOLATION LEVEL SERIALIZABLE; COMMIT ; START TRANSACTION ISOLATION LEVEL REPEATABLE READ; savepoint s; COMMIT AND CHAIN; SHOW transaction_isolation; -- transaction is active at this point COMMIT;------------------------------------------------------------------ 发件人:Laurenz Albe<laurenz.albe@cybertec.at> 日 期:2023年09月21日 14:41:20 收件人:刘相(佑熙)<evan.lx@alibaba-inc.com>; <pgsql-bugs@lists.postgresql.org> 主 题:Re: BUG #18118: bug report for COMMIT AND CHAIN feature On Wed, 2023-09-20 at 09:31 +0000, PG Bug reporting form wrote: > PostgreSQL version: 14.9 > Operating system: centos7 > Description: > > COMMIT(280a408b48d5ee42969f981bceb9e9426c3a344c) provides a way to support > chained commits. During recent development, I found that it left a flaw. > > The defect can be reproduced as follows: > > START TRANSACTION ISOLATION LEVEL SERIALIZABLE; COMMIT; > START TRANSACTION ISOLATION LEVEL REPEATABLE READ\; savepoint s\; COMMIT AND > CHAIN; > SHOW transaction_isolation; -- transaction is active at this point > COMMIT; > > will get: > postgres=*# SHOW transaction_isolation; -- transaction is active at this > point > transaction_isolation > ----------------------- > serializable > (1 row) I tried to reproduce that and failed, both with v14 and v16. For me, "transaction_isolation" is "repeatable read". Yours, Laurenz Albe
Commits
-
Fix COMMIT/ROLLBACK AND CHAIN in the presence of subtransactions.
- 7cabb20a95ae 12.17 landed
- 77dc81602789 15.5 landed
- 555a8d9d37a2 13.13 landed
- 10323f140fef 14.10 landed
- 48e2b234f822 17.0 landed
- 227c7cf15602 16.1 landed
-
Don't use static storage for SaveTransactionCharacteristics().
- 12d768e70497 15.0 cited
-
Transaction chaining
- 280a408b48d5 12.0 cited