aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bin/psql/command.c4
-rw-r--r--src/include/catalog/catversion.h4
-rw-r--r--src/include/pg_config.h.in4
-rw-r--r--src/include/postgres_ext.h4
-rw-r--r--src/interfaces/jdbc/org/postgresql/errors.properties2
-rw-r--r--src/interfaces/jdbc/org/postgresql/util/Serialize.java12
-rw-r--r--src/test/regress/expected/name.out88
-rw-r--r--src/test/regress/sql/name.sql18
8 files changed, 69 insertions, 67 deletions
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 9be47a90c91..e483863bbb0 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -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);
diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h
index 792b2858f1d..8f06566e77c 100644
--- a/src/include/catalog/catversion.h
+++ b/src/include/catalog/catversion.h
@@ -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
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index 01d5465ad84..ea91f79e324 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -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
/*
diff --git a/src/include/postgres_ext.h b/src/include/postgres_ext.h
index 3249ce4350b..d4e5b4ebbfa 100644
--- a/src/include/postgres_ext.h
+++ b/src/include/postgres_ext.h
@@ -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
diff --git a/src/interfaces/jdbc/org/postgresql/errors.properties b/src/interfaces/jdbc/org/postgresql/errors.properties
index 26ff2f724b2..d03673351b1 100644
--- a/src/interfaces/jdbc/org/postgresql/errors.properties
+++ b/src/interfaces/jdbc/org/postgresql/errors.properties
@@ -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}.
diff --git a/src/interfaces/jdbc/org/postgresql/util/Serialize.java b/src/interfaces/jdbc/org/postgresql/util/Serialize.java
index f1f12520baa..8898e1ecf4e 100644
--- a/src/interfaces/jdbc/org/postgresql/util/Serialize.java
+++ b/src/interfaces/jdbc/org/postgresql/util/Serialize.java
@@ -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('.', '_');
diff --git a/src/test/regress/expected/name.out b/src/test/regress/expected/name.out
index ea9a6e6f64d..ce876c4eb39 100644
--- a/src/test/regress/expected/name.out
+++ b/src/test/regress/expected/name.out
@@ -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
-(1 row)
+-----+-----------------------------------------------------------------
+ | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
+ | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
+(2 rows)
-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';
three | f1
--------+---------------------------------
- | 343f%2a
+-------+----
|
- | 1234567890ABCDEFGHIJKLMNOPQRSTU
-(3 rows)
+(1 row)
-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)
+ | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
+(3 rows)
-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';
three | f1
--------+------------------
- | abcdefghijklmnop
+-------+-----------------------------------------------------------------
+ | 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
| asdfghjkl;
+ | 343f%2a
| d34aaasdf
-(3 rows)
+(4 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
- | abcdefghijklmnop
+------+-----------------------------------------------------------------
+ | 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHIJKLMNOPQ
+ | 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq
| asdfghjkl;
+ | 343f%2a
| d34aaasdf
-(4 rows)
+ | 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
diff --git a/src/test/regress/sql/name.sql b/src/test/regress/sql/name.sql
index 882364fba8a..bcf3ac90feb 100644
--- a/src/test/regress/sql/name.sql
+++ b/src/test/regress/sql/name.sql
@@ -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 ~ '.*';