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 16:58:50
Message-ID: CAKFQuwaVC_K174DvVgGSmBW5zGc6+e_92VKG4m7S9NMFqwtGzg@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:

> Thank you for the clarification.
>
> The "bug" report may be closed.
>
> On Wed, May 24, 2023 at 2:22 PM David G. Johnston <
> david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
>
>> 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.
>>
>>
Just to be clear, the other comment regarding not blowing past an “object
already exists” is going to be your way of noticing this - so “will not
help” isn’t quite correct. Though the system doesn’t know why the
collision happened or what the requested names were.

David J.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Thomas Munro 2023-05-25 03:20:44 Re: BUG #17943: Undefined symbol LLVMBuildGEP in llvmjit.so during pg_restore
Previous Message Alexey Kachalin 2023-05-24 16:46:09 Re: Prepared SQL name collision. The name implicitly is truncated by NAMEDATALEN