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.cavali...@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
>

Reply via email to