Re: [GENERAL] Prepared Statement Name Truncation

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Greg Sabino Mullane" <greg(at)turnstep(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] Prepared Statement Name Truncation
Date: 2012-11-18 07:24:03
Message-ID: 23546.1353223443@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-general

"Greg Sabino Mullane" <greg(at)turnstep(dot)com> writes:
>> If it's a postgres bug, what is the fix? Make the identifier max size
>> longer?

> I'd also be in favor of this, in addition to upgrading from a NOTICE.

Increasing NAMEDATALEN has been discussed, and rejected, before. It
is very very far from being a free change: it would double the storage
space required for "name" columns, which is a sizable fraction of the
space eaten in the pg_class and pg_attribute catalogs. (Or we could
convert "name" to a variable length type, but the fallout from that
would vastly exceed what this feature seems worth.)

I think there probably is some case for treating overlength names as
errors not warnings, but on the other hand there's a case for fearing
this will break applications that work fine today. In particular, it
would break applications that expect to be able to use spec-compliant
128-character names, *whether or not they actually have any collisions*.
That seems pretty undesirable, especially in view of the fact that
duplicate-name checks would catch any actual collisions in most cases.

Another point here is that appealing to the letter of the spec in this
area is a bit dubious anyway given the number of ways in which we vary
from exact spec compliance --- notably, allowing non-ASCII characters in
identifiers, allowing dollar signs, allowing leading underscore (no,
that's not per spec), folding to lower case not upper case.

On the whole I'm not too excited about changing this.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2012-11-18 07:33:02 Re: Prepared Statement Name Truncation
Previous Message Gavin Flower 2012-11-18 04:19:04 Re: Prepared Statement Name Truncation

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2012-11-18 07:29:56 Re: Difference between varchar and text?
Previous Message Gavin Flower 2012-11-18 04:19:04 Re: Prepared Statement Name Truncation