Conversation
SelectStatWALQuery now returns DiffIntvl alongside query and column count. For PG 18 the interval is [2,5] — excluding stats_age (col 6) which is a PostgreSQL interval string and cannot be parsed as a numeric delta. For PG 14-17 the interval remains [2,9]. view.go applies the returned DiffIntvl the same way databases_general does. Co-Authored-By: Claude Sonnet 4.6 <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.
Summary
SelectStatWALQuerynow returnsDiffIntvlas a third value (same pattern asSelectStatDatabaseGeneralQuery)DiffIntvl = [2, 5]—stats_agecolumn (index 6, typeinterval) is excluded from numeric diffDiffIntvl = [2, 9]unchangedview.go: WAL case now applies the returnedDiffIntvlRoot cause
PG 18 removed
wal_write/wal_synccolumns, shiftingstats_agefrom index 10 to index 6. The oldDiffIntvl = [2, 9]then includedstats_agein the diff range.diffPairtried to parse'19 days 03:01:38'as an integer and failed.Test plan
Test_diff_pg18_wal_stats_age— unit test that reproduces the bug with[2,9]and validates the fix with[2,5]Test_SelectStatWALQuery— checks correctNcolsandDiffIntvlfor all supported PG versionsgo test ./...Fixes #132
🤖 Generated with Claude Code