Background
Current pg_tle CI coverage (pg-tle-test/pg-tle-upgrade-test, from PR #47) only exercises
pg_tle 1.5.2. cat_tools doesn't claim to require the newest pg_tle -- so, same as the
PostgreSQL-major matrix, the oldest version we claim to support needs its own CI coverage, not
just the newest.
What's already known (researched previously, not yet acted on)
pgxntool/pgtle_versions.md documents three pg_tle compatibility buckets: 1.0.0-1.4.0,
1.4.0-1.5.0, 1.5.0+ (breaking: install_extension() gains a required schema param).
Confirmed end-to-end locally:
- The realistic floor is pg_tle v1.0.4, not v1.0.0. v1.0.0 doesn't build on PG11 or PG12 at
all -- a real bug in its own include/compatibility.h (PG_TRY()/PG_END_TRY() get
redefined with underscore-prefixed locals, but PG_CATCH() isn't, so it references an
undeclared _save_exception_stack). Fixed by v1.0.4. Use v1.0.4 as the floor for the
1.0.0-1.4.0 bucket, not the bucket's nominal starting tag.
- Any pg_tle < 1.5.0 requires a manual
CREATE SCHEMA cat_tools; before CREATE EXTENSION cat_tools; -- pre-1.5.0 install_extension() has no schema parameter, and cat_tools is
relocatable=false, schema='cat_tools'. The resulting error without this ("schema cat_tools
does not exist") doesn't obviously point at pg_tle version as the cause -- worth a comment
wherever this is implemented.
- pg_tle's own README only documents support back to 1.4.0 (PG11-17); older versions' actual
PG-major support has to come from pg_tle's own per-tag CI (v1.0.0/v1.0.1: PG14-15 only;
v1.0.2-v1.0.4: PG11-15).
The complication the maintainer flagged
Not every pg_tle version supports every PostgreSQL major we test elsewhere -- the buckets above
are PG-major-range-specific, not just pg_tle-version-specific. An "oldest pg_tle" CI leg can't
just reuse the same PG-major matrix as the 1.5.2 job; it needs its own, narrower PG range (see
the per-tag ranges above), and the CREATE SCHEMA step needs to apply automatically for
whichever bucket is under test, not just the very oldest.
Proposed seed matrix (from the prior research, not verified against current cat_tools/PG
support ranges -- re-check before implementing)
- 1.0.4 (floor), PG11
- 1.4.0, PG11 or PG16+
- 1.5.0/1.5.2 -- already covered by the existing job
Scope note
Deliberately not implemented as part of the in-flight pg_tle matrix-expansion work on PR #54
(which is about covering more test CATEGORIES -- update/upgrade/stepwise -- at the current pg_tle
version, not more pg_tle VERSIONS). This is a separate axis; do it as its own follow-up once that
lands.
Background
Current pg_tle CI coverage (
pg-tle-test/pg-tle-upgrade-test, from PR #47) only exercisespg_tle 1.5.2. cat_tools doesn't claim to require the newest pg_tle -- so, same as the
PostgreSQL-major matrix, the oldest version we claim to support needs its own CI coverage, not
just the newest.
What's already known (researched previously, not yet acted on)
pgxntool/pgtle_versions.mddocuments three pg_tle compatibility buckets:1.0.0-1.4.0,1.4.0-1.5.0,1.5.0+(breaking:install_extension()gains a required schema param).Confirmed end-to-end locally:
all -- a real bug in its own
include/compatibility.h(PG_TRY()/PG_END_TRY()getredefined with underscore-prefixed locals, but
PG_CATCH()isn't, so it references anundeclared
_save_exception_stack). Fixed by v1.0.4. Use v1.0.4 as the floor for the1.0.0-1.4.0bucket, not the bucket's nominal starting tag.CREATE SCHEMA cat_tools;beforeCREATE EXTENSION cat_tools;-- pre-1.5.0install_extension()has no schema parameter, and cat_tools isrelocatable=false, schema='cat_tools'. The resulting error without this ("schema cat_toolsdoes not exist") doesn't obviously point at pg_tle version as the cause -- worth a comment
wherever this is implemented.
PG-major support has to come from pg_tle's own per-tag CI (v1.0.0/v1.0.1: PG14-15 only;
v1.0.2-v1.0.4: PG11-15).
The complication the maintainer flagged
Not every pg_tle version supports every PostgreSQL major we test elsewhere -- the buckets above
are PG-major-range-specific, not just pg_tle-version-specific. An "oldest pg_tle" CI leg can't
just reuse the same PG-major matrix as the 1.5.2 job; it needs its own, narrower PG range (see
the per-tag ranges above), and the
CREATE SCHEMAstep needs to apply automatically forwhichever bucket is under test, not just the very oldest.
Proposed seed matrix (from the prior research, not verified against current cat_tools/PG
support ranges -- re-check before implementing)
Scope note
Deliberately not implemented as part of the in-flight pg_tle matrix-expansion work on PR #54
(which is about covering more test CATEGORIES -- update/upgrade/stepwise -- at the current pg_tle
version, not more pg_tle VERSIONS). This is a separate axis; do it as its own follow-up once that
lands.