Re: [SQL] Column name's length

From: Zalman Stern <zalman(at)netcom(dot)com>
To: maillist(at)candle(dot)pha(dot)pa(dot)us (Bruce Momjian)
Cc: zalman(at)netcom(dot)com, tpham(at)mail(dot)priority(dot)net, pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] Column name's length
Date: 1999-06-01 07:33:30
Message-ID: 199906010733.AAA00923@netcom12.netcom.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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
-----

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.

-Z-

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Vadim Mikheev 1999-06-01 07:45:55 Re: [SQL] indexes
Previous Message Robert Chalmers 1999-06-01 07:09:22 Can I modify a field size in a table?