public inbox for [email protected]  
help / color / mirror / Atom feed
From: Michael Paquier <[email protected]>
To: [email protected]
Subject: pgsql: test_custom_types: Test module with fancy custom data types
Date: Mon, 02 Mar 2026 02:10:54 +0000
Message-ID: <[email protected]> (raw)

test_custom_types: Test module with fancy custom data types

This commit adds a new test module called "test_custom_types", that can
be used to stress code paths related to custom data type
implementations.

Currently, this is used as a test suite to validate the set of fixes
done in 3b7a6fa15720, that requires some typanalyze callbacks that can
force very specific backend behaviors, as of:
- typanalyze callback that returns "false" as status, to mark a failure
in computing statistics.
- typanalyze callback that returns "true" but let's the backend know
that no interesting stats could be computed, with stats_valid set to
"false".

This could be extended more in the future if more problems are found.
For simplicity, the module uses a fake int4 data type, that requires a
btree operator class to be usable with extended statistics.  The type is
created by the extension, and its properties are altered in the test.

Like 3b7a6fa15720, this module is backpatched down to v14, for coverage
purposes.

Author: Michael Paquier <[email protected]>
Reviewed-by: Chao Li <[email protected]>
Discussion: https://postgr.es/m/[email protected]
Backpatch-through: 14

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/858c83b3e666752710516240845b493f9c0eb60d

Modified Files
--------------
src/test/modules/Makefile                          |   1 +
src/test/modules/test_custom_types/.gitignore      |   4 +
src/test/modules/test_custom_types/Makefile        |  20 +++
src/test/modules/test_custom_types/README          |   9 +
.../expected/test_custom_types.out                 | 174 +++++++++++++++++++
src/test/modules/test_custom_types/meson.build     |  33 ++++
.../test_custom_types/sql/test_custom_types.sql    | 104 ++++++++++++
.../test_custom_types/test_custom_types--1.0.sql   | 164 ++++++++++++++++++
.../modules/test_custom_types/test_custom_types.c  | 184 +++++++++++++++++++++
.../test_custom_types/test_custom_types.control    |   5 +
10 files changed, 698 insertions(+)



view thread (6+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: pgsql: test_custom_types: Test module with fancy custom data types
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox