Re: name truncation problem in 7.0.0

From: Ed Loehr <eloehr(at)austin(dot)rr(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pggeneral <pgsql-general(at)postgresql(dot)org>
Subject: Re: name truncation problem in 7.0.0
Date: 2001-05-11 20:10:36
Message-ID: 3AFC473C.70E4C327@austin.rr.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Tom Lane wrote:
>
> Ed Loehr <eloehr(at)austin(dot)rr(dot)com> writes:
> > Maybe someone can confirm what looks like a long-name-truncation bug in
> > 7.0.0?
>
> I see no bug here; it told you what name it planned to use for the
> sequence:
>
> > psql:/home/ed/pgbug:8: NOTICE: CREATE TABLE will create implicit
> > sequence 'process_state_subscripti_id_seq' for SERIAL column
> > 'process_state_subscription.id'
>
> so this is not surprising:
>
> > DROP SEQUENCE process_state_subscription_id_seq;
> > psql:/home/ed/pgbug:10: NOTICE: identifier
> > "process_state_subscription_id_seq" will be truncated to
> > "process_state_subscription_id_s"
> > psql:/home/ed/pgbug:10: ERROR: Relation
> > 'process_state_subscription_id_s' does not exist
>
> It's not a bug that the sequence name is formed with a rule more complex
> than "truncate table_field_seq at the right" ... if we did that, you'd
> have a problem with sequences for tables with names longer than 32
> characters ...

Hmmm. OK, I think I understand, but it sure makes for some ugliness in
guessing what the name of the SERIAL-generated sequence name will be in
order to drop it.

Is there a clean way I can bump the 32-char limit to something much
larger to support my verbosity? Maybe NAMEDATALEN in
src/include/postgres_ext.h? Assuming sufficient memory/disk, are there
other concerns about bumping it to, say, 64 or even 1024? It's cramping
my style.

Regards,
Ed Loehr

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2001-05-11 20:14:38 Re: PL/Perl without shared libperl.a
Previous Message Ian Lance Taylor 2001-05-11 20:05:55 Re: PL/Perl without shared libperl.a