Re: [SQL] Column name's length - Mailing list pgsql-sql

From Bruce Momjian
Subject Re: [SQL] Column name's length
Date
Msg-id 199906011430.KAA21629@candle.pha.pa.us
Whole thread Raw
In response to Re: [SQL] Column name's length  (Zalman Stern <zalman@netcom.com>)
List pgsql-sql
> > And I assume it is working fine?
> 
> Yes. It fixes the column length too I think. The following is a psql
> interaction:
> -----
> ssmldb=> create table
> more_than_64_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
> (more_than_32_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb boolean ) ;
> CREATE
> ssmldb=> select * from
> more_than_64_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
> ;
> more_than_32_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
> ---------------------------------------------
> (0 rows)
> ssmldb=> insert into
> more_than_64_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
> ( more_than_32_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb ) values ( true ) ;
> INSERT 25353 1
> ssmldb=> select * from
> more_than_64_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
> ;
> ^Mmore_than_32_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
> ---------------------------------------------
> t
> (1 row)
> -----
> (I did some tests to make sure all the characters are significant. They
> are.)
> 
> Here are the two diffs that up the "name size" from 32 characters to 256
> characters. (Once I get bit, I try to fix things real good so I don't get
> bit again :-))
> -----
> diff  postgresql-6.4.2/src/include/postgres_ext.h postgres-build/src/include/postgres_ext.h
> 34c34
> < #define NAMEDATALEN 32
> ---
> > #define NAMEDATALEN 256
> 37c37
> < #define OIDNAMELEN    36
> ---
> > #define OIDNAMELEN    260
> -----
> diff postgresql-6.4.2/src/include/storage/buf_internals.h postgres-build/src/include/storage/buf_internals.h
> 87c87
> < #define PADDED_SBUFDESC_SIZE  128
> ---
> > #define PADDED_SBUFDESC_SIZE  1024
> -----

PADDED_SBUFDESC_SIZE is gone in 6.5beta, meaning we probably now have
things tuned for NAMEDATALEN directly.

> 
> After this, I did a clean build. I am pretty sure this produces a Postgres
> that *is not* binary compatible with existing databases. You have to do the
> dump/reload thing. (We discovered this issue very early on so I was able to
> trash all my existing databases and start from scratch.)
> 
> I do not know what performance or space usage impact this has. If it is not
> too terrible, this would be a great change to see in a future version of
> Postgres.

Yes, I was thinking this too.

--  Bruce Momjian                        |  http://www.op.net/~candle maillist@candle.pha.pa.us            |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: [SQL] indexes
Next
From: Bob Kruger
Date:
Subject: Data recovery