Re: Figure out nullability of query parameters

From: Petr Kada <p3tr(dot)kada(at)gmail(dot)com>
To: Giacomo Cavalieri <giacomo(dot)cavalieri(at)icloud(dot)com>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Figure out nullability of query parameters
Date: 2025-06-27 14:45:02
Message-ID: CABRqZWU6fK_eUt-5=1JGJ_AVtQBwTkN5S=rbRyUD0=-pwyRMaA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: 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(dot)cavalieri(at)icloud(dot)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
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2025-06-27 14:52:56 Re: Figure out nullability of query parameters
Previous Message Giacomo Cavalieri 2025-06-27 14:30:41 Figure out nullability of query parameters