Skip to content

docs: tracker — questdb#7568 reviewed; DEALLOCATE ALL will succeed but release nothing - #151

Merged
singhpratech merged 1 commit into
mainfrom
docs/questdb-7567-a2
Sep 27, 2026
Merged

singhpratech merged 1 commit into
mainfrom
docs/questdb-7567-a2

Conversation

@singhpratech

Copy link
Copy Markdown
Owner

QuestDB's founder (bluestreak01) reviewed questdb/questdb#7568 — the community fix for our #7567 — on 2026-09-27: approve with comments, two changes asked of the author before merge, CI green.

The row records the part that matters to this project. From instrumented runs he found that with the fix, DEALLOCATE ALL succeeds but releases nothing: it is parsed as DEALLOCATE "ALL", a lookup for a statement literally named ALL, so prepared statements survive it and re-preparing the same name fails with duplicate statement. He traced psycopg 3's behaviour (it sends DEALLOCATE ALL after ROLLBACK/DROP/ALTER, then prepares under new names) to conclude statements would accumulate per connection toward pg.named.statement.limit. He drafted it as an issue (his A2) and offered to file it; nothing is filed yet.

An honest note on our own report. #7567 covered the NullPointerException and stated that DEALLOCATE ALL should succeed "as a no-op when nothing is prepared". It never tested with statements present — which is exactly the case a pooled connection's session reset depends on. So the fix we asked for turns a loud error into a silent non-reset. The row says that plainly rather than treating #7568 as closing the matter.

Nothing filed by us: the founder has the draft and offered to file it. When it appears, our reproduction with statements present and the pooling impact go on it as the reporter of the parent issue; the reply scan now watches for it.

docs/compatibility.json regenerated, no content change.

…t release nothing

The project's founder reviewed the community fix for our #7567 on 2026-09-27:
approve with comments. His instrumented runs found that with the fix
DEALLOCATE ALL is parsed as a statement named ALL, so it succeeds and releases
nothing; prepared statements survive it and re-preparing a name fails with
duplicate statement. He has drafted that as an issue and offered to file it.

Our report covered the NullPointerException and said DEALLOCATE ALL should
succeed as a no-op when nothing is prepared; it did not test with statements
present, which is the case that matters for a pooled connection's session
reset. The row says so.
@singhpratech
singhpratech merged commit e2daf1d into main Sep 27, 2026
6 checks passed
@singhpratech
singhpratech deleted the docs/questdb-7567-a2 branch September 27, 2026 01:10
singhpratech added a commit that referenced this pull request Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant