Move the injection_points extension to contrib?

Started by Antonin Houska6 months ago4 messages
#1Antonin Houska
ah@cybertec.at

Are there any objections against $SUBJECT?

Having the extension in contrib would be useful in cases a 3rd party extension
uses injection points in its regression tests. In particular, it's more
practical for CI to install the "injection_points" extension by installing the
"contrib" binary package than by building the whole server from source. (AFAIK
the src/modules/injection_points directory is currently not included in any
package.)

--
Antonin Houska
Web: https://www.cybertec-postgresql.com

#2Hayato Kuroda (Fujitsu)
kuroda.hayato@fujitsu.com
In reply to: Antonin Houska (#1)
RE: Move the injection_points extension to contrib?

Dear Antonin,

Having the extension in contrib would be useful in cases a 3rd party extension
uses injection points in its regression tests. In particular, it's more
practical for CI to install the "injection_points" extension by installing the
"contrib" binary package than by building the whole server from source. (AFAIK
the src/modules/injection_points directory is currently not included in any
package.)

IIRC, one of the motivation why we put src/test/modules is to ensure the flexiblity.
Even contrib modules must follow the rule [1]https://www.postgresql.org/docs/devel/xfunc-c.html#XFUNC-GUIDANCE-API-COMPATIBILITY. E.g., ABI must be kept and API
change should be considered carefully - commits like [2]https://github.com/postgres/postgres/commit/f4af4515bb5f3591d49bc16b6cb8ddbf66f98374 may be restricted.
Also We may even have to consider that whether the name of injection points
should be kept or not.

How do you feel?

[1]: https://www.postgresql.org/docs/devel/xfunc-c.html#XFUNC-GUIDANCE-API-COMPATIBILITY
[2]: https://github.com/postgres/postgres/commit/f4af4515bb5f3591d49bc16b6cb8ddbf66f98374

Best regards,
Hayato Kuroda
FUJITSU LIMITED

#3Antonin Houska
ah@cybertec.at
In reply to: Hayato Kuroda (Fujitsu) (#2)
Re: Move the injection_points extension to contrib?

Hayato Kuroda (Fujitsu) <kuroda.hayato@fujitsu.com> wrote:

Dear Antonin,

Having the extension in contrib would be useful in cases a 3rd party extension
uses injection points in its regression tests. In particular, it's more
practical for CI to install the "injection_points" extension by installing the
"contrib" binary package than by building the whole server from source. (AFAIK
the src/modules/injection_points directory is currently not included in any
package.)

IIRC, one of the motivation why we put src/test/modules is to ensure the flexiblity.
Even contrib modules must follow the rule [1]. E.g., ABI must be kept and API
change should be considered carefully - commits like [2] may be restricted.
Also We may even have to consider that whether the name of injection points
should be kept or not.

How do you feel?

[1]: https://www.postgresql.org/docs/devel/xfunc-c.html#XFUNC-GUIDANCE-API-COMPATIBILITY
[2]: https://github.com/postgres/postgres/commit/f4af4515bb5f3591d49bc16b6cb8ddbf66f98374

ok, I assume you mean that the requirement for ABI/API stability would make it
hard to include tests for fixes like [2] in minor releases. Thanks for
explanation.

--
Antonin Houska
Web: https://www.cybertec-postgresql.com

#4Michael Paquier
michael@paquier.xyz
In reply to: Antonin Houska (#3)
Re: Move the injection_points extension to contrib?

On Tue, Jul 08, 2025 at 05:50:59PM +0200, Antonin Houska wrote:

ok, I assume you mean that the requirement for ABI/API stability would make it
hard to include tests for fixes like [2] in minor releases. Thanks for
explanation.

You can think about it the same way as we do for regress.so, for
example.
--
Michael