Skip to content

pg_tle CI coverage only tests the newest pg_tle version -- add the oldest-supported floor too #72

Description

@jnasbyupgrade

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions