postgresql/src/test/modules
Tom Lane 4643a2b265 Support retrieval of results in chunks with libpq.
This patch generalizes libpq's existing single-row mode to allow
individual partial-result PGresults to contain up to N rows, rather
than always one row.  This reduces malloc overhead compared to plain
single-row mode, and it is very useful for psql's FETCH_COUNT feature,
since otherwise we'd have to add code (and cycles) to either merge
single-row PGresults into a bigger one or teach psql's
results-printing logic to accept arrays of PGresults.

To avoid API breakage, PQsetSingleRowMode() remains the same, and we
add a new function PQsetChunkedRowsMode() to invoke the more general
case.  Also, PGresults obtained the old way continue to carry the
PGRES_SINGLE_TUPLE status code, while if PQsetChunkedRowsMode() is
used then their status code is PGRES_TUPLES_CHUNK.  The underlying
logic is the same either way, though.

Daniel Vérité, reviewed by Laurenz Albe and myself (and whacked
around a bit by me, so any remaining bugs are my fault)

Discussion: https://postgr.es/m/CAKZiRmxsVTkO928CM+-ADvsMyePmU3L9DQCa9NwqjvLPcEe5QA@mail.gmail.com
2024-04-06 20:45:11 -04:00
..
brin Update copyright for 2024 2024-01-03 20:49:05 -05:00
commit_ts Update copyright for 2024 2024-01-03 20:49:05 -05:00
delay_execution Update copyright for 2024 2024-01-03 20:49:05 -05:00
dummy_index_am Update copyright for 2024 2024-01-03 20:49:05 -05:00
dummy_seclabel Update copyright for 2024 2024-01-03 20:49:05 -05:00
gin Fix backstop in gin test if injection point is not reached 2024-03-15 17:55:12 +02:00
injection_points Try to unbreak injection-fault tests in the buildfarm 2024-03-15 15:22:12 +02:00
ldap_password_func Make the order of the header file includes consistent 2024-03-13 15:07:00 +01:00
libpq_pipeline Support retrieval of results in chunks with libpq. 2024-04-06 20:45:11 -04:00
plsample Update copyright for 2024 2024-01-03 20:49:05 -05:00
spgist_name_ops Update copyright for 2024 2024-01-03 20:49:05 -05:00
ssl_passphrase_callback Activate perlcritic InputOutput::RequireCheckedSyscalls and fix resulting warnings 2024-03-19 07:09:31 +01:00
test_bloomfilter Update copyright for 2024 2024-01-03 20:49:05 -05:00
test_copy_callbacks Update copyright for 2024 2024-01-03 20:49:05 -05:00
test_custom_rmgrs Update copyright for 2024 2024-01-03 20:49:05 -05:00
test_ddl_deparse Implement ALTER TABLE ... SPLIT PARTITION ... command 2024-04-07 01:18:44 +03:00
test_dsa Make the order of the header file includes consistent 2024-03-13 15:07:00 +01:00
test_dsm_registry Introduce the dynamic shared memory registry. 2024-01-19 14:24:36 -06:00
test_extensions Explicitly list dependent types as extension members in pg_depend. 2024-03-04 14:49:36 -05:00
test_ginpostinglist Fix some typos 2024-01-22 13:55:25 +09:00
test_integerset Update copyright for 2024 2024-01-03 20:49:05 -05:00
test_json_parser Further cleanup for recent JSON-related commits. 2024-04-04 13:39:12 -04:00
test_lfind Update copyright for 2024 2024-01-03 20:49:05 -05:00
test_misc Use locale-aware value for \watch in 005_timeouts.pl 2024-03-15 21:37:17 +02:00
test_oat_hooks Fix search_path to a safe value during maintenance operations. 2024-03-04 17:31:38 -08:00
test_parser Update copyright for 2024 2024-01-03 20:49:05 -05:00
test_pg_dump Drop global objects after completed test 2024-04-03 13:33:25 +02:00
test_predtest Refactor predicate_{implied,refuted}_by_simple_clause. 2024-03-25 17:45:15 -04:00
test_radixtree Revert "Fix link error for test_radixtree module on Windows" 2024-03-08 11:09:15 +07:00
test_rbtree Update copyright for 2024 2024-01-03 20:49:05 -05:00
test_regex Update copyright for 2024 2024-01-03 20:49:05 -05:00
test_resowner Update copyright for 2024 2024-01-03 20:49:05 -05:00
test_rls_hooks Update copyright for 2024 2024-01-03 20:49:05 -05:00
test_shm_mq Update copyright for 2024 2024-01-03 20:49:05 -05:00
test_slru Improve performance of subsystems on top of SLRU 2024-02-28 17:05:31 +01:00
test_tidstore Remove superfluous trailing semicolons 2024-03-29 23:51:43 +01:00
unsafe_tests Update copyright for 2024 2024-01-03 20:49:05 -05:00
worker_spi Make the order of the header file includes consistent 2024-03-13 15:07:00 +01:00
xid_wraparound Fix meson installation of xid_wraparound test. 2024-02-08 17:03:59 +09:00
Makefile Introduce a non-recursive JSON parser 2024-04-04 06:46:40 -04:00
README Add an enforcement mechanism for global object names in regression tests. 2019-06-29 11:34:00 -04:00
meson.build Introduce a non-recursive JSON parser 2024-04-04 06:46:40 -04:00

README

Test extensions and libraries
=============================

src/test/modules contains PostgreSQL extensions that are primarily or entirely
intended for testing PostgreSQL and/or to serve as example code. The extensions
here aren't intended to be installed in a production server and aren't suitable
for "real work".

Furthermore, while you can do "make install" and "make installcheck" in
this directory or its children, it is NOT ADVISABLE to do so with a server
containing valuable data.  Some of these tests may have undesirable
side-effects on roles or other global objects within the tested server.
"make installcheck-world" at the top level does not recurse into this
directory.

Most extensions have their own pg_regress tests or isolationtester specs. Some
are also used by tests elsewhere in the tree.

If you're adding new hooks or other functionality exposed as C-level API this
is where to add the tests for it.