mirror of
https://github.com/postgres/postgres.git
synced 2025-12-24 06:01:07 +03:00
Create contrib/bool_plperl to provide a bool transform for PL/Perl[U].
plperl's default handling of bool arguments or results is not terribly satisfactory, since Perl doesn't consider the string 'f' to be false. Ideally we'd just fix that, but the backwards-compatibility hazard would be substantial. Instead, build a TRANSFORM module that can be optionally applied to provide saner semantics. Perhaps usefully, this is also about the minimum possible skeletal example of a plperl transform module; so it might be a better starting point for user-written transform modules than hstore_plperl or jsonb_plperl. Ivan Panchenko Discussion: https://postgr.es/m/1583013317.881182688@f390.i.mail.ru
This commit is contained in:
39
contrib/bool_plperl/Makefile
Normal file
39
contrib/bool_plperl/Makefile
Normal file
@@ -0,0 +1,39 @@
|
||||
# contrib/bool_plperl/Makefile
|
||||
|
||||
MODULE_big = bool_plperl
|
||||
OBJS = \
|
||||
$(WIN32RES) \
|
||||
bool_plperl.o
|
||||
PGFILEDESC = "bool_plperl - bool transform for plperl"
|
||||
|
||||
PG_CPPFLAGS = -I$(top_srcdir)/src/pl/plperl
|
||||
|
||||
EXTENSION = bool_plperlu bool_plperl
|
||||
DATA = bool_plperlu--1.0.sql bool_plperl--1.0.sql
|
||||
|
||||
REGRESS = bool_plperl bool_plperlu
|
||||
|
||||
ifdef USE_PGXS
|
||||
PG_CONFIG = pg_config
|
||||
PGXS := $(shell $(PG_CONFIG) --pgxs)
|
||||
include $(PGXS)
|
||||
else
|
||||
subdir = contrib/bool_plperl
|
||||
top_builddir = ../..
|
||||
include $(top_builddir)/src/Makefile.global
|
||||
include $(top_srcdir)/contrib/contrib-global.mk
|
||||
endif
|
||||
|
||||
# We must link libperl explicitly
|
||||
ifeq ($(PORTNAME), win32)
|
||||
# these settings are the same as for plperl
|
||||
override CPPFLAGS += -DPLPERL_HAVE_UID_GID -Wno-comment
|
||||
# ... see silliness in plperl Makefile ...
|
||||
SHLIB_LINK_INTERNAL += $(sort $(wildcard ../../src/pl/plperl/libperl*.a))
|
||||
else
|
||||
rpathdir = $(perl_archlibexp)/CORE
|
||||
SHLIB_LINK += $(perl_embed_ldflags)
|
||||
endif
|
||||
|
||||
# As with plperl we need to include the perl_includespec directory last.
|
||||
override CPPFLAGS := $(CPPFLAGS) $(perl_embed_ccflags) $(perl_includespec)
|
||||
Reference in New Issue
Block a user