Allow the identifier length to be increased via a configure option

Started by Dhanaraj Mabout 19 years ago8 messages
#1Dhanaraj M
Dhanaraj.M@Sun.COM

I am sending the patch for the following TODO item:
Allow the identifier length to be increased via a configure option

During the configuration time, the user can set the identifier length.
./configure.txt --with-identlen=128

However, I am not clear about the requirement.
Can somebody review and comment on this?

Thanks
Dhanaraj

PS: The regression test (name.sql) needs some changes.

*** configure.in.orig   Wed Dec 27 14:56:10 2006
--- configure.in        Wed Dec 27 14:58:43 2006
***************
*** 179,184 ****
--- 179,196 ----
    AC_SUBST(default_port)
    #
+ # Identifier length ( --with-identlen), default 64 bytes
+ #
+ AC_MSG_CHECKING([for identifier length])
+ PGAC_ARG_REQ(with, identlen, [  --with-identlen=INT     identifier 
length [[64 bytes]]],
+          [identlen=$withval],
+          [identlen=64])
+ AC_MSG_RESULT([$identlen])
+
+ sed 's/#define NAMEDATALEN .*/#define NAMEDATALEN '$identlen'/g' 
./src/include/postgres_ext.h > ./src/include/postgres_ext.h.tmp
+ mv  ./src/include/postgres_ext.h.tmp ./src/include/postgres_ext.h
+
+ #
    # Option to disable shared libraries
    #
    PGAC_ARG_BOOL(enable, shared, yes,
#2Alvaro Herrera
alvherre@commandprompt.com
In reply to: Dhanaraj M (#1)
Re: Allow the identifier length to be increased via a configure option

Dhanaraj M wrote:

I am sending the patch for the following TODO item:
Allow the identifier length to be increased via a configure option

During the configuration time, the user can set the identifier length.
./configure.txt --with-identlen=128

However, I am not clear about the requirement.
Can somebody review and comment on this?

You should use pg_config.h, not mangle postgres_ext.h like that. Or
maybe generate postgres_ext.h from an hypotetical postgres_ext.h.in (but
I wouldn't do that, really).

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alvaro Herrera (#2)
Re: Allow the identifier length to be increased via a configure option

Alvaro Herrera <alvherre@commandprompt.com> writes:

Dhanaraj M wrote:

I am sending the patch for the following TODO item:
Allow the identifier length to be increased via a configure option

You should use pg_config.h, not mangle postgres_ext.h like that. Or
maybe generate postgres_ext.h from an hypotetical postgres_ext.h.in (but
I wouldn't do that, really).

I'm wondering how this got into the TODO list. It seems rather
pointless, and likely to create client compatibility problems (if not,
why is NAMEDATALEN exported at all?)

A bigger problem with the proposed patch is that it makes it look like
you can set the identifier length to any random number; the restrictions
mentioned in postgres_ext.h aren't enforced or even displayed to the
user of configure.

regards, tom lane

#4Dhanaraj M
Dhanaraj.M@Sun.COM
In reply to: Tom Lane (#3)
Re: Allow the identifier length to be increased via a

Tom Lane wrote:

Alvaro Herrera <alvherre@commandprompt.com> writes:

Dhanaraj M wrote:

I am sending the patch for the following TODO item:
Allow the identifier length to be increased via a configure option

You should use pg_config.h, not mangle postgres_ext.h like that. Or
maybe generate postgres_ext.h from an hypotetical postgres_ext.h.in (but
I wouldn't do that, really).

I'm wondering how this got into the TODO list. It seems rather
pointless, and likely to create client compatibility problems (if not,
why is NAMEDATALEN exported at all?)

Will this TODO item be removed from the list?
Or I shall proceed with the suggestions given.

Thanks
Dhanaraj

#5Bruce Momjian
bruce@momjian.us
In reply to: Dhanaraj M (#4)
Re: Allow the identifier length to be increased via

Dhanaraj M wrote:

Tom Lane wrote:

Alvaro Herrera <alvherre@commandprompt.com> writes:

Dhanaraj M wrote:

I am sending the patch for the following TODO item:
Allow the identifier length to be increased via a configure option

You should use pg_config.h, not mangle postgres_ext.h like that. Or
maybe generate postgres_ext.h from an hypotetical postgres_ext.h.in (but
I wouldn't do that, really).

I'm wondering how this got into the TODO list. It seems rather
pointless, and likely to create client compatibility problems (if not,
why is NAMEDATALEN exported at all?)

Will this TODO item be removed from the list?
Or I shall proceed with the suggestions given.

TODO item removed.

--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

#6Peter Eisentraut
peter_e@gmx.net
In reply to: Tom Lane (#3)
Re: [HACKERS] Allow the identifier length to be increased via a configure option

Tom Lane wrote:

I'm wondering how this got into the TODO list. It seems rather
pointless, and likely to create client compatibility problems (if
not, why is NAMEDATALEN exported at all?)

I think because it used to be used in libpq's notification structure.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

#7Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#6)
Re: [HACKERS] Allow the identifier length to be increased via a configure option

Peter Eisentraut <peter_e@gmx.net> writes:

Tom Lane wrote:

... why is NAMEDATALEN exported at all?)

I think because it used to be used in libpq's notification structure.

Yeah, you're probably right. Maybe we should take it out of
postgres_ext.h and move it to pg_config_manual.h. If no one complains
after a release cycle or so, we could reconsider making it configurable
more easily.

regards, tom lane

#8Bruce Momjian
bruce@momjian.us
In reply to: Tom Lane (#7)
Re: [HACKERS] [PATCHES] Allow the identifier length to be

Tom Lane wrote:

Peter Eisentraut <peter_e@gmx.net> writes:

Tom Lane wrote:

... why is NAMEDATALEN exported at all?)

I think because it used to be used in libpq's notification structure.

Yeah, you're probably right. Maybe we should take it out of
postgres_ext.h and move it to pg_config_manual.h. If no one complains
after a release cycle or so, we could reconsider making it configurable
more easily.

Added to TODO:

* Move NAMEDATALEN from postgres_ext.h to pg_config_manual.h and
consider making it more configurable in future releases

--
Bruce Momjian bruce@momjian.us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +