From: Marc G. Fournier Date: Wed, 27 Jan 1999 01:18:23 +0000 (+0000) Subject: From: Tatsuo Ishii X-Git-Tag: REL9_0_0~25971 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=2ae5d51668a4599427a801da62313584ab565c38;p=pg-rex%2Fsyncrep.git From: Tatsuo Ishii Included patches fix a portability problem of unsetenv() used in 6.4.2 multi-byte support. unsetenv() is only avaliable on FreeBSD and Linux so I decided to replace with putenv(). --- diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c index 11b78c3926..f5b19d13a1 100644 --- a/src/backend/parser/analyze.c +++ b/src/backend/parser/analyze.c @@ -5,7 +5,7 @@ * * Copyright (c) 1994, Regents of the University of California * - * $Id: analyze.c,v 1.95 1999/01/25 12:01:05 vadim Exp $ + * $Id: analyze.c,v 1.96 1999/01/27 01:18:20 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -714,6 +714,7 @@ transformCreateStmt(ParseState *pstate, CreateStmt *stmt) index = makeNode(IndexStmt); index->unique = TRUE; + index->primary = (constraint->contype == CONSTR_PRIMARY ? TRUE:FALSE); if (constraint->name != NULL) index->idxname = constraint->name; else if (constraint->contype == CONSTR_PRIMARY) @@ -722,14 +723,10 @@ transformCreateStmt(ParseState *pstate, CreateStmt *stmt) elog(ERROR, "CREATE TABLE/PRIMARY KEY multiple keys for table %s are not legal", stmt->relname); have_pkey = TRUE; - index->primary = TRUE; index->idxname = makeTableName(stmt->relname, "pkey", NULL); } else - { - index->primary = FALSE; index->idxname = NULL; - } index->relname = stmt->relname; index->accessMethod = "btree"; diff --git a/src/bin/psql/psql.c b/src/bin/psql/psql.c index 453d7ae7e1..cdd4c1d0d5 100644 --- a/src/bin/psql/psql.c +++ b/src/bin/psql/psql.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.166 1999/01/17 06:19:19 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.167 1999/01/27 01:18:21 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -1509,7 +1509,8 @@ do_connect(const char *new_dbname, PGCLIENTENCODING value. -- 1998/12/12 Tatsuo Ishii */ if (!has_client_encoding) { - unsetenv("PGCLIENTENCODING"); + static const char ev[] = "PGCLIENTENCODING="; + putenv(ev); } #endif diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index 4c5f70035a..f360861224 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.88 1999/01/17 06:19:35 momjian Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.89 1999/01/27 01:18:22 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -816,7 +816,7 @@ PQsetenv(PGconn *conn) #ifdef MULTIBYTE /* query server encoding */ env = getenv(envname); - if (!env) + if (!env || *env == NULL) { rtn = PQexec(conn, "select getdatabaseencoding()"); if (rtn && PQresultStatus(rtn) == PGRES_TUPLES_OK) diff --git a/src/interfaces/libpq/fe-print.c b/src/interfaces/libpq/fe-print.c index 08e111310a..a99fc27ba2 100644 --- a/src/interfaces/libpq/fe-print.c +++ b/src/interfaces/libpq/fe-print.c @@ -9,7 +9,7 @@ * didn't really belong there. * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.15 1998/10/06 14:16:50 tgl Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-print.c,v 1.16 1999/01/27 01:18:23 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -506,7 +506,7 @@ PQmblen(unsigned char *s) int encoding = -1; str = getenv("PGCLIENTENCODING"); - if (str) + if (str && *str != NULL) encoding = pg_char_to_encoding(str); if (encoding < 0) encoding = MULTIBYTE;