Fix case issues with quotes.
This commit is contained in:
parent
0f367cf8c8
commit
baeb8790ac
@ -10,7 +10,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.60 1997/11/07 20:51:47 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.61 1997/11/10 05:10:21 momjian Exp $
|
||||||
*
|
*
|
||||||
* NOTES
|
* NOTES
|
||||||
*
|
*
|
||||||
@ -150,7 +150,7 @@ static int Reinit = 1;
|
|||||||
static int SendStop = 0;
|
static int SendStop = 0;
|
||||||
|
|
||||||
static int NetServer = 0; /* if not zero, postmaster listen for
|
static int NetServer = 0; /* if not zero, postmaster listen for
|
||||||
non-local connections */
|
* non-local connections */
|
||||||
static int MultiplexedBackends = 0;
|
static int MultiplexedBackends = 0;
|
||||||
static int MultiplexedBackendPort;
|
static int MultiplexedBackendPort;
|
||||||
|
|
||||||
@ -487,11 +487,13 @@ usage(const char *progname)
|
|||||||
static int
|
static int
|
||||||
ServerLoop(void)
|
ServerLoop(void)
|
||||||
{
|
{
|
||||||
fd_set rmask, basemask;
|
fd_set rmask,
|
||||||
|
basemask;
|
||||||
int nSockets,
|
int nSockets,
|
||||||
nSelected,
|
nSelected,
|
||||||
status,
|
status,
|
||||||
oldFd, newFd;
|
oldFd,
|
||||||
|
newFd;
|
||||||
Dlelem *next,
|
Dlelem *next,
|
||||||
*curr;
|
*curr;
|
||||||
|
|
||||||
@ -1299,8 +1301,10 @@ ExitPostmaster(int status)
|
|||||||
* Not sure of the semantics here. When the Postmaster dies, should
|
* Not sure of the semantics here. When the Postmaster dies, should
|
||||||
* the backends all be killed? probably not.
|
* the backends all be killed? probably not.
|
||||||
*/
|
*/
|
||||||
if (ServerSock_INET != INVALID_SOCK) close(ServerSock_INET);
|
if (ServerSock_INET != INVALID_SOCK)
|
||||||
if (ServerSock_UNIX != INVALID_SOCK) close(ServerSock_UNIX);
|
close(ServerSock_INET);
|
||||||
|
if (ServerSock_UNIX != INVALID_SOCK)
|
||||||
|
close(ServerSock_UNIX);
|
||||||
exitpg(status);
|
exitpg(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1321,4 +1325,3 @@ dumpstatus(SIGNAL_ARGS)
|
|||||||
curr = DLGetSucc(curr);
|
curr = DLGetSucc(curr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 1994, Regents of the University of California
|
* Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* $Id: c.h,v 1.26 1997/10/30 23:36:56 momjian Exp $
|
* $Id: c.h,v 1.27 1997/11/10 05:10:34 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.43 1997/11/07 20:52:15 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.44 1997/11/10 05:10:45 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -341,7 +341,8 @@ PQsetdb(const char *pghost, const char *pgport, const char *pgoptions, const cha
|
|||||||
if (!pghost || pghost[0] == '\0')
|
if (!pghost || pghost[0] == '\0')
|
||||||
{
|
{
|
||||||
conn->pghost = NULL;
|
conn->pghost = NULL;
|
||||||
if (tmp = getenv("PGHOST")) conn->pghost = strdup(tmp);
|
if (tmp = getenv("PGHOST"))
|
||||||
|
conn->pghost = strdup(tmp);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
conn->pghost = strdup(pghost);
|
conn->pghost = strdup(pghost);
|
||||||
@ -413,11 +414,20 @@ PQsetdb(const char *pghost, const char *pgport, const char *pgoptions, const cha
|
|||||||
{
|
{
|
||||||
if (((tmp = (char *) dbName) && (dbName[0] != '\0')) ||
|
if (((tmp = (char *) dbName) && (dbName[0] != '\0')) ||
|
||||||
((tmp = getenv("PGDATABASE"))))
|
((tmp = getenv("PGDATABASE"))))
|
||||||
{
|
|
||||||
conn->dbName = strdup(tmp);
|
conn->dbName = strdup(tmp);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
conn->dbName = strdup(conn->pguser);
|
conn->dbName = strdup(conn->pguser);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* if the table name is surrounded by double-quotes, then
|
||||||
|
* don't convert case
|
||||||
|
*/
|
||||||
|
if (*conn->dbName == '"')
|
||||||
|
{
|
||||||
|
strcpy(conn->dbName, conn->dbName + 1);
|
||||||
|
*(conn->dbName + strlen(conn->dbName) - 1) = '\0';
|
||||||
|
}
|
||||||
|
else
|
||||||
for (i = 0; conn->dbName[i]; i++)
|
for (i = 0; conn->dbName[i]; i++)
|
||||||
if (isupper(conn->dbName[i]))
|
if (isupper(conn->dbName[i]))
|
||||||
conn->dbName[i] = tolower(conn->dbName[i]);
|
conn->dbName[i] = tolower(conn->dbName[i]);
|
||||||
@ -470,7 +480,9 @@ connectDB(PGconn *conn)
|
|||||||
MsgType msgtype;
|
MsgType msgtype;
|
||||||
int laddrlen = sizeof(struct sockaddr);
|
int laddrlen = sizeof(struct sockaddr);
|
||||||
Port *port = conn->port;
|
Port *port = conn->port;
|
||||||
int portno, family, len;
|
int portno,
|
||||||
|
family,
|
||||||
|
len;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialize the startup packet.
|
* Initialize the startup packet.
|
||||||
@ -780,6 +792,7 @@ packetSend(Port *port,
|
|||||||
bool nonBlocking)
|
bool nonBlocking)
|
||||||
{
|
{
|
||||||
PacketLen doneLen = write(port->sock, buf, len);
|
PacketLen doneLen = write(port->sock, buf, len);
|
||||||
|
|
||||||
if (doneLen < len)
|
if (doneLen < len)
|
||||||
{
|
{
|
||||||
return (STATUS_ERROR);
|
return (STATUS_ERROR);
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.39 1997/11/03 04:21:49 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.40 1997/11/10 05:10:50 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -17,6 +17,7 @@
|
|||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <ctype.h>
|
||||||
#include "postgres.h"
|
#include "postgres.h"
|
||||||
#include "libpq/pqcomm.h"
|
#include "libpq/pqcomm.h"
|
||||||
#include "libpq/pqsignal.h"
|
#include "libpq/pqsignal.h"
|
||||||
@ -31,12 +32,14 @@
|
|||||||
|
|
||||||
#ifdef TIOCGWINSZ
|
#ifdef TIOCGWINSZ
|
||||||
struct winsize screen_size;
|
struct winsize screen_size;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
struct winsize
|
struct winsize
|
||||||
{
|
{
|
||||||
int ws_row;
|
int ws_row;
|
||||||
int ws_col;
|
int ws_col;
|
||||||
} screen_size;
|
} screen_size;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* the rows array in a PGresGroup has to grow to accommodate the rows */
|
/* the rows array in a PGresGroup has to grow to accommodate the rows */
|
||||||
@ -1674,6 +1677,7 @@ int
|
|||||||
PQfnumber(PGresult *res, const char *field_name)
|
PQfnumber(PGresult *res, const char *field_name)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
char *field_case;
|
||||||
|
|
||||||
if (!res)
|
if (!res)
|
||||||
{
|
{
|
||||||
@ -1686,13 +1690,27 @@ PQfnumber(PGresult *res, const char *field_name)
|
|||||||
res->attDescs == NULL)
|
res->attDescs == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
field_case = strdup(field_name);
|
||||||
|
if (*field_case == '"')
|
||||||
|
{
|
||||||
|
strcpy(field_case, field_case + 1);
|
||||||
|
*(field_case + strlen(field_case) - 1) = '\0';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
for (i = 0; field_case; i++)
|
||||||
|
if (isupper(field_case[i]))
|
||||||
|
field_case[i] = tolower(field_case[i]);
|
||||||
|
|
||||||
for (i = 0; i < res->numAttributes; i++)
|
for (i = 0; i < res->numAttributes; i++)
|
||||||
{
|
{
|
||||||
if (strcasecmp(field_name, res->attDescs[i].name) == 0)
|
if (strcmp(field_name, res->attDescs[i].name) == 0)
|
||||||
|
{
|
||||||
|
free(field_case);
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
free(field_case);
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Oid
|
Oid
|
||||||
|
Loading…
x
Reference in New Issue
Block a user