Re: BUG #18984: Empty prepared statement from psql \parse triggers assert in PortalRunMulti

Aleksander Alekseev <aleksander@tigerdata.com>

From: Aleksander Alekseev <aleksander@tigerdata.com>
To: pgsql-bugs@lists.postgresql.org
Cc: Tom Lane <tgl@sss.pgh.pa.us>, exclusion@gmail.com
Date: 2025-07-14T21:11:31Z
Lists: pgsql-bugs

Attachments

Hi,

> That being the case, maybe we should band-aid this by returning
> EXECUTE if the prepared statement is empty.

This sounds pretty straightforward and seems to solve the problem.
Patch attached.

```
eax=# \parse s
eax=# execute s;
ERROR:  EXECUTE can't execute an empty query
eax=# select 1 \parse s2

eax=# execute s2;
 ?column?
----------
        1
(1 row)
```

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Minor cosmetic tweaks

  2. Simplify coding in ProcessQuery

  3. Remove assertion from PortalRunMulti

  4. Represent command completion tags as structs