Re: pgsql: Fix progress reporting of CLUSTER / VACUUM FULL
От | Tom Lane |
---|---|
Тема | Re: pgsql: Fix progress reporting of CLUSTER / VACUUM FULL |
Дата | |
Msg-id | 19795.1568400476@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | pgsql: Fix progress reporting of CLUSTER / VACUUM FULL (Alvaro Herrera <alvherre@alvh.no-ip.org>) |
Ответы |
Re: pgsql: Fix progress reporting of CLUSTER / VACUUM FULL
Re: pgsql: Fix progress reporting of CLUSTER / VACUUM FULL |
Список | pgsql-committers |
Alvaro Herrera <alvherre@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
В списке pgsql-committers по дате отправления: