Re: Prepared SQL name collision. The name implicitly is truncated by NAMEDATALEN

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Alexey Kachalin <kachalin(dot)alexey(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: Prepared SQL name collision. The name implicitly is truncated by NAMEDATALEN
Date: 2023-05-24 13:22:37
Message-ID: CAKFQuwYO4tcnJBFTcyxs0ZGMco_L3kfuq95JyjxxF4-9qRdZXw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wednesday, May 24, 2023, Alexey Kachalin <kachalin(dot)alexey(at)gmail(dot)com>
wrote:

>
> If I exceed the limit I would like to get the error related to an issue,
> not just my valid SQL returns something unpredictable.
> Can I get a proper error for identifying issues and fixing?
> Is it expected behaviour that SQL returns corrupt value or error, when a
> prepared SQL statements name has gone beyond limit?
>

All info beyond 63 chars is discarded early on in the parsing phase.
Giving two different prepared statements the same name, as in the first 63
chars, is an application bug since, as you’ve observed, you are likely to
end up with non-deterministic behavior. Unfortunately, PostgreSQL will not
help you find this kind of bug. There presently are no plans to change
this, even though you and others would consider the lack to be undesirable.

David J.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2023-05-24 13:28:46 BUG #17943: Undefined symbol LLVMBuildGEP in llvmjit.so during pg_restore
Previous Message Julien Rouhaud 2023-05-24 13:15:32 Re: Prepared SQL name collision. The name implicitly is truncated by NAMEDATALEN