• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / supavisor / 34273699655
81%

Build:
DEFAULT BRANCH: main
Ran 08 Sep 2026 08:21PM UTC
Jobs 2
Files 133
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

08 Sep 2026 08:15PM UTC coverage: 79.388% (+0.4%) from 78.977%
34273699655

push

github

web-flow
fix: replay parse before named statement describe (#1185)

## Summary

Named statement `Describe` messages were translated and forwarded
without ensuring that the selected transaction-pool backend had seen the
corresponding `Parse`. This caused clients such as pgJDBC to receive
SQLSTATE `26000` from `PreparedStatement.getMetaData()` after a backend
switch, even though executing the statement worked through the existing
`Bind` replay path.

This change carries the cached `Parse` with named statement `Describe`
packets and lets `Describe` use the same backend storage check and
replay behavior as `Bind`. The replayed `ParseComplete` is intercepted
so the client sees only the response to its original `Describe`.

Portal and unnamed statement describes remain unchanged.

Closes #1174

## Tests

- `mix test test/supavisor/protocol/prepared_statements_test.exs
test/supavisor/protocol/debug_test.exs
test/supavisor/db_handler_test.exs` (75 tests, 0 failures)
- `mix test test/integration/prepared_statements_test.exs` (9 tests, 0
failures)
- `mix format --check-formatted` on all changed files
- `mix dialyzer`
- Repeated the issue pgJDBC scenario with `prepareThreshold=1`: direct
PostgreSQL and Supavisor both returned metadata successfully and
executed with result `7`

The full `mix test` suite was also attempted in WSL on a Windows-mounted
checkout. It completed 679 tests with 20 failures outside the changed
areas, confined to an existing CRLF-sensitive assertion, 300 ms
timing-sensitive tests, and peer-node startup exceeding its fixed 5
second timeout. The focused and prepared-statement suites pass cleanly;
native Linux CI remains the authoritative full-suite result.

Co-authored-by: felipe stival <14948182+v0idpwn@users.noreply.github.com>

1 of 1 new or added line in 1 file covered. (100.0%)

2854 of 3595 relevant lines covered (79.39%)

51949.85 hits per line

Jobs
ID Job ID Ran Files Coverage
1 run-tests - 34273699655.1 08 Sep 2026 08:23PM UTC 133
78.11
GitHub Action Run
2 run-integration - 34273699655.2 08 Sep 2026 08:21PM UTC 133
41.97
GitHub Action Run
Source Files on build 34273699655
  • Tree
  • List 133
  • Changed 6
  • Source Changed 3
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34273699655
  • a16d2715 on github
  • Prev Build on main (#34271303082)
  • Next Build on main (#34405646971)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc