Release 1.3.2: plxgo fmt.Sprintf fix (code-only patch) - #6
Merged
Conversation
Code-only patch (no catalog changes) carrying the plxgo fix for fmt.Sprintf
emitting a format string SQL format() rejects, plus the differential check
that found it.
In expression position fmt.Sprintf passed its Go format string straight into
SQL format(), which understands only %s, %I, %L and %%. Every other verb raised
"unrecognized format() type specifier" when the function was called, so
fmt.Sprintf("%d", n), the ordinary way to format an integer in Go, transpiled
cleanly and then failed at run time. Go's verbs now become the %s that format()
understands, and a % that starts no directive is escaped rather than passed
through.
Bumps default_version and META.json to 1.3.2, adds plx--1.3.2.sql (identical to
1.3.1) and the plx--1.3.1--1.3.2.sql version-advancing upgrade script.
Verified against PG18.4: clean build with no warnings, all 13 installcheck tests
pass, differentialcheck clean at 374 matching and 14 documented, the 1.3.1 ->
1.3.2 ALTER EXTENSION UPDATE applies and carries the fix, and a fresh CREATE
EXTENSION installs 1.3.2.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Code-only patch (no catalog changes), following the 1.3.1 procedure.
What ships
The
plxgofmt.Sprintffix from #4. In expression positionfmt.Sprintfpassed its Go format string straight into SQLformat(), which understands only%s,%I,%Land%%. Every other verb raisedunrecognized format() type specifierwhen the function was called, sofmt.Sprintf("%d", n)transpiled cleanly and then failed at run time.Also carried:
make differentialcheck,doc/MIGRATION.md, and the vtable refactor from #2 and #3 that had been sitting inUnreleased(all no-ops).Mechanics
plx.controldefault_versionandMETA.jsonto 1.3.2plx--1.3.2.sql, identical to 1.3.1 since no SQL object changesplx--1.3.1--1.3.2.sql, version-advancing onlyMakefileDATAupdated with both[Unreleased]folded into[1.3.2] - 2026-08-24Verification on PostgreSQL 18.4
Clean build with no warnings, 13/13 installcheck,
differentialcheckat 374 matching / 14 documented / 0 unexplained.The upgrade path was exercised the way a user hits it, installing the previous release first:
So
ALTER EXTENSION plx UPDATE TO '1.3.2'applies, the fix is present afterwards, and a freshCREATE EXTENSION plxinstalls 1.3.2.META.jsonre-parsed as valid JSON.Tag and GitHub release follow once this merges.
🤖 Generated with Claude Code