Alvaro Herrera <alvhe...@alvh.no-ip.org> writes: > Fix progress reporting of CLUSTER / VACUUM FULL
Not a new problem of this patch, exactly, but: /* Reindex options */ #define REINDEXOPT_VERBOSE 1 << 0 /* print progress info */ +#define REINDEXOPT_REPORT_PROGRESS 1 << 1 /* report pgstat progress */ Surely these macro definitions are incredibly dangerous due to their lack of parentheses. I'd initially thought that we already had bugs in existing usages like if (options & REINDEXOPT_VERBOSE) After consulting a nearby C reference I see that we're accidentally saved by << having higher priority than &, but this is not safely- maintainable code. Expressions like "~REINDEXOPT_VERBOSE" would not do what one expects. regards, tom lane