pgsql: Improve pgbench definition of yyscan_t
От | Peter Eisentraut |
---|---|
Тема | pgsql: Improve pgbench definition of yyscan_t |
Дата | |
Msg-id | E1uwxAa-000Ik3-09@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Improve pgbench definition of yyscan_t It was defining yyscan_t as a macro while the rest of the code uses a typedef with #ifdef guards around it. The latter is also what the flex generated code uses. So it seems best to make it look like those other places for consistency. The old way also had a potential for conflict if some code included multiple headers providing yyscan_t. exprscan.l includes #include "fe_utils/psqlscan_int.h" #include "pgbench.h" and fe_utils/psqlscan_int.h contains #ifndef YY_TYPEDEF_YY_SCANNER_T #define YY_TYPEDEF_YY_SCANNER_T typedef void *yyscan_t; #endif which was then followed by pgbench.h #define yyscan_t void * and then the generated code in exprscan.c #ifndef YY_TYPEDEF_YY_SCANNER_T #define YY_TYPEDEF_YY_SCANNER_T typedef void* yyscan_t; #endif This works, but if the #ifdef guard in psqlscan_int.h is removed, this fails. We want to move toward allowing repeat typedefs, per C11, but for that we need to make sure they are all the same. Reviewed-by: Chao Li <li.evan.chao@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/10d32190-f31b-40a5-b177-11db55597355@eisentraut.org Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/675ddc4d704f4cde0bc72244263a9efbb0d32cb8 Modified Files -------------- src/bin/pgbench/pgbench.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
В списке pgsql-committers по дате отправления: