On Sat, Dec 12, 2020 at 01:45:26PM -0600, Justin Pryzby wrote: > On Sat, Dec 12, 2020 at 09:20:35AM +0100, Peter Eisentraut wrote: > > On 2020-12-11 21:27, Alvaro Herrera wrote: > > > By the way-- What did you think of the idea of explictly marking the > > > types used for bitmasks using types bits32 and friends, instead of plain > > > int, which is harder to spot? > > > > If we want to make it clearer, why not turn the thing into a struct, as in > > the attached patch, and avoid the bit fiddling altogether. > > I like this. > It's a lot like what I wrote as [PATCH v31 1/5] ExecReindex and ReindexParams > In my v31 patch, I moved ReindexOptions to a private structure in indexcmds.c, > with an "int options" bitmask which is passed to reindex_index() et al. Your > patch keeps/puts ReindexOptions index.h, so it also applies to reindex_index, > which I think is good. > > So I've rebased this branch on your patch.
Also, the cfbot's windows VS compilation failed due to "compound literal", which I don't think is used anywhere else. https://ci.appveyor.com/project/postgresql-cfbot/postgresql/build/1.0.120108 src/backend/commands/cluster.c(1580): warning C4133: 'return' : incompatible types - from 'List *' to 'int *' [C:\projects\postgresql\postgres.vcxproj] "C:\projects\postgresql\pgsql.sln" (default target) (1) -> "C:\projects\postgresql\cyrillic_and_mic.vcxproj" (default target) (5) -> "C:\projects\postgresql\postgres.vcxproj" (default target) (6) -> (ClCompile target) -> src/backend/commands/cluster.c(1415): error C2059: syntax error : '}' [C:\projects\postgresql\postgres.vcxproj] src/backend/commands/cluster.c(1534): error C2143: syntax error : missing '{' before '*' [C:\projects\postgresql\postgres.vcxproj] src/backend/commands/cluster.c(1536): error C2371: 'get_tables_to_cluster' : redefinition; different basic types [C:\projects\postgresql\postgres.vcxproj] src/backend/commands/indexcmds.c(2462): error C2059: syntax error : '}' [C:\projects\postgresql\postgres.vcxproj] src/backend/commands/tablecmds.c(1894): error C2059: syntax error : '}' [C:\projects\postgresql\postgres.vcxproj] My fix! patch resolves that. -- Justin