Move the injection_points extension to contrib?
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
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
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
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