postgresql/src/test/modules/Makefile
Andrew Dunstan 3311ea86ed Introduce a non-recursive JSON parser
This parser uses an explicit prediction stack, unlike the present
recursive descent parser where the parser state is represented on the
call stack. This difference makes the new parser suitable for use in
incremental parsing of huge JSON documents that cannot be conveniently
handled piece-wise by the recursive descent parser. One potential use
for this will be in parsing large backup manifests associated with
incremental backups.

Because this parser is somewhat slower than the recursive descent
parser, it  is not replacing that parser, but is an additional parser
available to callers.

For testing purposes, if the build is done with -DFORCE_JSON_PSTACK, all
JSON parsing is done with the non-recursive parser, in which case only
trivial regression differences in error messages should be observed.

Author: Andrew Dunstan
Reviewed-By: Jacob Champion

Discussion: https://postgr.es/m/7b0a51d6-0d9d-7366-3a1a-f74397a02f55@dunslane.net
2024-04-04 06:46:40 -04:00

69 lines
1.3 KiB
Makefile

# src/test/modules/Makefile
subdir = src/test/modules
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
SUBDIRS = \
brin \
commit_ts \
delay_execution \
dummy_index_am \
dummy_seclabel \
libpq_pipeline \
plsample \
spgist_name_ops \
test_bloomfilter \
test_copy_callbacks \
test_custom_rmgrs \
test_ddl_deparse \
test_dsa \
test_dsm_registry \
test_extensions \
test_ginpostinglist \
test_integerset \
test_json_parser \
test_lfind \
test_misc \
test_oat_hooks \
test_parser \
test_pg_dump \
test_predtest \
test_radixtree \
test_rbtree \
test_regex \
test_resowner \
test_rls_hooks \
test_shm_mq \
test_slru \
test_tidstore \
unsafe_tests \
worker_spi \
xid_wraparound
ifeq ($(enable_injection_points),yes)
SUBDIRS += injection_points gin
else
ALWAYS_SUBDIRS += injection_points gin
endif
ifeq ($(with_ssl),openssl)
SUBDIRS += ssl_passphrase_callback
else
ALWAYS_SUBDIRS += ssl_passphrase_callback
endif
# Test runs an LDAP server, so only run if ldap is in PG_TEST_EXTRA
ifeq ($(with_ldap),yes)
ifneq (,$(filter ldap,$(PG_TEST_EXTRA)))
SUBDIRS += ldap_password_func
else
ALWAYS_SUBDIRS += ldap_password_func
endif
else
ALWAYS_SUBDIRS += ldap_password_func
endif
$(recurse)
$(recurse_always)