Re: Figure out nullability of query parameters - Mailing list pgsql-general

From Petr Kada
Subject Re: Figure out nullability of query parameters
Date
Msg-id CABRqZWU6fK_eUt-5=1JGJ_AVtQBwTkN5S=rbRyUD0=-pwyRMaA@mail.gmail.com
Whole thread Raw
In response to Figure out nullability of query parameters  (Giacomo Cavalieri <giacomo.cavalieri@icloud.com>)
List pgsql-general
Hi, 
I have no idea how/if this is possible using the query protocol but I would try to parse the INSERT statement to get the table and columns names and then look up whether they are nullable in the information schema (https://www.postgresql.org/docs/current/infoschema-columns.html)

Petr

On Fri, Jun 27, 2025 at 4:31 PM Giacomo Cavalieri <giacomo.cavalieri@icloud.com> wrote:
Hello!
I’m Giacomo, I’m the maintainer of <https://github.com/giacomocavalieri/squirrel>, a tool that can generate type safe bindings to run and decode the results of Postgres queries. It does that by implementing the extended query protocol, which, among other things, returns the OIDs of the query parameters’ types.
This is really handy and has worked great so far but I’m running into some rough edges when it comes to the nullability of query parameters.

Take a query like this one:
```
insert into some_table(not_null_col, nullable_column)
values ($1, $2)
```
It would be really handy to know that `$1` is being used as a non nullable value, while `$2` could actually be null. Can this already be achieve today, or would there be a way to surface this kind of information for query parameters in the extended protocol?

Sorry if this is not the proper list, I’m very new to all of this :)
Thanks!

Giacomo

pgsql-general by date:

Previous
From: Giacomo Cavalieri
Date:
Subject: Figure out nullability of query parameters
Next
From: "David G. Johnston"
Date:
Subject: Re: Figure out nullability of query parameters