Re: PATCH: Add REINDEX tag to event triggers
jian he <jian.universality@gmail.com>
From: jian he <jian.universality@gmail.com>
To: Jim Jones <jim.jones@uni-muenster.de>
Cc: Garrett Thornburg <film42@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2023-09-01T16:10:11Z
Lists: pgsql-hackers
Attachments
- v3-0001-Add-REINDEX-tag-to-event-triggers.patch (text/x-patch) patch v3-0001
On Fri, Sep 1, 2023 at 6:40 PM Jim Jones <jim.jones@uni-muenster.de> wrote: > > On 01.09.23 11:23, jian he wrote: > > because the change made in here: > > https://git.postgresql.org/cgit/postgresql.git/diff/src/backend/commands/indexcmds.c?id=11af63fb48d278b86aa948a5b57f136ef03c2bb7 > > > > I manually slight edited the patch content: > > from > > static List *ChooseIndexColumnNames(List *indexElems); > > static void ReindexIndex(RangeVar *indexRelation, ReindexParams *params, > > bool isTopLevel); > > to > > static List *ChooseIndexColumnNames(const List *indexElems); > > static void ReindexIndex(const RangeVar *indexRelation, const > > ReindexParams *params, > > bool isTopLevel); > > > > can you try the attached one. > > The patch applies cleanly. However, now the compiler complains about a > qualifier mismatch > > indexcmds.c:2707:33: warning: assignment discards ‘const’ qualifier from > pointer target type [-Wdiscarded-qualifiers] > 2707 | c > > > Perhaps 'const ReindexStmt *currentReindexStatement'? > > Tests also work just fine. I also tested it against unique and partial > indexes, and it worked as expected. > > Jim > Thanks for pointing this out! also due to commit https://git.postgresql.org/cgit/postgresql.git/commit/?id=11af63fb48d278b86aa948a5b57f136ef03c2bb7 ExecReindex function input arguments also changed. so we need to rebase this patch. change to currentReindexStatement = unconstify(ReindexStmt*, stmt); seems to work for me. I tested it, no warning. But I am not 100% sure. anyway I refactored the patch, making it git applyable also change from "currentReindexStatement = stmt;" to "currentReindexStatement = unconstify(ReindexStmt*, stmt);" due to ExecReindex function changes.
Commits
-
Fix assertion failure with REINDEX and event triggers
- c426f7c2b36a 17.0 landed
-
Add support for REINDEX in event triggers
- f21848de2013 17.0 landed
-
Doc: Improve documentation for creating custom scan paths.
- 7ef5f5fb3240 17.0 cited
-
Add const decorations
- 11af63fb48d2 17.0 cited