Re: [Proposal] Allow users to specify multiple tables in VACUUM commands
Masahiko Sawada <sawada.mshk@gmail.com>
From: Masahiko Sawada <sawada.mshk@gmail.com>
To: Michael Paquier <michael.paquier@gmail.com>
Cc: "Bossart, Nathan" <bossartn@amazon.com>,
"David G. Johnston" <david.g.johnston@gmail.com>, Robert Haas <robertmhaas@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>,
Tom Lane <tgl@sss.pgh.pa.us>
Date: 2017-09-05T04:19:18Z
Lists: pgsql-hackers
On Tue, Sep 5, 2017 at 12:24 PM, Michael Paquier <michael.paquier@gmail.com> wrote: > On Tue, Sep 5, 2017 at 12:05 PM, Masahiko Sawada <sawada.mshk@gmail.com> wrote: >> In get_rel_oids() we often switch the memory context to vac_context >> and switch back. As a result almost code in get_rel_oids() is working >> in vac_context. Maybe we can switch memory context before and after >> the calling get_rel_oids? > > I thought about that as well, and it seemed to me that the current > patch approach is less bug-prone for the future if get_rel_oids() gets > called in some future code paths. Okay, I agree. Also I found that dedupe_relations() eventually allocates the list in current memory context that may not be vac_context and set it to *relations at the end of that function. I think we should switch the memory context to vac_context before doing that. Or to more simplify the code maybe we can do the all treatment of the relations list after switching to vac_context. For example, oldcontext = MemoryContextSwtichTo(vac_context) relations = copyObject(relations); get_rel_oids(&relations); check_colums_exist(relations); dedupe_relations(&relations); MemoryContextSwtichTo(oldcontext); Regards, -- Masahiko Sawada NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center
Commits
-
Allow multiple tables to be specified in one VACUUM or ANALYZE command.
- 11d8d72c27a6 11.0 landed
-
Give a better error for duplicate entries in VACUUM/ANALYZE column list.
- ea31541f5648 9.6.6 landed
- e56facd8b300 9.2.24 landed
- b572b435ca67 9.4.15 landed
- a2b1eb23496e 10.0 landed
- a09d8be7ddaf 9.3.20 landed
- 71480501057f 11.0 landed
- 122289a66b92 9.5.10 landed
-
Reject ANALYZE commands during VACUUM FULL or another ANALYZE.
- e415b469b33b 9.5.0 cited