Re: Forbid to DROP temp tables of other sessions
Daniil Davydov <3danissimo@gmail.com>
From: Daniil Davydov <3danissimo@gmail.com>
To: Michael Paquier <michael@paquier.xyz>, Tom Lane <tgl@sss.pgh.pa.us>,
pgsql-hackers@postgresql.org
Date: 2024-10-29T06:21:40Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
pg_basebackup: Add missing PQclear in error path
- a19db0827496 18.0 landed
Attachments
- iso_1.patch (application/x-patch) patch
- temp_tbl_fix.patch (application/x-patch) patch
Hi, Thanks for your comments, I appreciate them. As I continued to deal with the topic of working with temp tables of other sessions, I noticed something like a bug. For example (REL_17_STABLE): Session 1: =# CREATE TEMP TABLE test(id int); Session 2: =# INSERT INTO pg_temp_0.test VALUES (1); =# INSERT INTO pg_temp_0.test VALUES (2); Second INSERT command will end with an error "cannot access temporary tables of other sessions". I checked why this is happening and found errors in several places. So, I attach two files to this email : 1) Isolation test, that shows an error in REL_17_STABLE (iso_1.patch) 2) Patch that fixes code that mistakenly considered temporary tables to be permanent (I will be glad to receive feedback on these fixes) + isolation test, which shows that now any action with temp table of other session leads to error (temp_tbl_fix.patch) Tests look kinda ugly, but I think it's inevitable, given that we don't know exactly what the name of the temporary schema of other session will be. -- Best regards, Daniil Davydov