Look Ma, no MAX_PARSE_BUFFER! (At least not in the backend.

pg_dump and interfaces/odbc still need some work.)
This commit is contained in:
Tom Lane 1999-10-23 03:13:33 +00:00
parent 627b5e9c20
commit ecd0bfa81a
22 changed files with 128 additions and 183 deletions

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/common/indextuple.c,v 1.38 1999/07/19 07:07:15 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/access/common/indextuple.c,v 1.39 1999/10/23 03:13:20 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -44,10 +44,10 @@ index_formtuple(TupleDesc tupleDescriptor,
uint16 tupmask = 0; uint16 tupmask = 0;
int numberOfAttributes = tupleDescriptor->natts; int numberOfAttributes = tupleDescriptor->natts;
if (numberOfAttributes > MaxIndexAttributeNumber) /* XXX shouldn't this test be '>' ? */
elog(ERROR, "index_formtuple: numberOfAttributes of %d > %d", if (numberOfAttributes >= INDEX_MAX_KEYS)
numberOfAttributes, MaxIndexAttributeNumber); elog(ERROR, "index_formtuple: numberOfAttributes %d >= %d",
numberOfAttributes, INDEX_MAX_KEYS);
for (i = 0; i < numberOfAttributes && !hasnull; i++) for (i = 0; i < numberOfAttributes && !hasnull; i++)
{ {

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/access/index/Attic/istrat.c,v 1.36 1999/09/18 19:06:04 tgl Exp $ * $Header: /cvsroot/pgsql/src/backend/access/index/Attic/istrat.c,v 1.37 1999/10/23 03:13:20 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -544,7 +544,7 @@ IndexSupportInitialize(IndexStrategy indexStrategy,
StrategyMap map; StrategyMap map;
AttrNumber attributeNumber; AttrNumber attributeNumber;
int attributeIndex; int attributeIndex;
Oid operatorClassObjectId[MaxIndexAttributeNumber]; Oid operatorClassObjectId[INDEX_MAX_KEYS];
if (!IsBootstrapProcessingMode()) if (!IsBootstrapProcessingMode())
{ {

View File

@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.41 1999/09/27 03:12:58 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.42 1999/10/23 03:13:21 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -96,23 +96,25 @@ pg_krb4_recvauth(Port *port)
version); version);
if (status != KSUCCESS) if (status != KSUCCESS)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"pg_krb4_recvauth: kerberos error: %s\n", krb_err_txt[status]); "pg_krb4_recvauth: kerberos error: %s\n",
krb_err_txt[status]);
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);
return STATUS_ERROR; return STATUS_ERROR;
} }
if (strncmp(version, PG_KRB4_VERSION, KRB_SENDAUTH_VLEN)) if (strncmp(version, PG_KRB4_VERSION, KRB_SENDAUTH_VLEN))
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"pg_krb4_recvauth: protocol version != \"%s\"\n", PG_KRB4_VERSION); "pg_krb4_recvauth: protocol version != \"%s\"\n",
PG_KRB4_VERSION);
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);
return STATUS_ERROR; return STATUS_ERROR;
} }
if (strncmp(port->user, auth_data.pname, SM_USER)) if (strncmp(port->user, auth_data.pname, SM_USER))
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"pg_krb4_recvauth: name \"%s\" != \"%s\"\n", "pg_krb4_recvauth: name \"%s\" != \"%s\"\n",
port->user, auth_data.pname); port->user, auth_data.pname);
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
@ -126,8 +128,8 @@ pg_krb4_recvauth(Port *port)
static int static int
pg_krb4_recvauth(Port *port) pg_krb4_recvauth(Port *port)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"pg_krb4_recvauth: Kerberos not implemented on this server.\n"); "pg_krb4_recvauth: Kerberos not implemented on this server.\n");
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);
@ -220,7 +222,7 @@ pg_krb5_recvauth(Port *port)
*hostp = '\0'; *hostp = '\0';
if (code = krb5_parse_name(servbuf, &server)) if (code = krb5_parse_name(servbuf, &server))
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"pg_krb5_recvauth: Kerberos error %d in krb5_parse_name\n", code); "pg_krb5_recvauth: Kerberos error %d in krb5_parse_name\n", code);
com_err("pg_krb5_recvauth", code, "in krb5_parse_name"); com_err("pg_krb5_recvauth", code, "in krb5_parse_name");
return STATUS_ERROR; return STATUS_ERROR;
@ -253,7 +255,7 @@ pg_krb5_recvauth(Port *port)
(krb5_ticket **) NULL, (krb5_ticket **) NULL,
(krb5_authenticator **) NULL)) (krb5_authenticator **) NULL))
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"pg_krb5_recvauth: Kerberos error %d in krb5_recvauth\n", code); "pg_krb5_recvauth: Kerberos error %d in krb5_recvauth\n", code);
com_err("pg_krb5_recvauth", code, "in krb5_recvauth"); com_err("pg_krb5_recvauth", code, "in krb5_recvauth");
krb5_free_principal(server); krb5_free_principal(server);
@ -268,7 +270,7 @@ pg_krb5_recvauth(Port *port)
*/ */
if ((code = krb5_unparse_name(client, &kusername))) if ((code = krb5_unparse_name(client, &kusername)))
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"pg_krb5_recvauth: Kerberos error %d in krb5_unparse_name\n", code); "pg_krb5_recvauth: Kerberos error %d in krb5_unparse_name\n", code);
com_err("pg_krb5_recvauth", code, "in krb5_unparse_name"); com_err("pg_krb5_recvauth", code, "in krb5_unparse_name");
krb5_free_principal(client); krb5_free_principal(client);
@ -277,7 +279,7 @@ pg_krb5_recvauth(Port *port)
krb5_free_principal(client); krb5_free_principal(client);
if (!kusername) if (!kusername)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"pg_krb5_recvauth: could not decode username\n"); "pg_krb5_recvauth: could not decode username\n");
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);
@ -286,7 +288,7 @@ pg_krb5_recvauth(Port *port)
kusername = pg_an_to_ln(kusername); kusername = pg_an_to_ln(kusername);
if (strncmp(username, kusername, SM_USER)) if (strncmp(username, kusername, SM_USER))
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"pg_krb5_recvauth: name \"%s\" != \"%s\"\n", port->user, kusername); "pg_krb5_recvauth: name \"%s\" != \"%s\"\n", port->user, kusername);
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);
@ -301,7 +303,7 @@ pg_krb5_recvauth(Port *port)
static int static int
pg_krb5_recvauth(Port *port) pg_krb5_recvauth(Port *port)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"pg_krb5_recvauth: Kerberos not implemented on this server.\n"); "pg_krb5_recvauth: Kerberos not implemented on this server.\n");
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);
@ -356,7 +358,7 @@ pg_passwordv0_recvauth(void *arg, PacketLen len, void *pkt)
if (user == NULL || password == NULL) if (user == NULL || password == NULL)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"pg_password_recvauth: badly formed password packet.\n"); "pg_password_recvauth: badly formed password packet.\n");
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);

View File

@ -5,7 +5,7 @@
* wherein you authenticate a user by seeing what IP address the system * wherein you authenticate a user by seeing what IP address the system
* says he comes from and possibly using ident). * says he comes from and possibly using ident).
* *
* $Id: hba.c,v 1.48 1999/09/27 03:12:59 momjian Exp $ * $Id: hba.c,v 1.49 1999/10/23 03:13:21 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -19,9 +19,18 @@
#include <unistd.h> #include <unistd.h>
#include "postgres.h" #include "postgres.h"
#include "libpq/libpq.h" #include "libpq/libpq.h"
#include "miscadmin.h" #include "miscadmin.h"
#define MAX_TOKEN 80
/* Maximum size of one token in the configuration file */
#define IDENT_USERNAME_MAX 512
/* Max size of username ident server can return */
/* Some standard C libraries, including GNU, have an isblank() function. /* Some standard C libraries, including GNU, have an isblank() function.
Others, including Solaris, do not. So we have our own. Others, including Solaris, do not. So we have our own.
*/ */
@ -32,7 +41,6 @@ isblank(const char c)
} }
static void static void
next_token(FILE *fp, char *buf, const int bufsz) next_token(FILE *fp, char *buf, const int bufsz)
{ {
@ -302,9 +310,8 @@ process_hba_record(FILE *file, hbaPort *port, bool *matches_p, bool *error_p)
return; return;
syntax: syntax:
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"process_hba_record: invalid syntax in pg_hba.conf file\n"); "process_hba_record: invalid syntax in pg_hba.conf file\n");
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);
@ -397,7 +404,7 @@ find_hba_entry(hbaPort *port, bool *hba_ok_p)
{ {
/* Old config file exists. Tell this guy he needs to upgrade. */ /* Old config file exists. Tell this guy he needs to upgrade. */
close(fd); close(fd);
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"A file exists by the name used for host-based authentication " "A file exists by the name used for host-based authentication "
"in prior releases of Postgres (%s). The name and format of " "in prior releases of Postgres (%s). The name and format of "
"the configuration file have changed, so this file should be " "the configuration file have changed, so this file should be "
@ -421,7 +428,7 @@ find_hba_entry(hbaPort *port, bool *hba_ok_p)
{ {
/* The open of the config file failed. */ /* The open of the config file failed. */
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"find_hba_entry: Host-based authentication config file " "find_hba_entry: Host-based authentication config file "
"does not exist or permissions are not setup correctly! " "does not exist or permissions are not setup correctly! "
"Unable to open file \"%s\".\n", "Unable to open file \"%s\".\n",
@ -553,7 +560,7 @@ ident(const struct in_addr remote_ip_addr, const struct in_addr local_ip_addr,
sock_fd = socket(AF_INET, SOCK_STREAM, IPPROTO_IP); sock_fd = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (sock_fd == -1) if (sock_fd == -1)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"Failed to create socket on which to talk to Ident server. " "Failed to create socket on which to talk to Ident server. "
"socket() returned errno = %s (%d)\n", "socket() returned errno = %s (%d)\n",
strerror(errno), errno); strerror(errno), errno);
@ -590,7 +597,7 @@ ident(const struct in_addr remote_ip_addr, const struct in_addr local_ip_addr,
} }
if (rc != 0) if (rc != 0)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"Unable to connect to Ident server on the host which is " "Unable to connect to Ident server on the host which is "
"trying to connect to Postgres " "trying to connect to Postgres "
"(IP address %s, Port %d). " "(IP address %s, Port %d). "
@ -610,7 +617,7 @@ ident(const struct in_addr remote_ip_addr, const struct in_addr local_ip_addr,
rc = send(sock_fd, ident_query, strlen(ident_query), 0); rc = send(sock_fd, ident_query, strlen(ident_query), 0);
if (rc < 0) if (rc < 0)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"Unable to send query to Ident server on the host which is " "Unable to send query to Ident server on the host which is "
"trying to connect to Postgres (Host %s, Port %d)," "trying to connect to Postgres (Host %s, Port %d),"
"even though we successfully connected to it. " "even though we successfully connected to it. "
@ -627,7 +634,7 @@ ident(const struct in_addr remote_ip_addr, const struct in_addr local_ip_addr,
rc = recv(sock_fd, ident_response, sizeof(ident_response) - 1, 0); rc = recv(sock_fd, ident_response, sizeof(ident_response) - 1, 0);
if (rc < 0) if (rc < 0)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"Unable to receive response from Ident server " "Unable to receive response from Ident server "
"on the host which is " "on the host which is "
"trying to connect to Postgres (Host %s, Port %d)," "trying to connect to Postgres (Host %s, Port %d),"
@ -692,7 +699,7 @@ parse_map_record(FILE *file,
return; return;
} }
} }
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"Incomplete line in pg_ident: %s", file_map); "Incomplete line in pg_ident: %s", file_map);
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);
@ -775,7 +782,7 @@ verify_against_usermap(const char *pguser,
if (usermap_name[0] == '\0') if (usermap_name[0] == '\0')
{ {
*checks_out_p = false; *checks_out_p = false;
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"verify_against_usermap: hba configuration file does not " "verify_against_usermap: hba configuration file does not "
"have the usermap field filled in in the entry that pertains " "have the usermap field filled in in the entry that pertains "
"to this connection. That field is essential for Ident-based " "to this connection. That field is essential for Ident-based "
@ -813,7 +820,7 @@ verify_against_usermap(const char *pguser,
*checks_out_p = false; *checks_out_p = false;
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"verify_against_usermap: usermap file for Ident-based " "verify_against_usermap: usermap file for Ident-based "
"authentication " "authentication "
"does not exist or permissions are not setup correctly! " "does not exist or permissions are not setup correctly! "

View File

@ -1,7 +1,7 @@
/* /*
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: password.c,v 1.25 1999/07/17 20:17:02 momjian Exp $ * $Id: password.c,v 1.26 1999/10/23 03:13:21 tgl Exp $
* *
*/ */
@ -34,7 +34,7 @@ verify_password(char *auth_arg, char *user, char *password)
#endif #endif
if (!pw_file) if (!pw_file)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"verify_password: couldn't open password file '%s'\n", "verify_password: couldn't open password file '%s'\n",
pw_file_fullname); pw_file_fullname);
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
@ -79,7 +79,7 @@ verify_password(char *auth_arg, char *user, char *password)
return STATUS_OK; return STATUS_OK;
} }
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"verify_password: password mismatch for '%s'.\n", "verify_password: password mismatch for '%s'.\n",
user); user);
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
@ -91,7 +91,7 @@ verify_password(char *auth_arg, char *user, char *password)
} }
} }
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"verify_password: user '%s' not found in password file.\n", "verify_password: user '%s' not found in password file.\n",
user); user);
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);

View File

@ -5,7 +5,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: portal.c,v 1.27 1999/07/17 20:17:02 momjian Exp $ * $Id: portal.c,v 1.28 1999/10/23 03:13:22 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -66,7 +66,7 @@ in_range(char *msg, int value, int min, int max)
{ {
if (value < min || value >= max) if (value < min || value >= max)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"FATAL: %s, %d is not in range [%d,%d)\n", msg, value, min, max); "FATAL: %s, %d is not in range [%d,%d)\n", msg, value, min, max);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
@ -80,7 +80,7 @@ valid_pointer(char *msg, void *ptr)
{ {
if (!ptr) if (!ptr)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, "FATAL: %s\n", msg); snprintf(PQerrormsg, PQERRORMSG_LENGTH, "FATAL: %s\n", msg);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
return 0; return 0;

View File

@ -28,7 +28,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: pqcomm.c,v 1.84 1999/09/27 03:12:59 momjian Exp $ * $Id: pqcomm.c,v 1.85 1999/10/23 03:13:22 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -195,7 +195,7 @@ StreamServerPort(char *hostName, unsigned short portName, int *fdP)
if ((fd = socket(family, SOCK_STREAM, 0)) < 0) if ((fd = socket(family, SOCK_STREAM, 0)) < 0)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"FATAL: StreamServerPort: socket() failed: %s\n", "FATAL: StreamServerPort: socket() failed: %s\n",
strerror(errno)); strerror(errno));
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
@ -211,7 +211,7 @@ StreamServerPort(char *hostName, unsigned short portName, int *fdP)
if ((setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *) &one, if ((setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *) &one,
sizeof(one))) == -1) sizeof(one))) == -1)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"FATAL: StreamServerPort: setsockopt(SO_REUSEADDR) failed: %s\n", "FATAL: StreamServerPort: setsockopt(SO_REUSEADDR) failed: %s\n",
strerror(errno)); strerror(errno));
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
@ -266,20 +266,19 @@ StreamServerPort(char *hostName, unsigned short portName, int *fdP)
err = bind(fd, &saddr.sa, len); err = bind(fd, &saddr.sa, len);
if (err < 0) if (err < 0)
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"FATAL: StreamServerPort: bind() failed: %s\n", "FATAL: StreamServerPort: bind() failed: %s\n"
"\tIs another postmaster already running on that port?\n",
strerror(errno)); strerror(errno));
strcat(PQerrormsg,
"\tIs another postmaster already running on that port?\n");
if (family == AF_UNIX) if (family == AF_UNIX)
{
snprintf(PQerrormsg + strlen(PQerrormsg), snprintf(PQerrormsg + strlen(PQerrormsg),
ERROR_MSG_LENGTH - strlen(PQerrormsg), PQERRORMSG_LENGTH - strlen(PQerrormsg),
"\tIf not, remove socket node (%s) and retry.\n", "\tIf not, remove socket node (%s) and retry.\n",
sock_path); sock_path);
}
else else
strcat(PQerrormsg, "\tIf not, wait a few seconds and retry.\n"); snprintf(PQerrormsg + strlen(PQerrormsg),
PQERRORMSG_LENGTH - strlen(PQerrormsg),
"\tIf not, wait a few seconds and retry.\n");
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);
return STATUS_ERROR; return STATUS_ERROR;

View File

@ -15,7 +15,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: pqformat.c,v 1.10 1999/09/12 22:27:47 scrappy Exp $ * $Id: pqformat.c,v 1.11 1999/10/23 03:13:22 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -213,7 +213,7 @@ pq_endmessage(StringInfo buf)
{ {
if (pq_putmessage('\0', buf->data, buf->len)) if (pq_putmessage('\0', buf->data, buf->len))
{ {
snprintf(PQerrormsg, ERROR_MSG_LENGTH, snprintf(PQerrormsg, PQERRORMSG_LENGTH,
"FATAL: pq_endmessage failed: errno=%d\n", errno); "FATAL: pq_endmessage failed: errno=%d\n", errno);
fputs(PQerrormsg, stderr); fputs(PQerrormsg, stderr);
pqdebug("%s", PQerrormsg); pqdebug("%s", PQerrormsg);

View File

@ -5,7 +5,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: util.c,v 1.13 1999/07/17 20:17:03 momjian Exp $ * $Id: util.c,v 1.14 1999/10/23 03:13:22 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -22,6 +22,15 @@
#include "libpq/libpq.h" #include "libpq/libpq.h"
/* ----------------
* global variables for backend libpq
* ----------------
*/
char PQerrormsg[PQERRORMSG_LENGTH];
int PQtracep = 0; /* 1 to print out debugging messages */
FILE *debug_port = (FILE *) NULL;
/* ---------------- /* ----------------
* exceptions * exceptions
* ---------------- * ----------------
@ -30,15 +39,12 @@ Exception MemoryError = {"Memory Allocation Error"};
Exception PortalError = {"Invalid arguments to portal functions"}; Exception PortalError = {"Invalid arguments to portal functions"};
Exception PostquelError = {"Sql Error"}; Exception PostquelError = {"Sql Error"};
Exception ProtocolError = {"Protocol Error"}; Exception ProtocolError = {"Protocol Error"};
char PQerrormsg[ERROR_MSG_LENGTH];
int PQtracep = 0; /* 1 to print out debugging messages */
FILE *debug_port = (FILE *) NULL;
/* ---------------------------------------------------------------- /* ----------------------------------------------------------------
* PQ utility routines * PQ utility routines
* ---------------------------------------------------------------- * ----------------------------------------------------------------
*/ */
void void
pqdebug(char *target, char *msg) pqdebug(char *target, char *msg)
{ {

View File

@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.134 1999/10/08 05:36:58 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.135 1999/10/23 03:13:22 tgl Exp $
* *
* NOTES * NOTES
* this is the "main" module of the postgres backend and * this is the "main" module of the postgres backend and
@ -22,16 +22,10 @@
#include <sys/time.h> #include <sys/time.h>
#include <sys/types.h> #include <sys/types.h>
#include <fcntl.h> #include <fcntl.h>
#include <sys/param.h> #include <sys/socket.h>
#include "postgres.h" #include "postgres.h"
#ifndef MAXHOSTNAMELEN
#include <netdb.h>
#endif
#ifndef MAXHOSTNAMELEN /* for MAXHOSTNAMELEN under sco3.2v5.0.2 */
#include <sys/socket.h>
#endif
#include <errno.h> #include <errno.h>
#if HAVE_SYS_SELECT_H #if HAVE_SYS_SELECT_H
#include <sys/select.h> #include <sys/select.h>
@ -1500,7 +1494,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[])
if (!IsUnderPostmaster) if (!IsUnderPostmaster)
{ {
puts("\nPOSTGRES backend interactive interface "); puts("\nPOSTGRES backend interactive interface ");
puts("$Revision: 1.134 $ $Date: 1999/10/08 05:36:58 $\n"); puts("$Revision: 1.135 $ $Date: 1999/10/23 03:13:22 $\n");
} }
/* /*

View File

@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/mmgr/Attic/palloc.c,v 1.14 1999/07/17 20:18:15 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/mmgr/Attic/palloc.c,v 1.15 1999/10/23 03:13:24 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -35,7 +35,7 @@ pstrdup(char *string)
int len; int len;
nstr = palloc(len = strlen(string) + 1); nstr = palloc(len = strlen(string) + 1);
MemoryCopy(nstr, string, len); memcpy(nstr, string, len);
return nstr; return nstr;
} }

View File

@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/bin/pg_dump/common.c,v 1.33 1999/07/17 20:18:18 momjian Exp $ * $Header: /cvsroot/pgsql/src/bin/pg_dump/common.c,v 1.34 1999/10/23 03:13:26 tgl Exp $
* *
* Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2 * Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2
* *
@ -20,12 +20,9 @@
#include <ctype.h> #include <ctype.h>
#include <sys/param.h> /* for MAXHOSTNAMELEN on most */
#ifdef solaris_sparc
#include <netdb.h> /* for MAXHOSTNAMELEN on some */
#endif
#include "postgres.h" #include "postgres.h"
#include "libpq-fe.h" #include "libpq-fe.h"
#ifndef HAVE_STRDUP #ifndef HAVE_STRDUP
#include "strdup.h" #include "strdup.h"

View File

@ -21,7 +21,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.122 1999/10/10 17:00:26 momjian Exp $ * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.123 1999/10/23 03:13:26 tgl Exp $
* *
* Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb * Modifications - 6/10/96 - dave@bensoft.com - version 1.13.dhb
* *
@ -53,30 +53,26 @@
#include <unistd.h> /* for getopt() */ #include <unistd.h> /* for getopt() */
#include <ctype.h> #include <ctype.h>
#include <sys/param.h> /* for MAXHOSTNAMELEN on most */
#ifdef solaris_sparc
#include <netdb.h> /* for MAXHOSTNAMELEN on some */
#endif
#include "postgres.h" #include "postgres.h"
#include "access/htup.h"
#include "catalog/pg_type.h"
#include "catalog/pg_language.h"
#include "catalog/pg_index.h"
#include "catalog/pg_trigger.h"
#include "access/attnum.h"
#include "libpq-fe.h" #ifdef HAVE_GETOPT_H
#ifndef HAVE_STRDUP #include <getopt.h>
#include "strdup.h"
#endif #endif
#ifdef HAVE_TERMIOS_H #ifdef HAVE_TERMIOS_H
#include <termios.h> #include <termios.h>
#endif #endif
#ifdef HAVE_GETOPT_H #include "access/attnum.h"
#include <getopt.h> #include "access/htup.h"
#include "catalog/pg_index.h"
#include "catalog/pg_language.h"
#include "catalog/pg_trigger.h"
#include "catalog/pg_type.h"
#include "libpq-fe.h"
#ifndef HAVE_STRDUP
#include "strdup.h"
#endif #endif
#include "pg_dump.h" #include "pg_dump.h"

View File

@ -5,7 +5,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: pg_dump.h,v 1.39 1999/05/26 21:51:11 tgl Exp $ * $Id: pg_dump.h,v 1.40 1999/10/23 03:13:26 tgl Exp $
* *
* Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2 * Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2
* *
@ -19,7 +19,16 @@
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
#include <catalog/pg_index.h> #ifndef PG_DUMP_H
#define PG_DUMP_H
#include "catalog/pg_index.h"
/*
* Very temporary hack --- remove this when all pg_dump's uses of it are gone!
*/
#define MAX_QUERY_SIZE (BLCKSZ*2)
/* The *Info data structures run-time C structures used to store /* The *Info data structures run-time C structures used to store
system catalog information */ system catalog information */
@ -225,3 +234,5 @@ extern void dumpTables(FILE *fout, TableInfo *tbinfo, int numTables,
extern void dumpIndices(FILE *fout, IndInfo *indinfo, int numIndices, extern void dumpIndices(FILE *fout, IndInfo *indinfo, int numIndices,
TableInfo *tbinfo, int numTables, const char *tablename); TableInfo *tbinfo, int numTables, const char *tablename);
extern const char *fmtId(const char *identifier, bool force_quotes); extern const char *fmtId(const char *identifier, bool force_quotes);
#endif /* PG_DUMP_H */

View File

@ -6,19 +6,18 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: ibit.h,v 1.10 1999/07/15 23:03:34 momjian Exp $ * $Id: ibit.h,v 1.11 1999/10/23 03:13:27 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
#ifndef IBIT_H #ifndef IBIT_H
#define IBIT_H #define IBIT_H
#include "utils/memutils.h" #include "catalog/pg_index.h"
typedef struct IndexAttributeBitMapData typedef struct IndexAttributeBitMapData
{ {
char bits[(MaxIndexAttributeNumber + MaxBitsPerByte - 1) bits8 bits[(INDEX_MAX_KEYS + 8 - 1)/8];
/ MaxBitsPerByte];
} IndexAttributeBitMapData; } IndexAttributeBitMapData;
typedef IndexAttributeBitMapData *IndexAttributeBitMap; typedef IndexAttributeBitMapData *IndexAttributeBitMap;

View File

@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: itup.h,v 1.21 1999/07/19 07:07:28 momjian Exp $ * $Id: itup.h,v 1.22 1999/10/23 03:13:28 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -18,7 +18,6 @@
#include "access/tupmacs.h" #include "access/tupmacs.h"
#include "storage/itemptr.h" #include "storage/itemptr.h"
#define MaxIndexAttributeNumber 7
typedef struct IndexTupleData typedef struct IndexTupleData
{ {

View File

@ -4,7 +4,7 @@
* Interface to hba.c * Interface to hba.c
* *
* *
* $Id: hba.h,v 1.15 1999/09/27 03:13:10 momjian Exp $ * $Id: hba.h,v 1.16 1999/10/23 03:13:29 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -24,19 +24,10 @@
#define OLD_CONF_FILE "pg_hba" #define OLD_CONF_FILE "pg_hba"
/* Name of the config file in prior releases of Postgres. */ /* Name of the config file in prior releases of Postgres. */
#define MAX_LINES 255
/* Maximum number of config lines that can apply to one database */
#define MAX_TOKEN 80
/* Maximum size of one token in the configuration file */
#define MAX_AUTH_ARG 80 /* Max size of an authentication arg */
#define IDENT_PORT 113 #define IDENT_PORT 113
/* Standard TCP port number for Ident service. Assigned by IANA */ /* Standard TCP port number for Ident service. Assigned by IANA */
#define IDENT_USERNAME_MAX 512 #define MAX_AUTH_ARG 80 /* Max size of an authentication arg */
/* Max size of username ident server can return */
typedef enum UserAuth typedef enum UserAuth
{ {

View File

@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: libpq.h,v 1.33 1999/08/31 04:26:33 tgl Exp $ * $Id: libpq.h,v 1.34 1999/10/23 03:13:29 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -135,15 +135,15 @@ extern Exception MemoryError,
ProtocolError; ProtocolError;
/* /*
* POSTGRES backend dependent Constants. * PQerrormsg[] is used only for error messages generated within backend
* libpq, none of which are remarkably long. Note that this length should
* NOT be taken as any indication of the maximum error message length that
* the backend can create! elog() can in fact produce extremely long messages.
*/ */
/* ERROR_MSG_LENGTH should really be the same as ELOG_MAXLEN in utils/elog.h*/ #define PQERRORMSG_LENGTH 1024
#define ERROR_MSG_LENGTH 4096
#define COMMAND_LENGTH 20
#define REMARK_LENGTH 80
extern char PQerrormsg[ERROR_MSG_LENGTH]; /* in portal.c */ extern char PQerrormsg[PQERRORMSG_LENGTH]; /* in libpq/util.c */
/* /*
* External functions. * External functions.

View File

@ -11,7 +11,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: miscadmin.h,v 1.44 1999/10/08 04:28:52 momjian Exp $ * $Id: miscadmin.h,v 1.45 1999/10/23 03:13:30 tgl Exp $
* *
* NOTES * NOTES
* some of the information in this file will be moved to * some of the information in this file will be moved to
@ -101,9 +101,6 @@ extern int SortMem;
extern Oid LastOidProcessed; /* for query rewrite */ extern Oid LastOidProcessed; /* for query rewrite */
/* #define MAX_QUERY_SIZE (BLCKSZ*2) */
#define MAX_PARSE_BUFFER MAX_QUERY_SIZE
/***************************************************************************** /*****************************************************************************
* pdir.h -- * * pdir.h -- *
* POSTGRES directory path definitions. * * POSTGRES directory path definitions. *

View File

@ -6,7 +6,7 @@
* *
* Copyright (c) 1995, Regents of the University of California * Copyright (c) 1995, Regents of the University of California
* *
* $Id: postgres.h,v 1.26 1999/07/17 04:12:10 momjian Exp $ * $Id: postgres.h,v 1.27 1999/10/23 03:13:30 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -54,7 +54,7 @@ typedef double float8;
typedef int4 aclitem; typedef int4 aclitem;
#define InvalidOid 0 #define InvalidOid 0
#define OidIsValid(objectId) ((bool) (objectId != InvalidOid)) #define OidIsValid(objectId) ((bool) ((objectId) != InvalidOid))
/* unfortunately, both regproc and RegProcedure are used */ /* unfortunately, both regproc and RegProcedure are used */
typedef Oid regproc; typedef Oid regproc;
@ -147,7 +147,7 @@ typedef uint32 CommandId;
/* ---------------------------------------------------------------- /* ----------------------------------------------------------------
* Section 5: random stuff * Section 5: random stuff
* CSIGNBIT, MAXPGPATH, STATUS... * CSIGNBIT, STATUS...
* ---------------------------------------------------------------- * ----------------------------------------------------------------
*/ */
@ -158,12 +158,8 @@ typedef uint32 CommandId;
/* msb for char */ /* msb for char */
#define CSIGNBIT (0x80) #define CSIGNBIT (0x80)
/* ---------------- /* this should probably be somewhere else */
* global variables which should probably go someplace else.
* ----------------
*/
#define MAXPGPATH 128 #define MAXPGPATH 128
#define MAX_QUERY_SIZE (BLCKSZ*2)
#define STATUS_OK (0) #define STATUS_OK (0)
#define STATUS_ERROR (-1) #define STATUS_ERROR (-1)
@ -180,8 +176,7 @@ typedef uint32 CommandId;
* --------------- * ---------------
*/ */
#ifdef CYR_RECODE #ifdef CYR_RECODE
void SetCharSet(); extern void SetCharSet();
#endif /* CYR_RECODE */ #endif /* CYR_RECODE */
#endif /* POSTGRES_H */ #endif /* POSTGRES_H */

View File

@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: fastpath.h,v 1.5 1999/02/13 23:22:12 momjian Exp $ * $Id: fastpath.h,v 1.6 1999/10/23 03:13:32 tgl Exp $
* *
* NOTES * NOTES
* This information pulled out of tcop/fastpath.c and put * This information pulled out of tcop/fastpath.c and put
@ -24,7 +24,6 @@
*/ */
#define VAR_LENGTH_RESULT (-1) #define VAR_LENGTH_RESULT (-1)
#define VAR_LENGTH_ARG (-5) #define VAR_LENGTH_ARG (-5)
#define MAX_STRING_LENGTH 256
extern int HandleFunctionRequest(void); extern int HandleFunctionRequest(void);

View File

@ -8,29 +8,17 @@
* align.h alignment macros * align.h alignment macros
* aset.h memory allocation set stuff * aset.h memory allocation set stuff
* oset.h (used by aset.h) * oset.h (used by aset.h)
* (bit.h bit array type / extern)
* clib.h mem routines
* limit.h max bits/byte, etc.
* *
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: memutils.h,v 1.31 1999/08/24 20:11:19 tgl Exp $ * $Id: memutils.h,v 1.32 1999/10/23 03:13:33 tgl Exp $
*
* NOTES
* some of the information in this file will be moved to
* other files, (like MaxHeapTupleSize and MaxAttributeSize).
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
#ifndef MEMUTILS_H #ifndef MEMUTILS_H
#define MEMUTILS_H #define MEMUTILS_H
/*
* This is not needed by this include file, but by almost every file
* that includes this file.
*/
/* ---------------- /* ----------------
* Alignment macros: align a length or address appropriately for a given type. * Alignment macros: align a length or address appropriately for a given type.
* *
@ -236,40 +224,5 @@ extern AllocPointer AllocSetRealloc(AllocSet set, AllocPointer pointer,
extern void AllocSetDump(AllocSet set); extern void AllocSetDump(AllocSet set);
/*****************************************************************************
* clib.h -- Standard C library definitions *
*****************************************************************************/
/*
* Note:
* This file is OPERATING SYSTEM dependent!!!
*
*/
/*
* LibCCopyLength is only used within this file. -cim 6/12/90
*
*/
typedef int LibCCopyLength;
/*
* MemoryCopy
* Copies fixed length block of memory to another.
*/
#define MemoryCopy(toBuffer, fromBuffer, length)\
memcpy(toBuffer, fromBuffer, length)
/*****************************************************************************
* limit.h -- POSTGRES limit definitions. *
*****************************************************************************/
#define MaxBitsPerByte 8
typedef uint32 AttributeSize; /* XXX should be defined elsewhere */
#define MaxHeapTupleSize 0x7fffffff
#define MaxAttributeSize 0x7fffffff
#define MaxIndexAttributeNumber 7
#endif /* MEMUTILS_H */ #endif /* MEMUTILS_H */