I have applied the attached patch which changes NAMEDATALEN to 64 and
FUNC_MAX_ARGS/INDEX_MAX_KEYS to 32.  Hopefully this will keep people
happy for a few more years.

initdb required.

---------------------------------------------------------------------------

Christopher Kings-Lynne wrote:
> > > NAMEDATALEN will be 64 or 128 in 7.3.  At this point, we better decide
> > > which one we prefer.
> > >
> > > The conservative approach would be to go for 64 and perhaps increase it
> > > again in 7.4 after we get feedback and real-world usage.  If we go to
> > > 128, we will have trouble decreasing it if there are performance
> > > problems.
> >
> > I guess I'd also agree with:
> >    FUNC_MAX_ARGS 32
> >    NAMEDATALEN 64
> > and work on the performance issues for 7.4.
> 
> I agree too.
> 
> Chris
> 
> 
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: doc/FAQ_DEV
===================================================================
RCS file: /cvsroot/pgsql-server/doc/FAQ_DEV,v
retrieving revision 1.43
diff -c -r1.43 FAQ_DEV
*** doc/FAQ_DEV 17 Apr 2002 05:12:39 -0000      1.43
--- doc/FAQ_DEV 13 Aug 2002 20:17:54 -0000
***************
*** 560,566 ****
     Table, column, type, function, and view names are stored in system
     tables in columns of type Name. Name is a fixed-length,
     null-terminated type of NAMEDATALEN bytes. (The default value for
!    NAMEDATALEN is 32 bytes.)
  typedef struct nameData
      {
          char        data[NAMEDATALEN];
--- 560,566 ----
     Table, column, type, function, and view names are stored in system
     tables in columns of type Name. Name is a fixed-length,
     null-terminated type of NAMEDATALEN bytes. (The default value for
!    NAMEDATALEN is 64 bytes.)
  typedef struct nameData
      {
          char        data[NAMEDATALEN];
Index: doc/src/sgml/datatype.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/datatype.sgml,v
retrieving revision 1.97
diff -c -r1.97 datatype.sgml
*** doc/src/sgml/datatype.sgml  5 Aug 2002 19:43:30 -0000       1.97
--- doc/src/sgml/datatype.sgml  13 Aug 2002 20:17:56 -0000
***************
*** 914,920 ****
      <productname>PostgreSQL</productname>.  The <type>name</type> type
      exists <emphasis>only</emphasis> for storage of internal catalog
      names and is not intended for use by the general user.  Its length
!     is currently defined as 32 bytes (31 usable characters plus terminator)
      but should be referenced using the macro
      <symbol>NAMEDATALEN</symbol>.  The length is set at compile time
      (and is therefore adjustable for special uses); the default
--- 914,920 ----
      <productname>PostgreSQL</productname>.  The <type>name</type> type
      exists <emphasis>only</emphasis> for storage of internal catalog
      names and is not intended for use by the general user.  Its length
!     is currently defined as 64 bytes (63 usable characters plus terminator)
      but should be referenced using the macro
      <symbol>NAMEDATALEN</symbol>.  The length is set at compile time
      (and is therefore adjustable for special uses); the default
***************
*** 943,950 ****
         </row>
         <row>
        <entry>name</entry>
!       <entry>32 bytes</entry>
!       <entry>Thirty-one character internal type</entry>
         </row>
        </tbody>
       </tgroup>
--- 943,950 ----
         </row>
         <row>
        <entry>name</entry>
!       <entry>64 bytes</entry>
!       <entry>Sixty-three character internal type</entry>
         </row>
        </tbody>
       </tgroup>
Index: doc/src/sgml/indices.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/indices.sgml,v
retrieving revision 1.35
diff -c -r1.35 indices.sgml
*** doc/src/sgml/indices.sgml   30 Jul 2002 17:34:37 -0000      1.35
--- doc/src/sgml/indices.sgml   13 Aug 2002 20:17:56 -0000
***************
*** 236,242 ****
  
    <para>
     Currently, only the B-tree and GiST implementations support multicolumn
!    indexes.  Up to 16 columns may be specified.  (This limit can be
     altered when building <productname>PostgreSQL</productname>; see the
     file <filename>pg_config.h</filename>.)
    </para>
--- 236,242 ----
  
    <para>
     Currently, only the B-tree and GiST implementations support multicolumn
!    indexes.  Up to 32 columns may be specified.  (This limit can be
     altered when building <productname>PostgreSQL</productname>; see the
     file <filename>pg_config.h</filename>.)
    </para>
Index: doc/src/sgml/manage.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/manage.sgml,v
retrieving revision 1.22
diff -c -r1.22 manage.sgml
*** doc/src/sgml/manage.sgml    10 Aug 2002 19:35:00 -0000      1.22
--- doc/src/sgml/manage.sgml    13 Aug 2002 20:17:57 -0000
***************
*** 70,76 ****
      You  automatically  become  the
      database  administrator  of  the database you just created.  
      Database names must  have  an  alphabetic  first
!     character and are limited to 31 characters in length.
      <ProductName>PostgreSQL</ProductName>  allows  you to create any number of
      databases at a  given  site.  
     </Para>
--- 70,76 ----
      You  automatically  become  the
      database  administrator  of  the database you just created.  
      Database names must  have  an  alphabetic  first
!     character and are limited to 63 characters in length.
      <ProductName>PostgreSQL</ProductName>  allows  you to create any number of
      databases at a  given  site.  
     </Para>
Index: doc/src/sgml/start.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/start.sgml,v
retrieving revision 1.23
diff -c -r1.23 start.sgml
*** doc/src/sgml/start.sgml     10 Aug 2002 19:35:00 -0000      1.23
--- doc/src/sgml/start.sgml     13 Aug 2002 20:17:57 -0000
***************
*** 231,237 ****
      You can also create databases with other names.
      <productname>PostgreSQL</productname> allows you to create any
      number of databases at a given site.  Database names must have an
!     alphabetic first character and are limited to 31 characters in
      length.  A convenient choice is to create a database with the same
      name as your current user name.  Many tools assume that database
      name as the default, so it can save you some typing.  To create
--- 231,237 ----
      You can also create databases with other names.
      <productname>PostgreSQL</productname> allows you to create any
      number of databases at a given site.  Database names must have an
!     alphabetic first character and are limited to 63 characters in
      length.  A convenient choice is to create a database with the same
      name as your current user name.  Many tools assume that database
      name as the default, so it can save you some typing.  To create
Index: doc/src/sgml/syntax.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/syntax.sgml,v
retrieving revision 1.65
diff -c -r1.65 syntax.sgml
*** doc/src/sgml/syntax.sgml    10 Aug 2002 19:01:53 -0000      1.65
--- doc/src/sgml/syntax.sgml    13 Aug 2002 20:17:58 -0000
***************
*** 120,127 ****
      The system uses no more than <symbol>NAMEDATALEN</symbol>-1
      characters of an identifier; longer names can be written in
      commands, but they will be truncated.  By default,
!     <symbol>NAMEDATALEN</symbol> is 32 so the maximum identifier length
!     is 31 (but at the time the system is built,
      <symbol>NAMEDATALEN</symbol> can be changed in
      <filename>src/include/postgres_ext.h</filename>).
     </para>
--- 120,127 ----
      The system uses no more than <symbol>NAMEDATALEN</symbol>-1
      characters of an identifier; longer names can be written in
      commands, but they will be truncated.  By default,
!     <symbol>NAMEDATALEN</symbol> is 64 so the maximum identifier length
!     is 63 (but at the time the system is built,
      <symbol>NAMEDATALEN</symbol> can be changed in
      <filename>src/include/postgres_ext.h</filename>).
     </para>
Index: doc/src/sgml/ref/create_index.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/ref/create_index.sgml,v
retrieving revision 1.35
diff -c -r1.35 create_index.sgml
*** doc/src/sgml/ref/create_index.sgml  30 Jul 2002 17:34:37 -0000      1.35
--- doc/src/sgml/ref/create_index.sgml  13 Aug 2002 20:17:58 -0000
***************
*** 339,345 ****
  
     <para>
      Currently, only the B-tree and gist access methods support multicolumn
!     indexes. Up to 16 keys may be specified by default (this limit
      can be altered when building
      <application>PostgreSQL</application>).  Only B-tree currently supports
      unique indexes.
--- 339,345 ----
  
     <para>
      Currently, only the B-tree and gist access methods support multicolumn
!     indexes. Up to 32 keys may be specified by default (this limit
      can be altered when building
      <application>PostgreSQL</application>).  Only B-tree currently supports
      unique indexes.
Index: doc/src/sgml/ref/current_user.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/ref/current_user.sgml,v
retrieving revision 1.6
diff -c -r1.6 current_user.sgml
*** doc/src/sgml/ref/current_user.sgml  21 Apr 2002 19:02:39 -0000      1.6
--- doc/src/sgml/ref/current_user.sgml  13 Aug 2002 20:17:59 -0000
***************
*** 77,83 ****
      Notes
     </TITLE>
     <PARA>
!     Data type "name" is a non-standard 31-character type for storing
      system identifiers.
     </PARA>
    </REFSECT2>
--- 77,83 ----
      Notes
     </TITLE>
     <PARA>
!     Data type "name" is a non-standard 63-character type for storing
      system identifiers.
     </PARA>
    </REFSECT2>
Index: doc/src/sgml/ref/listen.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/ref/listen.sgml,v
retrieving revision 1.13
diff -c -r1.13 listen.sgml
*** doc/src/sgml/ref/listen.sgml        21 Apr 2002 19:02:39 -0000      1.13
--- doc/src/sgml/ref/listen.sgml        13 Aug 2002 20:17:59 -0000
***************
*** 146,152 ****
      it need not correspond to the name of any actual table.  If
      <replaceable class="PARAMETER">notifyname</replaceable>
      is enclosed in double-quotes, it need not even be a syntactically
!     valid name, but can be any string up to 31 characters long.
     </para>
     <para>
      In some previous releases of
--- 146,152 ----
      it need not correspond to the name of any actual table.  If
      <replaceable class="PARAMETER">notifyname</replaceable>
      is enclosed in double-quotes, it need not even be a syntactically
!     valid name, but can be any string up to 63 characters long.
     </para>
     <para>
      In some previous releases of
Index: doc/src/sgml/ref/notify.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/ref/notify.sgml,v
retrieving revision 1.17
diff -c -r1.17 notify.sgml
*** doc/src/sgml/ref/notify.sgml        21 Apr 2002 19:02:39 -0000      1.17
--- doc/src/sgml/ref/notify.sgml        13 Aug 2002 20:17:59 -0000
***************
*** 180,186 ****
      it need not correspond to the name of any actual table.  If
      <replaceable class="PARAMETER">name</replaceable>
      is enclosed in double-quotes, it need not even be a syntactically
!     valid name, but can be any string up to 31 characters long.
     </para>
     <para>
      In some previous releases of
--- 180,186 ----
      it need not correspond to the name of any actual table.  If
      <replaceable class="PARAMETER">name</replaceable>
      is enclosed in double-quotes, it need not even be a syntactically
!     valid name, but can be any string up to 63 characters long.
     </para>
     <para>
      In some previous releases of
Index: doc/src/sgml/ref/unlisten.sgml
===================================================================
RCS file: /cvsroot/pgsql-server/doc/src/sgml/ref/unlisten.sgml,v
retrieving revision 1.18
diff -c -r1.18 unlisten.sgml
*** doc/src/sgml/ref/unlisten.sgml      21 Apr 2002 19:02:39 -0000      1.18
--- doc/src/sgml/ref/unlisten.sgml      13 Aug 2002 20:17:59 -0000
***************
*** 114,120 ****
     <para>
      <replaceable class="PARAMETER">notifyname</replaceable>
      need not be a valid class name but can be any string valid
!     as a name up to 32 characters long.
     </para>
     <para>
      The backend does not complain if you UNLISTEN something you were not
--- 114,120 ----
     <para>
      <replaceable class="PARAMETER">notifyname</replaceable>
      need not be a valid class name but can be any string valid
!     as a name up to 64 characters long.
     </para>
     <para>
      The backend does not complain if you UNLISTEN something you were not
Index: src/bin/psql/command.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/bin/psql/command.c,v
retrieving revision 1.75
diff -c -r1.75 command.c
*** src/bin/psql/command.c      10 Aug 2002 03:56:23 -0000      1.75
--- src/bin/psql/command.c      13 Aug 2002 20:18:01 -0000
***************
*** 1513,1519 ****
        sys = malloc(strlen(editorName) + strlen(fname) + 32 + 1);
        if (!sys)
                return false;
!       sprintf(sys, "exec %s %s", editorName, fname);
        result = system(sys);
        if (result == -1)
                psql_error("could not start editor %s\n", editorName);
--- 1513,1519 ----
        sys = malloc(strlen(editorName) + strlen(fname) + 32 + 1);
        if (!sys)
                return false;
!       snprintf(sys, 32, "exec %s %s", editorName, fname);
        result = system(sys);
        if (result == -1)
                psql_error("could not start editor %s\n", editorName);
Index: src/include/pg_config.h.in
===================================================================
RCS file: /cvsroot/pgsql-server/src/include/pg_config.h.in,v
retrieving revision 1.26
diff -c -r1.26 pg_config.h.in
*** src/include/pg_config.h.in  31 Jul 2002 17:19:54 -0000      1.26
--- src/include/pg_config.h.in  13 Aug 2002 20:18:02 -0000
***************
*** 162,168 ****
   * switch statement in fmgr_oldstyle() in src/backend/utils/fmgr/fmgr.c.
   * But consider converting such functions to new-style instead...
   */
! #define INDEX_MAX_KEYS                16
  #define FUNC_MAX_ARGS         INDEX_MAX_KEYS
  
  /*
--- 162,168 ----
   * switch statement in fmgr_oldstyle() in src/backend/utils/fmgr/fmgr.c.
   * But consider converting such functions to new-style instead...
   */
! #define INDEX_MAX_KEYS                32
  #define FUNC_MAX_ARGS         INDEX_MAX_KEYS
  
  /*
Index: src/include/postgres_ext.h
===================================================================
RCS file: /cvsroot/pgsql-server/src/include/postgres_ext.h,v
retrieving revision 1.10
diff -c -r1.10 postgres_ext.h
*** src/include/postgres_ext.h  30 Apr 2002 19:53:03 -0000      1.10
--- src/include/postgres_ext.h  13 Aug 2002 20:18:02 -0000
***************
*** 41,46 ****
   *
   * NOTE that databases with different NAMEDATALEN's cannot interoperate!
   */
! #define NAMEDATALEN 32
  
  #endif
--- 41,46 ----
   *
   * NOTE that databases with different NAMEDATALEN's cannot interoperate!
   */
! #define NAMEDATALEN 64
  
  #endif
Index: src/include/catalog/catversion.h
===================================================================
RCS file: /cvsroot/pgsql-server/src/include/catalog/catversion.h,v
retrieving revision 1.147
diff -c -r1.147 catversion.h
*** src/include/catalog/catversion.h    9 Aug 2002 16:45:14 -0000       1.147
--- src/include/catalog/catversion.h    13 Aug 2002 20:18:02 -0000
***************
*** 53,58 ****
   */
  
  /*                                                    yyyymmddN */
! #define CATALOG_VERSION_NO    200208091
  
  #endif
--- 53,58 ----
   */
  
  /*                                                    yyyymmddN */
! #define CATALOG_VERSION_NO    200208131
  
  #endif
Index: src/interfaces/jdbc/org/postgresql/errors.properties
===================================================================
RCS file: /cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/errors.properties,v
retrieving revision 1.13
diff -c -r1.13 errors.properties
*** src/interfaces/jdbc/org/postgresql/errors.properties        24 Jun 2002 06:16:27 
-0000      1.13
--- src/interfaces/jdbc/org/postgresql/errors.properties        13 Aug 2002 20:18:02 
-0000
***************
*** 61,67 ****
  postgresql.res.colrange:The column index is out of range.
  postgresql.res.nextrequired:Result set not positioned properly, perhaps you need to 
call next().
  postgresql.serial.interface:You cannot serialize an interface.
! postgresql.serial.namelength:Class & Package name length cannot be longer than 32 
characters. {0} is {1} characters.
  postgresql.serial.noclass:No class found for {0}
  postgresql.serial.table:The table for {0} is not in the database. Contact the DBA, 
as the database is in an inconsistent state.
  postgresql.serial.underscore:Class names may not have _ in them. You supplied {0}.
--- 61,67 ----
  postgresql.res.colrange:The column index is out of range.
  postgresql.res.nextrequired:Result set not positioned properly, perhaps you need to 
call next().
  postgresql.serial.interface:You cannot serialize an interface.
! postgresql.serial.namelength:Class & Package name length cannot be longer than 64 
characters. {0} is {1} characters.
  postgresql.serial.noclass:No class found for {0}
  postgresql.serial.table:The table for {0} is not in the database. Contact the DBA, 
as the database is in an inconsistent state.
  postgresql.serial.underscore:Class names may not have _ in them. You supplied {0}.
Index: src/interfaces/jdbc/org/postgresql/util/Serialize.java
===================================================================
RCS file: 
/cvsroot/pgsql-server/src/interfaces/jdbc/org/postgresql/util/Serialize.java,v
retrieving revision 1.11
diff -c -r1.11 Serialize.java
*** src/interfaces/jdbc/org/postgresql/util/Serialize.java      23 Jul 2002 03:59:55 
-0000      1.11
--- src/interfaces/jdbc/org/postgresql/util/Serialize.java      13 Aug 2002 20:18:03 
-0000
***************
*** 57,63 ****
   * There are a number of limitations placed on the java class to be
   * used by Serialize:
   * <ul>
!  * <li>The class name must be less than 32 chars long and must be all lowercase.
   * This is due to limitations in Postgres about the size of table names.
   * The name must be all lowercase since table names in Postgres are
   * case insensitive and the relname is stored in lowercase. Unless some
--- 57,63 ----
   * There are a number of limitations placed on the java class to be
   * used by Serialize:
   * <ul>
!  * <li>The class name must be less than 64 chars long and must be all lowercase.
   * This is due to limitations in Postgres about the size of table names.
   * The name must be all lowercase since table names in Postgres are
   * case insensitive and the relname is stored in lowercase. Unless some
***************
*** 577,583 ****
         *
         * Because of this, a Class name may not have _ in the name.<p>
         * Another limitation, is that the entire class name (including packages)
!        * cannot be longer than 32 characters (a limit forced by PostgreSQL).
         *
         * @param name Class name
         * @return PostgreSQL table name
--- 577,583 ----
         *
         * Because of this, a Class name may not have _ in the name.<p>
         * Another limitation, is that the entire class name (including packages)
!        * cannot be longer than 64 characters (a limit forced by PostgreSQL).
         *
         * @param name Class name
         * @return PostgreSQL table name
***************
*** 590,605 ****
                if (name.indexOf("_") > -1)
                        throw new PSQLException("postgresql.serial.underscore");
  
!               // Postgres table names can only be 32 character long.
!               // Reserve 1 char, so allow only up to 31 chars.
                // If the full class name with package is too long
                // then just use the class name. If the class name is
                // too long throw an exception.
                //
!               if ( name.length() > 31 )
                {
                        name = name.substring(name.lastIndexOf(".") + 1);
!                       if ( name.length() > 31 )
                                throw new 
PSQLException("postgresql.serial.namelength", name, new Integer(name.length()));
                }
                return name.replace('.', '_');
--- 590,605 ----
                if (name.indexOf("_") > -1)
                        throw new PSQLException("postgresql.serial.underscore");
  
!               // Postgres table names can only be 64 character long.
!               // Reserve 1 char, so allow only up to 63 chars.
                // If the full class name with package is too long
                // then just use the class name. If the class name is
                // too long throw an exception.
                //
!               if ( name.length() > 63 )
                {
                        name = name.substring(name.lastIndexOf(".") + 1);
!                       if ( name.length() > 63 )
                                throw new 
PSQLException("postgresql.serial.namelength", name, new Integer(name.length()));
                }
                return name.replace('.', '_');
Index: src/test/regress/expected/name.out
===================================================================
RCS file: /cvsroot/pgsql-server/src/test/regress/expected/name.out,v
retrieving revision 1.5
diff -c -r1.5 name.out
*** src/test/regress/expected/name.out  4 Jan 2000 16:19:34 -0000       1.5
--- src/test/regress/expected/name.out  13 Aug 2002 20:18:04 -0000
***************
*** 19,104 ****
  --
  --
  CREATE TABLE NAME_TBL(f1 name);
! INSERT INTO NAME_TBL(f1) VALUES ('ABCDEFGHIJKLMNOP');
! INSERT INTO NAME_TBL(f1) VALUES ('abcdefghijklmnop');
  INSERT INTO NAME_TBL(f1) VALUES ('asdfghjkl;');
  INSERT INTO NAME_TBL(f1) VALUES ('343f%2a');
  INSERT INTO NAME_TBL(f1) VALUES ('d34aaasdf');
  INSERT INTO NAME_TBL(f1) VALUES ('');
! INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
  SELECT '' AS seven, NAME_TBL.*;
   seven |               f1                
! -------+---------------------------------
!        | ABCDEFGHIJKLMNOP
!        | abcdefghijklmnop
         | asdfghjkl;
         | 343f%2a
         | d34aaasdf
         | 
!        | 1234567890ABCDEFGHIJKLMNOPQRSTU
  (7 rows)
  
! SELECT '' AS six, c.f1 FROM NAME_TBL c WHERE c.f1 <> 'ABCDEFGHIJKLMNOP';
   six |               f1                
! -----+---------------------------------
!      | abcdefghijklmnop
       | asdfghjkl;
       | 343f%2a
       | d34aaasdf
       | 
!      | 1234567890ABCDEFGHIJKLMNOPQRSTU
! (6 rows)
  
! SELECT '' AS one, c.f1 FROM NAME_TBL c WHERE c.f1 = 'ABCDEFGHIJKLMNOP';
   one |        f1        
! -----+------------------
!      | ABCDEFGHIJKLMNOP
! (1 row)
  
! SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 < 'ABCDEFGHIJKLMNOP';
   three |               f1                
! -------+---------------------------------
!        | 343f%2a
         | 
!        | 1234567890ABCDEFGHIJKLMNOPQRSTU
! (3 rows)
  
! SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 <= 'ABCDEFGHIJKLMNOP';
   four |               f1                
! ------+---------------------------------
!       | ABCDEFGHIJKLMNOP
!       | 343f%2a
        | 
!       | 1234567890ABCDEFGHIJKLMNOPQRSTU
! (4 rows)
  
! SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 > 'ABCDEFGHIJKLMNOP';
   three |        f1        
! -------+------------------
!        | abcdefghijklmnop
         | asdfghjkl;
         | d34aaasdf
! (3 rows)
  
! SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 >= 'ABCDEFGHIJKLMNOP';
   four |        f1        
! ------+------------------
!       | ABCDEFGHIJKLMNOP
!       | abcdefghijklmnop
        | asdfghjkl;
        | d34aaasdf
! (4 rows)
  
  SELECT '' AS seven, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*';
   seven |               f1                
! -------+---------------------------------
!        | ABCDEFGHIJKLMNOP
!        | abcdefghijklmnop
         | asdfghjkl;
         | 343f%2a
         | d34aaasdf
         | 
!        | 1234567890ABCDEFGHIJKLMNOPQRSTU
  (7 rows)
  
  SELECT '' AS zero, c.f1 FROM NAME_TBL c WHERE c.f1 !~ '.*';
--- 19,104 ----
  --
  --
  CREATE TABLE NAME_TBL(f1 name);
! INSERT INTO NAME_TBL(f1) VALUES 
('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR');
! INSERT INTO NAME_TBL(f1) VALUES 
('1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr');
  INSERT INTO NAME_TBL(f1) VALUES ('asdfghjkl;');
  INSERT INTO NAME_TBL(f1) VALUES ('343f%2a');
  INSERT INTO NAME_TBL(f1) VALUES ('d34aaasdf');
  INSERT INTO NAME_TBL(f1) VALUES ('');
! INSERT INTO NAME_TBL(f1) VALUES 
('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
  SELECT '' AS seven, NAME_TBL.*;
   seven |               f1                
! -------+-----------------------------------------------------------------
!        | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
!        | 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
         | asdfghjkl;
         | 343f%2a
         | d34aaasdf
         | 
!        | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
  (7 rows)
  
! SELECT '' AS six, c.f1 FROM NAME_TBL c WHERE c.f1 <> 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
   six |               f1                
! -----+-----------------------------------------------------------------
!      | 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
       | asdfghjkl;
       | 343f%2a
       | d34aaasdf
       | 
! (5 rows)
  
! SELECT '' AS one, c.f1 FROM NAME_TBL c WHERE c.f1 = 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
   one |        f1        
! -----+-----------------------------------------------------------------
!      | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
!      | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
! (2 rows)
  
! SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 < 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
   three |               f1                
! -------+----
         | 
! (1 row)
  
! SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 <= 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
   four |               f1                
! ------+-----------------------------------------------------------------
!       | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
        | 
!       | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
! (3 rows)
  
! SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 > 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
   three |        f1        
! -------+-----------------------------------------------------------------
!        | 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
         | asdfghjkl;
+        | 343f%2a
         | d34aaasdf
! (4 rows)
  
! SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 >= 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
   four |        f1        
! ------+-----------------------------------------------------------------
!       | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
!       | 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
        | asdfghjkl;
+       | 343f%2a
        | d34aaasdf
!       | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
! (6 rows)
  
  SELECT '' AS seven, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*';
   seven |               f1                
! -------+-----------------------------------------------------------------
!        | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
!        | 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
         | asdfghjkl;
         | 343f%2a
         | d34aaasdf
         | 
!        | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
  (7 rows)
  
  SELECT '' AS zero, c.f1 FROM NAME_TBL c WHERE c.f1 !~ '.*';
***************
*** 108,118 ****
  
  SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '[0-9]';
   three |               f1                
! -------+---------------------------------
         | 343f%2a
         | d34aaasdf
!        | 1234567890ABCDEFGHIJKLMNOPQRSTU
! (3 rows)
  
  SELECT '' AS two, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*asdf.*';
   two |     f1     
--- 108,120 ----
  
  SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '[0-9]';
   three |               f1                
! -------+-----------------------------------------------------------------
!        | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
!        | 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
         | 343f%2a
         | d34aaasdf
!        | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
! (5 rows)
  
  SELECT '' AS two, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*asdf.*';
   two |     f1     
Index: src/test/regress/sql/name.sql
===================================================================
RCS file: /cvsroot/pgsql-server/src/test/regress/sql/name.sql,v
retrieving revision 1.5
diff -c -r1.5 name.sql
*** src/test/regress/sql/name.sql       4 Jan 2000 16:21:02 -0000       1.5
--- src/test/regress/sql/name.sql       13 Aug 2002 20:18:04 -0000
***************
*** 14,22 ****
  
  CREATE TABLE NAME_TBL(f1 name);
  
! INSERT INTO NAME_TBL(f1) VALUES ('ABCDEFGHIJKLMNOP');
  
! INSERT INTO NAME_TBL(f1) VALUES ('abcdefghijklmnop');
  
  INSERT INTO NAME_TBL(f1) VALUES ('asdfghjkl;');
  
--- 14,22 ----
  
  CREATE TABLE NAME_TBL(f1 name);
  
! INSERT INTO NAME_TBL(f1) VALUES 
('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR');
  
! INSERT INTO NAME_TBL(f1) VALUES 
('1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr');
  
  INSERT INTO NAME_TBL(f1) VALUES ('asdfghjkl;');
  
***************
*** 26,47 ****
  
  INSERT INTO NAME_TBL(f1) VALUES ('');
  
! INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
  
  
  SELECT '' AS seven, NAME_TBL.*;
  
! SELECT '' AS six, c.f1 FROM NAME_TBL c WHERE c.f1 <> 'ABCDEFGHIJKLMNOP';
  
! SELECT '' AS one, c.f1 FROM NAME_TBL c WHERE c.f1 = 'ABCDEFGHIJKLMNOP';
  
! SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 < 'ABCDEFGHIJKLMNOP';
  
! SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 <= 'ABCDEFGHIJKLMNOP';
  
! SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 > 'ABCDEFGHIJKLMNOP';
  
! SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 >= 'ABCDEFGHIJKLMNOP';
  
  SELECT '' AS seven, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*';
  
--- 26,47 ----
  
  INSERT INTO NAME_TBL(f1) VALUES ('');
  
! INSERT INTO NAME_TBL(f1) VALUES 
('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
  
  
  SELECT '' AS seven, NAME_TBL.*;
  
! SELECT '' AS six, c.f1 FROM NAME_TBL c WHERE c.f1 <> 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
  
! SELECT '' AS one, c.f1 FROM NAME_TBL c WHERE c.f1 = 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
  
! SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 < 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
  
! SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 <= 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
  
! SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 > 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
  
! SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 >= 
'1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
  
  SELECT '' AS seven, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*';
  

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to