Re: BUG #14853: Parameter type is required even when the query does not need to know the type

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Eduardo Pérez Ureta <edpeur(at)gmail(dot)com>
Cc: "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #14853: Parameter type is required even when the query does not need to know the type
Date: 2017-10-13 15:38:12
Message-ID: CAKFQuwbnCgcYh46JBXSnLvMk47wsHDdnGybSS59CQ5Wp+HewgQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Fri, Oct 13, 2017 at 7:03 AM, <edpeur(at)gmail(dot)com> wrote:

> The following bug has been logged on the website:
>
> Bug reference: 14853
> Logged by: Eduardo Perez
> Email address: edpeur(at)gmail(dot)com
> PostgreSQL version: Unsupported/Unknown
> Operating system: All
> Description:
>
> The query:
> SELECT ? IS NULL
> should work even when the parameter type is unknown, as there is no need to
> know the type in that query.
>

While your statement is correct the behavior that all parameters must have
a type is not buggy. As I'm not in a position to comprehend just how much
could go wrong by removing that restriction (and making it work only in
cases where type doesn't matter, like IS NULL, is unappealing) I'll forgo
much speculation but will say that given that the error is both immediate
and obvious the likelihood of changing this is quite low.

The PostgreSQL project has intentionally made a number of changes in the
past that tighten up things in the area of types (unknowns and casting)
with full awareness that those changes may break existing applications. It
was felt that, on the whole, the benefit to future coders outweighed the
inconvenience of a subset of the existing code.

David J.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message John R Pierce 2017-10-13 19:03:57 Re: BUG #14851: Systemd kills long-running recovery
Previous Message Fabrízio de Royes Mello 2017-10-13 15:23:52 Re: BUG #14851: Systemd kills long-running recovery