Be more careful to avoid including system headers after perl.h
authorJohn Naylor <john.naylor@postgresql.org>
Sat, 27 Aug 2022 04:17:36 +0000 (11:17 +0700)
committerJohn Naylor <john.naylor@postgresql.org>
Sat, 27 Aug 2022 07:45:18 +0000 (14:45 +0700)
commit4eec2e03c34f9a357d86317b1cd05d80a2ab559d
treee65d6159ad61e347fdaf76f4abfa894acc175100
parent52144b6fcd626bb7dbe9fe282329c0174620a34b
Be more careful to avoid including system headers after perl.h

Commit 121d2d3d70 included simd.h into pg_wchar.h. This caused a problem
on Windows, since Perl has "#define free" (referring to globals), which
breaks the Windows' header. To fix, move the static inline function
definitions from plperl_helpers.h, into plperl.h, where we already
document the necessary inclusion order. Since those functions were the
only reason for the existence of plperl_helpers.h, remove it.

First reported by Justin Pryzby

Diagnosis and review by Andres Freund, patch by myself per suggestion
from Tom Lane

Discussion: https://www.postgresql.org/message-id/20220826115546.GE2342%40telsasoft.com
contrib/hstore_plperl/hstore_plperl.c
contrib/jsonb_plperl/jsonb_plperl.c
src/pl/plperl/GNUmakefile
src/pl/plperl/SPI.xs
src/pl/plperl/Util.xs
src/pl/plperl/plperl.c
src/pl/plperl/plperl.h
src/pl/plperl/plperl_helpers.h [deleted file]