mirror of
https://github.com/postgres/postgres.git
synced 2025-11-21 00:42:43 +03:00
Change NAMEDATALEN to 64, INDEX_MAX_KEYS/MAX_FUNC_ARGS to 32, per discussion on hackers.
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright 2000-2002 by PostgreSQL Global Development Group
|
||||
*
|
||||
* $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.75 2002/08/10 03:56:23 tgl Exp $
|
||||
* $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.76 2002/08/13 20:40:44 momjian Exp $
|
||||
*/
|
||||
#include "postgres_fe.h"
|
||||
#include "command.h"
|
||||
@@ -1513,7 +1513,7 @@ editFile(const char *fname)
|
||||
sys = malloc(strlen(editorName) + strlen(fname) + 32 + 1);
|
||||
if (!sys)
|
||||
return false;
|
||||
sprintf(sys, "exec %s %s", editorName, fname);
|
||||
snprintf(sys, 32, "exec %s %s", editorName, fname);
|
||||
result = system(sys);
|
||||
if (result == -1)
|
||||
psql_error("could not start editor %s\n", editorName);
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: catversion.h,v 1.147 2002/08/09 16:45:14 tgl Exp $
|
||||
* $Id: catversion.h,v 1.148 2002/08/13 20:40:44 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -53,6 +53,6 @@
|
||||
*/
|
||||
|
||||
/* yyyymmddN */
|
||||
#define CATALOG_VERSION_NO 200208091
|
||||
#define CATALOG_VERSION_NO 200208131
|
||||
|
||||
#endif
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
* or in pg_config.h afterwards. Of course, if you edit pg_config.h, then your
|
||||
* changes will be overwritten the next time you run configure.
|
||||
*
|
||||
* $Id: pg_config.h.in,v 1.26 2002/07/31 17:19:54 tgl Exp $
|
||||
* $Id: pg_config.h.in,v 1.27 2002/08/13 20:40:44 momjian Exp $
|
||||
*/
|
||||
|
||||
#ifndef PG_CONFIG_H
|
||||
@@ -162,7 +162,7 @@
|
||||
* 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 INDEX_MAX_KEYS 32
|
||||
#define FUNC_MAX_ARGS INDEX_MAX_KEYS
|
||||
|
||||
/*
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* use header files that are otherwise internal to Postgres to interface
|
||||
* with the backend.
|
||||
*
|
||||
* $Id: postgres_ext.h,v 1.10 2002/04/30 19:53:03 tgl Exp $
|
||||
* $Id: postgres_ext.h,v 1.11 2002/08/13 20:40:44 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -41,6 +41,6 @@ typedef unsigned int Oid;
|
||||
*
|
||||
* NOTE that databases with different NAMEDATALEN's cannot interoperate!
|
||||
*/
|
||||
#define NAMEDATALEN 32
|
||||
#define NAMEDATALEN 64
|
||||
|
||||
#endif
|
||||
|
||||
@@ -61,7 +61,7 @@ postgresql.res.colname:The column name {0} not found.
|
||||
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.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}.
|
||||
|
||||
@@ -57,7 +57,7 @@ import java.sql.*;
|
||||
* 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.
|
||||
* <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,7 +577,7 @@ public class Serialize
|
||||
*
|
||||
* 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).
|
||||
* cannot be longer than 64 characters (a limit forced by PostgreSQL).
|
||||
*
|
||||
* @param name Class name
|
||||
* @return PostgreSQL table name
|
||||
@@ -590,16 +590,16 @@ public class Serialize
|
||||
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.
|
||||
// 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() > 31 )
|
||||
if ( name.length() > 63 )
|
||||
{
|
||||
name = name.substring(name.lastIndexOf(".") + 1);
|
||||
if ( name.length() > 31 )
|
||||
if ( name.length() > 63 )
|
||||
throw new PSQLException("postgresql.serial.namelength", name, new Integer(name.length()));
|
||||
}
|
||||
return name.replace('.', '_');
|
||||
|
||||
@@ -19,86 +19,86 @@ SELECT name 'name string' = name 'name string ' AS "False";
|
||||
--
|
||||
--
|
||||
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 ('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 ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
|
||||
INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
|
||||
SELECT '' AS seven, NAME_TBL.*;
|
||||
seven | f1
|
||||
-------+---------------------------------
|
||||
| ABCDEFGHIJKLMNOP
|
||||
| abcdefghijklmnop
|
||||
-------+-----------------------------------------------------------------
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
|
||||
| 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
|
||||
| asdfghjkl;
|
||||
| 343f%2a
|
||||
| d34aaasdf
|
||||
|
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTU
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
|
||||
(7 rows)
|
||||
|
||||
SELECT '' AS six, c.f1 FROM NAME_TBL c WHERE c.f1 <> 'ABCDEFGHIJKLMNOP';
|
||||
SELECT '' AS six, c.f1 FROM NAME_TBL c WHERE c.f1 <> '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
|
||||
six | f1
|
||||
-----+---------------------------------
|
||||
| abcdefghijklmnop
|
||||
-----+-----------------------------------------------------------------
|
||||
| 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
|
||||
| asdfghjkl;
|
||||
| 343f%2a
|
||||
| d34aaasdf
|
||||
|
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTU
|
||||
(6 rows)
|
||||
(5 rows)
|
||||
|
||||
SELECT '' AS one, c.f1 FROM NAME_TBL c WHERE c.f1 = 'ABCDEFGHIJKLMNOP';
|
||||
SELECT '' AS one, c.f1 FROM NAME_TBL c WHERE c.f1 = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
|
||||
one | f1
|
||||
-----+------------------
|
||||
| ABCDEFGHIJKLMNOP
|
||||
-----+-----------------------------------------------------------------
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
|
||||
(2 rows)
|
||||
|
||||
SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 < '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
|
||||
three | f1
|
||||
-------+----
|
||||
|
|
||||
(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';
|
||||
SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 <= '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR';
|
||||
four | f1
|
||||
------+---------------------------------
|
||||
| ABCDEFGHIJKLMNOP
|
||||
| 343f%2a
|
||||
------+-----------------------------------------------------------------
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
|
||||
|
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTU
|
||||
(4 rows)
|
||||
|
||||
SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 > 'ABCDEFGHIJKLMNOP';
|
||||
three | f1
|
||||
-------+------------------
|
||||
| abcdefghijklmnop
|
||||
| asdfghjkl;
|
||||
| d34aaasdf
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
|
||||
(3 rows)
|
||||
|
||||
SELECT '' AS four, c.f1 FROM NAME_TBL c WHERE c.f1 >= 'ABCDEFGHIJKLMNOP';
|
||||
four | f1
|
||||
------+------------------
|
||||
| ABCDEFGHIJKLMNOP
|
||||
| abcdefghijklmnop
|
||||
| asdfghjkl;
|
||||
| d34aaasdf
|
||||
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
|
||||
-------+---------------------------------
|
||||
| ABCDEFGHIJKLMNOP
|
||||
| abcdefghijklmnop
|
||||
-------+-----------------------------------------------------------------
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
|
||||
| 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
|
||||
| asdfghjkl;
|
||||
| 343f%2a
|
||||
| d34aaasdf
|
||||
|
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTU
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
|
||||
(7 rows)
|
||||
|
||||
SELECT '' AS zero, c.f1 FROM NAME_TBL c WHERE c.f1 !~ '.*';
|
||||
@@ -108,11 +108,13 @@ SELECT '' AS zero, c.f1 FROM NAME_TBL c WHERE c.f1 !~ '.*';
|
||||
|
||||
SELECT '' AS three, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '[0-9]';
|
||||
three | f1
|
||||
-------+---------------------------------
|
||||
-------+-----------------------------------------------------------------
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
|
||||
| 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
|
||||
| 343f%2a
|
||||
| d34aaasdf
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTU
|
||||
(3 rows)
|
||||
| 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
|
||||
(5 rows)
|
||||
|
||||
SELECT '' AS two, c.f1 FROM NAME_TBL c WHERE c.f1 ~ '.*asdf.*';
|
||||
two | f1
|
||||
|
||||
@@ -14,9 +14,9 @@ SELECT name 'name string' = name 'name string ' AS "False";
|
||||
|
||||
CREATE TABLE NAME_TBL(f1 name);
|
||||
|
||||
INSERT INTO NAME_TBL(f1) VALUES ('ABCDEFGHIJKLMNOP');
|
||||
INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQR');
|
||||
|
||||
INSERT INTO NAME_TBL(f1) VALUES ('abcdefghijklmnop');
|
||||
INSERT INTO NAME_TBL(f1) VALUES ('1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr');
|
||||
|
||||
INSERT INTO NAME_TBL(f1) VALUES ('asdfghjkl;');
|
||||
|
||||
@@ -26,22 +26,22 @@ INSERT INTO NAME_TBL(f1) VALUES ('d34aaasdf');
|
||||
|
||||
INSERT INTO NAME_TBL(f1) VALUES ('');
|
||||
|
||||
INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
|
||||
INSERT INTO NAME_TBL(f1) VALUES ('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ');
|
||||
|
||||
|
||||
SELECT '' AS seven, NAME_TBL.*;
|
||||
|
||||
SELECT '' AS six, c.f1 FROM NAME_TBL c WHERE c.f1 <> 'ABCDEFGHIJKLMNOP';
|
||||
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 = 'ABCDEFGHIJKLMNOP';
|
||||
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 < 'ABCDEFGHIJKLMNOP';
|
||||
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 <= 'ABCDEFGHIJKLMNOP';
|
||||
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 > 'ABCDEFGHIJKLMNOP';
|
||||
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 >= 'ABCDEFGHIJKLMNOP';
|
||||
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 ~ '.*';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user