pgsql: test_custom_types: Test module with fancy custom data types - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: test_custom_types: Test module with fancy custom data types
Date
Msg-id E1vwskI-001sb4-1d@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
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 <michael@paquier.xyz>
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Discussion: https://postgr.es/m/aaDrJsE1I5mrE-QF@paquier.xyz
Backpatch-through: 14

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2176520089e8c78a2eadb693670f65eaabf8ede2

Modified Files
--------------
src/test/modules/Makefile                          |   1 +
src/test/modules/meson.build                       |   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                 | 180 ++++++++++++++++++++
src/test/modules/test_custom_types/meson.build     |  33 ++++
.../test_custom_types/sql/test_custom_types.sql    | 107 ++++++++++++
.../test_custom_types/test_custom_types--1.0.sql   | 164 +++++++++++++++++++
.../modules/test_custom_types/test_custom_types.c  | 182 +++++++++++++++++++++
.../test_custom_types/test_custom_types.control    |   5 +
11 files changed, 706 insertions(+)


pgsql-committers by date:

Previous
From: Fujii Masao
Date:
Subject: pgsql: psql: Add tab completion for DELETE ... USING.
Next
From: Michael Paquier
Date:
Subject: pgsql: Fix memory allocation size in RegisterExtensionExplainOption()