chore(deps): update dependency gburd/pg_fts to v1.0.7 #20

Merged
AzSiAz merged 1 commit from renovate/gburd-pg_fts-1.x into main 2026-07-24 02:08:00 +02:00
Owner

This PR contains the following updates:

Package Update Change
gburd/pg_fts patch 1.0.61.0.7

Release Notes

gburd/pg_fts (gburd/pg_fts)

v1.0.7

Compare Source

Bug-fix and usability release. No on-disk format change from 1.0.6; no
REINDEX required (ALTER EXTENSION pg_fts UPDATE TO '1.0.7').

  • Fixed a concurrent scan-vs-merge stale read (the A1 hazard). A scan
    snapshotted the segment directory, released the metapage lock, then walked
    segment pages holding only per-page share locks; a concurrent fts_merge /
    fts_vacuum / autovacuum could free those pages and a concurrent insert
    recycle them, so the scan followed a now-stale segment descriptor and returned
    a wrong (too-low) match count or ranking. The metapage now carries a
    generation counter bumped on every segment-directory change (segment
    add/merge/free and the bulkdelete livedocs-pointer swap); a scan records it at
    its snapshot and re-checks it before trusting the result, restarting from a
    fresh snapshot if it moved. The counter lives after the segment array, so
    existing indexes are unaffected -- no format change, no REINDEX. Reproduced
    and verified deterministically (test/a1_recycle/).
  • to_ftsdoc(tsvector): build an ftsdoc directly from an existing
    tsvector (lexemes and positions mapped straight across, no re-analysis).
    Lets you index a stored tsvector column, or migrate a to_tsvector
    workload, without re-parsing text. Positions are preserved only when every
    lexeme has them (a stripped tsvector indexes positionless).
  • Long-running scans, CREATE INDEX CONCURRENTLY validation, and
    fts_count are now promptly cancellable.
    Added interrupt checks at
    lock-free points in the scan and trigram-scan page walks, so a query stuck on
    a large or pathological index responds to statement timeout / Ctrl-C instead
    of spinning to completion.

Configuration

📅 Schedule: (in timezone Europe/Paris)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [gburd/pg_fts](https://github.com/gburd/pg_fts) | patch | `1.0.6` → `1.0.7` | --- ### Release Notes <details> <summary>gburd/pg_fts (gburd/pg_fts)</summary> ### [`v1.0.7`](https://github.com/gburd/pg_fts/blob/HEAD/CHANGELOG.md#107) [Compare Source](https://github.com/gburd/pg_fts/compare/v1.0.6...v1.0.7) Bug-fix and usability release. **No on-disk format change** from 1.0.6; no **REINDEX** required (`ALTER EXTENSION pg_fts UPDATE TO '1.0.7'`). - **Fixed a concurrent scan-vs-merge stale read** (the A1 hazard). A scan snapshotted the segment directory, released the metapage lock, then walked segment pages holding only per-page share locks; a concurrent `fts_merge` / `fts_vacuum` / autovacuum could free those pages and a concurrent insert recycle them, so the scan followed a now-stale segment descriptor and returned a wrong (too-low) match count or ranking. The metapage now carries a `generation` counter bumped on every segment-directory change (segment add/merge/free and the bulkdelete livedocs-pointer swap); a scan records it at its snapshot and re-checks it before trusting the result, restarting from a fresh snapshot if it moved. The counter lives after the segment array, so existing indexes are unaffected -- no format change, no REINDEX. Reproduced and verified deterministically (`test/a1_recycle/`). - **`to_ftsdoc(tsvector)`**: build an `ftsdoc` directly from an existing `tsvector` (lexemes and positions mapped straight across, no re-analysis). Lets you index a stored `tsvector` column, or migrate a `to_tsvector` workload, without re-parsing text. Positions are preserved only when every lexeme has them (a stripped tsvector indexes positionless). - **Long-running scans, `CREATE INDEX CONCURRENTLY` validation, and `fts_count` are now promptly cancellable.** Added interrupt checks at lock-free points in the scan and trigram-scan page walks, so a query stuck on a large or pathological index responds to statement timeout / Ctrl-C instead of spinning to completion. </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Paris) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzguNSIsInVwZGF0ZWRJblZlciI6IjQzLjI3OC41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
chore(deps): update dependency gburd/pg_fts to v1.0.7
All checks were successful
ci/woodpecker/pr/pr Pipeline was successful
5bcaa5f2d0
AzSiAz scheduled this pull request to auto merge when all checks succeed 2026-07-24 02:02:11 +02:00
AzSiAz merged commit 906fcc0a85 into main 2026-07-24 02:08:00 +02:00
AzSiAz deleted branch renovate/gburd-pg_fts-1.x 2026-07-24 02:08:00 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AzSiAz/cnpg-extension-image!20
No description provided.