Re: allow benign typedef redefinitions (C11)
От | Álvaro Herrera |
---|---|
Тема | Re: allow benign typedef redefinitions (C11) |
Дата | |
Msg-id | 202509191927.uj2ijwmho7nv@alvherre.pgsql обсуждение исходный текст |
Ответ на | Re: allow benign typedef redefinitions (C11) (Álvaro Herrera <alvherre@kurilemu.de>) |
Ответы |
Re: allow benign typedef redefinitions (C11)
Re: allow benign typedef redefinitions (C11) |
Список | pgsql-hackers |
I happened to realize that brin_tuple.h (a somewhat nasty header which was only supposed to be used by BRIN itself and stuff like amcheck) recently somehow snuck into tuplesort.h with some nefarious consequences: that one has polluted execnodes.h, which means that header now depends on struct definitions that appear in genam.h. We should fix this. This patch is not the full solution, just a way to show the problem; for a definitive solution, IMO the definitions of structs IndexScanInstrumentation and SharedIndexScanInstrumentation should be elsewhere so that execnodes.h doesn't have to include genam.h. (gin_tuple.h is also there, but that one's much less of a problem.) Oh, and replication/conflict.h including all of execnodes.h is kind of ridiculous. Looks like that's easily solved with something like this though: diff --git a/src/include/pgstat.h b/src/include/pgstat.h index f402b17295c..7bcb4c68e18 100644 --- a/src/include/pgstat.h +++ b/src/include/pgstat.h @@ -11,6 +11,7 @@ #ifndef PGSTAT_H #define PGSTAT_H +#include "access/transam.h" #include "datatype/timestamp.h" #include "portability/instr_time.h" #include "postmaster/pgarch.h" /* for MAX_XFN_CHARS */ diff --git a/src/include/replication/conflict.h b/src/include/replication/conflict.h index e516caa5c73..e71b3c8f3d3 100644 --- a/src/include/replication/conflict.h +++ b/src/include/replication/conflict.h @@ -9,9 +9,14 @@ #ifndef CONFLICT_H #define CONFLICT_H -#include "nodes/execnodes.h" +#include "access/xlogdefs.h" +#include "nodes/pg_list.h" #include "utils/timestamp.h" +typedef struct EState EState; +typedef struct ResultRelInfo ResultRelInfo; +typedef struct TupleTableSlot TupleTableSlot; + /* * Conflict types that could occur while applying remote changes. * -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ "La espina, desde que nace, ya pincha" (Proverbio africano)
Вложения
В списке pgsql-hackers по дате отправления: