Re: Prepare Transaction support for ON COMMIT DROP temporary tables
От | Vik Fearing |
---|---|
Тема | Re: Prepare Transaction support for ON COMMIT DROP temporary tables |
Дата | |
Msg-id | 4a32d8f7-640d-fd96-5f80-f716d2eaf9af@2ndquadrant.com обсуждение исходный текст |
Ответ на | Re: Prepare Transaction support for ON COMMIT DROP temporary tables (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Prepare Transaction support for ON COMMIT DROP temporary tables
|
Список | pgsql-hackers |
On 16/01/2019 17:44, Robert Haas wrote: > On Mon, Jan 14, 2019 at 1:41 PM Dimitri Fontaine <dimitri@citusdata.com> wrote: >> One idea would be that if every temp table in the session belongs to the >> transaction, and their namespace too (we could check through pg_depend >> that the namespace doesn't contain anything else beside the >> transaction's tables), then we could dispose of the temp schema and >> on-commit-drop tables at PREPARE COMMIT time. > > Why not just drop any on-commit-drop tables at PREPARE TRANSACTION > time and leave the schema alone? If there are any temp tables touched > by the transaction which are not on-commit-drop then we'd have to > fail, but as long as all the tables we've got are on-commit-drop then > it seems fine to just nuke them at PREPARE time. Such tables must've > been created in the current transaction, because otherwise the > creating transaction aborted and they're gone for that reason, or it > committed and they're gone because they're on-commit-drop. And > regardless of whether the transaction we are preparing goes on to > commit or abort, those tables will be gone afterwards for the same > reasons. So there doesn't in this case seem to be any reason to keep > them around until the transaction's fate is known. Isn't that what happens already? PrepareTransaction() calls PreCommit_on_commit_actions() from what I can tell. -- Vik Fearing +33 6 46 75 15 36 http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support
В списке pgsql-hackers по дате отправления: