fe-auth.c:	if (sendmsg(conn->sock, &msg, 0) == -1)
fe-auth.c:				if (!EncryptMD5(password, conn->pguser,
fe-auth.c:								strlen(conn->pguser), crypt_pwd2))
fe-auth.c:				if (!EncryptMD5(crypt_pwd2 + strlen("md5"), conn->md5Salt,
fe-auth.c:								sizeof(conn->md5Salt), crypt_pwd))
fe-auth.c:				StrNCpy(salt, conn->cryptSalt, 3);
fe-auth.c:			if (pg_krb4_sendauth(PQerrormsg, conn->sock, &conn->laddr.in,
fe-auth.c:								 &conn->raddr.in,
fe-auth.c:			if (pg_krb5_sendauth(PQerrormsg, conn->sock, &conn->laddr.in,
fe-auth.c:								 &conn->raddr.in,
fe-connect.c:	if (conn && conn->status != CONNECTION_BAD)
fe-connect.c:	connOptions = conninfo_parse(conninfo, &conn->errorMessage);
fe-connect.c:		conn->status = CONNECTION_BAD;
fe-connect.c:	conn->pghostaddr = tmp ? strdup(tmp) : NULL;
fe-connect.c:	conn->pghost = tmp ? strdup(tmp) : NULL;
fe-connect.c:	conn->pgport = tmp ? strdup(tmp) : NULL;
fe-connect.c:	conn->pgtty = tmp ? strdup(tmp) : NULL;
fe-connect.c:	conn->pgoptions = tmp ? strdup(tmp) : NULL;
fe-connect.c:	conn->dbName = tmp ? strdup(tmp) : NULL;
fe-connect.c:	conn->pguser = tmp ? strdup(tmp) : NULL;
fe-connect.c:	conn->pgpass = tmp ? strdup(tmp) : NULL;
fe-connect.c:	if (conn->pgpass == NULL || conn->pgpass[0] == '\0')
fe-connect.c:		if (conn->pgpass)
fe-connect.c:			free(conn->pgpass);
fe-connect.c:		conn->pgpass = PasswordFromFile(conn->pghost, conn->pgport,
fe-connect.c:										conn->dbName, conn->pguser);
fe-connect.c:		if (conn->pgpass == NULL)
fe-connect.c:			conn->pgpass = strdup(DefaultPassword);
fe-connect.c:	conn->connect_timeout = tmp ? strdup(tmp) : NULL;
fe-connect.c:		conn->require_ssl = true;
fe-connect.c:	if (conn->pghost && conn->pghost[0] == '/')
fe-connect.c:		if (conn->pgunixsocket)
fe-connect.c:			free(conn->pgunixsocket);
fe-connect.c:		conn->pgunixsocket = conn->pghost;
fe-connect.c:		conn->pghost = NULL;
fe-connect.c:		conn->status = CONNECTION_BAD;
fe-connect.c:		conn->pghost = strdup(pghost);
fe-connect.c:		conn->pghost = strdup(tmp);
fe-connect.c:		conn->pgport = strdup(tmp);
fe-connect.c:		conn->pgport = strdup(pgport);
fe-connect.c:	if (conn->pghost && conn->pghost[0] == '/')
fe-connect.c:		if (conn->pgunixsocket)
fe-connect.c:			free(conn->pgunixsocket);
fe-connect.c:		conn->pgunixsocket = conn->pghost;
fe-connect.c:		conn->pghost = NULL;
fe-connect.c:		conn->pgtty = strdup(tmp);
fe-connect.c:		conn->pgtty = strdup(pgtty);
fe-connect.c:		conn->pgoptions = strdup(tmp);
fe-connect.c:		conn->pgoptions = strdup(pgoptions);
fe-connect.c:		conn->pguser = strdup(login);
fe-connect.c:		conn->pguser = strdup(tmp);
fe-connect.c:		conn->pguser = fe_getauthname(conn->errorMessage.data);
fe-connect.c:		conn->errorMessage.len = strlen(conn->errorMessage.data);
fe-connect.c:	if (conn->pguser == NULL)
fe-connect.c:		printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:			conn->dbName = strdup(tmp);
fe-connect.c:		else if (conn->pguser)
fe-connect.c:			conn->dbName = strdup(conn->pguser);
fe-connect.c:		conn->dbName = strdup(dbName);
fe-connect.c:		conn->pgpass = strdup(pwd);
fe-connect.c:		conn->pgpass = strdup(tmp);
fe-connect.c:	else if ((tmp = PasswordFromFile(conn->pghost, conn->pgport,
fe-connect.c:									 conn->dbName, conn->pguser)) != NULL)
fe-connect.c:		conn->pgpass = tmp;
fe-connect.c:		conn->pgpass = strdup(DefaultPassword);
fe-connect.c:		conn->connect_timeout = strdup(tmp);
fe-connect.c:		conn->require_ssl = (tmp[0] == '1') ? true : false;
fe-connect.c:		conn->status = CONNECTION_BAD;
fe-connect.c:			   *old = conn->dbName;
fe-connect.c:	if (strchr(conn->dbName, '@') != NULL)
fe-connect.c:		tmp = strrchr(conn->dbName, ':');
fe-connect.c:			if (conn->pgport)
fe-connect.c:				free(conn->pgport);
fe-connect.c:			conn->pgport = strdup(tmp + 1);
fe-connect.c:		tmp = strrchr(conn->dbName, '@');
fe-connect.c:			if (conn->pghost)
fe-connect.c:				free(conn->pghost);
fe-connect.c:			conn->pghost = strdup(tmp + 1);
fe-connect.c:		conn->dbName = strdup(old);
fe-connect.c:		if (strncmp(conn->dbName, "tcp:", 4) == 0)
fe-connect.c:		else if (strncmp(conn->dbName, "unix:", 5) == 0)
fe-connect.c:		if (strncmp(conn->dbName + offset, "postgresql://", strlen("postgresql://")) == 0)
fe-connect.c:			tmp = strrchr(conn->dbName + offset, '?');
fe-connect.c:				if (conn->pgoptions)
fe-connect.c:					free(conn->pgoptions);
fe-connect.c:				conn->pgoptions = strdup(tmp + 1);
fe-connect.c:			tmp = strrchr(conn->dbName + offset, '/');
fe-connect.c:				if (conn->dbName)
fe-connect.c:					free(conn->dbName);
fe-connect.c:				conn->dbName = strdup(tmp + 1);
fe-connect.c:					if (conn->dbName)
fe-connect.c:						free(conn->dbName);
fe-connect.c:					conn->dbName = strdup(tmp);
fe-connect.c:				else if (conn->pguser)
fe-connect.c:					if (conn->dbName)
fe-connect.c:						free(conn->dbName);
fe-connect.c:					conn->dbName = strdup(conn->pguser);
fe-connect.c:						printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:					if (conn->pgunixsocket)
fe-connect.c:						free(conn->pgunixsocket);
fe-connect.c:					conn->pgunixsocket = strdup(tmp + 1);
fe-connect.c:					if (conn->pgport)
fe-connect.c:						free(conn->pgport);
fe-connect.c:					conn->pgport = strdup(tmp + 1);
fe-connect.c:					if (conn->pgunixsocket)
fe-connect.c:						free(conn->pgunixsocket);
fe-connect.c:					conn->pgunixsocket = NULL;
fe-connect.c:				if (conn->pghost)
fe-connect.c:					free(conn->pghost);
fe-connect.c:				conn->pghost = NULL;
fe-connect.c:					printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:				if (conn->pghost)
fe-connect.c:					free(conn->pghost);
fe-connect.c:				conn->pghost = strdup(old + offset);
fe-connect.c:	if (ioctlsocket(conn->sock, FIONBIO, &on) != 0)
fe-connect.c:		if (ioctl(conn->sock, FIONBIO, &on) != 0)
fe-connect.c:	if (fcntl(conn->sock, F_SETFL, O_NONBLOCK) < 0)
fe-connect.c:		printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:	if (setsockopt(conn->sock, IPPROTO_TCP, TCP_NODELAY,
fe-connect.c:		printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:	if (conn->raddr.sa.sa_family == AF_UNIX)
fe-connect.c:		printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:						  conn->raddr.un.sun_path);
fe-connect.c:		printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:						  conn->pghost
fe-connect.c:						  ? conn->pghost
fe-connect.c:						  : (conn->pghostaddr
fe-connect.c:							 ? conn->pghostaddr
fe-connect.c:						  conn->pgport);
fe-connect.c:	conn->inStart = conn->inCursor = conn->inEnd = 0;
fe-connect.c:	conn->outCount = 0;
fe-connect.c:	MemSet((char *) &conn->raddr, 0, sizeof(conn->raddr));
fe-connect.c:	if (conn->pghostaddr != NULL && conn->pghostaddr[0] != '\0')
fe-connect.c:		if (!inet_aton(conn->pghostaddr, &addr))
fe-connect.c:			printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:							  conn->pghostaddr);
fe-connect.c:		memmove((char *) &(conn->raddr.in.sin_addr),
fe-connect.c:	else if (conn->pghost != NULL && conn->pghost[0] != '\0')
fe-connect.c:		hp = gethostbyname(conn->pghost);
fe-connect.c:			printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:							  conn->pghost);
fe-connect.c:		memmove((char *) &(conn->raddr.in.sin_addr),
fe-connect.c:	conn->raddr.sa.sa_family = family;
fe-connect.c:	if (conn->pgport != NULL && conn->pgport[0] != '\0')
fe-connect.c:		portno = atoi(conn->pgport);
fe-connect.c:		conn->raddr.in.sin_port = htons((unsigned short) (portno));
fe-connect.c:		conn->raddr_len = sizeof(struct sockaddr_in);
fe-connect.c:		UNIXSOCK_PATH(conn->raddr.un, portno, conn->pgunixsocket);
fe-connect.c:		conn->raddr_len = UNIXSOCK_LEN(conn->raddr.un);
fe-connect.c:		conn->allow_ssl_try = false;
fe-connect.c:		conn->require_ssl = false;
fe-connect.c:	if ((conn->sock = socket(family, SOCK_STREAM, 0)) < 0)
fe-connect.c:		printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:	if (connect(conn->sock, &conn->raddr.sa, conn->raddr_len) < 0)
fe-connect.c:			conn->status = CONNECTION_STARTED;
fe-connect.c:		conn->status = CONNECTION_MADE;
fe-connect.c:	if (conn->allow_ssl_try)
fe-connect.c:			printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:		if (recv(conn->sock, &SSLok, 1, 0) != 1)
fe-connect.c:			printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:			if (conn->Pfdebug)
fe-connect.c:				fprintf(conn->Pfdebug, "Postmaster reports error, attempting fallback to pre-7.0.\n");
fe-connect.c:			closesocket(conn->sock);
fe-connect.c:			close(conn->sock);
fe-connect.c:			conn->sock = -1;
fe-connect.c:			conn->allow_ssl_try = FALSE;
fe-connect.c:			printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:	if (conn->require_ssl && !conn->ssl)
fe-connect.c:		printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:	if (conn->sock >= 0)
fe-connect.c:		closesocket(conn->sock);
fe-connect.c:		close(conn->sock);
fe-connect.c:		conn->sock = -1;
fe-connect.c:	conn->status = CONNECTION_BAD;
fe-connect.c:	if (conn == NULL || conn->status == CONNECTION_BAD)
fe-connect.c:	if (conn->connect_timeout != NULL)
fe-connect.c:		int timeout = atoi(conn->connect_timeout);
fe-connect.c:					conn->status = CONNECTION_BAD;
fe-connect.c:					conn->status = CONNECTION_BAD;
fe-connect.c:				conn->status = CONNECTION_BAD;
fe-connect.c:	switch (conn->status)
fe-connect.c:			printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:	switch (conn->status)
fe-connect.c:				if (getsockopt(conn->sock, SOL_SOCKET, SO_ERROR,
fe-connect.c:					printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:				laddrlen = sizeof(conn->laddr);
fe-connect.c:				if (getsockname(conn->sock, &conn->laddr.sa, &laddrlen) < 0)
fe-connect.c:					printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:				conn->status = CONNECTION_MADE;
fe-connect.c:				strncpy(sp.user, conn->pguser, SM_USER);
fe-connect.c:				strncpy(sp.database, conn->dbName, SM_DATABASE);
fe-connect.c:				strncpy(sp.tty, conn->pgtty, SM_TTY);
fe-connect.c:				if (conn->pgoptions)
fe-connect.c:					strncpy(sp.options, conn->pgoptions, SM_OPTIONS);
fe-connect.c:					printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:				conn->status = CONNECTION_AWAITING_RESPONSE;
fe-connect.c:				conn->inCursor = conn->inStart;
fe-connect.c:					if (pqGets(&conn->errorMessage, conn))
fe-connect.c:					conn->inStart = conn->inCursor;
fe-connect.c:					appendPQExpBufferChar(&conn->errorMessage, '\n');
fe-connect.c:					printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:					if (pqGetnchar(conn->md5Salt,
fe-connect.c:								   sizeof(conn->md5Salt), conn))
fe-connect.c:					if (pqGetnchar(conn->cryptSalt,
fe-connect.c:								   sizeof(conn->cryptSalt), conn))
fe-connect.c:				conn->inStart = conn->inCursor;
fe-connect.c:				 * Note that conn->pghost must be non-NULL if we are going
fe-connect.c:				if (fe_sendauth(areq, conn, conn->pghost, conn->pgpass,
fe-connect.c:								conn->errorMessage.data) != STATUS_OK)
fe-connect.c:					conn->errorMessage.len = strlen(conn->errorMessage.data);
fe-connect.c:				conn->errorMessage.len = strlen(conn->errorMessage.data);
fe-connect.c:					conn->status = CONNECTION_AUTH_OK;
fe-connect.c:					conn->asyncStatus = PGASYNC_BUSY;
fe-connect.c:						printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:					 * conn->errorMessage already has a copy of the error;
fe-connect.c:					if (conn->errorMessage.len <= 0 ||
fe-connect.c:						conn->errorMessage.data[conn->errorMessage.len - 1] != '\n')
fe-connect.c:						appendPQExpBufferChar(&conn->errorMessage, '\n');
fe-connect.c:				conn->status = CONNECTION_SETENV;
fe-connect.c:			conn->status = CONNECTION_OK;
fe-connect.c:					conn->status = CONNECTION_OK;
fe-connect.c:					conn->status = CONNECTION_SETENV;
fe-connect.c:					conn->status = CONNECTION_SETENV;
fe-connect.c:					conn->status = CONNECTION_SETENV;
fe-connect.c:			printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:							  conn->status);
fe-connect.c:		conn->status == CONNECTION_BAD ||
fe-connect.c:		conn->setenv_state != SETENV_STATE_IDLE)
fe-connect.c:	conn->setenv_state = SETENV_STATE_ENCODINGS_SEND;
fe-connect.c:	conn->next_eo = EnvironmentOptions;
fe-connect.c:	if (conn == NULL || conn->status == CONNECTION_BAD)
fe-connect.c:	switch (conn->setenv_state)
fe-connect.c:			printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:							  conn->setenv_state);
fe-connect.c:		switch (conn->setenv_state)
fe-connect.c:					conn->setenv_state = SETENV_STATE_ENCODINGS_WAIT;
fe-connect.c:						printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:					conn->client_encoding = encoding;
fe-connect.c:					conn->setenv_state = SETENV_STATE_OPTION_SEND;
fe-connect.c:							conn->client_encoding = PG_SQL_ASCII;
fe-connect.c:							conn->client_encoding = pg_char_to_encoding(encoding);
fe-connect.c:					conn->setenv_state = SETENV_STATE_OPTION_SEND;
fe-connect.c:				if (conn->next_eo->envName)
fe-connect.c:					if ((val = getenv(conn->next_eo->envName)))
fe-connect.c:									conn->next_eo->pgName, val);
fe-connect.c:									conn->next_eo->pgName, val);
fe-connect.c:							   conn->next_eo->envName, setQuery);
fe-connect.c:						conn->setenv_state = SETENV_STATE_OPTION_WAIT;
fe-connect.c:						conn->next_eo++;
fe-connect.c:					conn->setenv_state = SETENV_STATE_IDLE;
fe-connect.c:					conn->next_eo++;
fe-connect.c:					conn->setenv_state = SETENV_STATE_OPTION_SEND;
fe-connect.c:				printfPQExpBuffer(&conn->errorMessage,
fe-connect.c:								  conn->setenv_state);
fe-connect.c:	conn->setenv_state = SETENV_STATE_IDLE;
fe-connect.c:					conn->status = CONNECTION_BAD;
fe-connect.c:					conn->status = CONNECTION_BAD;
fe-connect.c:				conn->status = CONNECTION_BAD;
fe-connect.c:	conn->noticeHook = defaultNoticeProcessor;
fe-connect.c:	conn->status = CONNECTION_BAD;
fe-connect.c:	conn->asyncStatus = PGASYNC_IDLE;
fe-connect.c:	conn->setenv_state = SETENV_STATE_IDLE;
fe-connect.c:	conn->notifyList = DLNewList();
fe-connect.c:	conn->sock = -1;
fe-connect.c:	conn->allow_ssl_try = TRUE;
fe-connect.c:	conn->inBufSize = 16 * 1024;
fe-connect.c:	conn->inBuffer = (char *) malloc(conn->inBufSize);
fe-connect.c:	conn->outBufSize = 8 * 1024;
fe-connect.c:	conn->outBuffer = (char *) malloc(conn->outBufSize);
fe-connect.c:	conn->nonblocking = FALSE;
fe-connect.c:	initPQExpBuffer(&conn->errorMessage);
fe-connect.c:	initPQExpBuffer(&conn->workBuffer);
fe-connect.c:	if (conn->inBuffer == NULL ||
fe-connect.c:		conn->outBuffer == NULL ||
fe-connect.c:		conn->errorMessage.data == NULL ||
fe-connect.c:		conn->workBuffer.data == NULL)
fe-connect.c:	if (conn->sock >= 0)
fe-connect.c:		closesocket(conn->sock);
fe-connect.c:		close(conn->sock);
fe-connect.c:	if (conn->pghost)
fe-connect.c:		free(conn->pghost);
fe-connect.c:	if (conn->pghostaddr)
fe-connect.c:		free(conn->pghostaddr);
fe-connect.c:	if (conn->pgport)
fe-connect.c:		free(conn->pgport);
fe-connect.c:	if (conn->pgunixsocket)
fe-connect.c:		free(conn->pgunixsocket);
fe-connect.c:	if (conn->pgtty)
fe-connect.c:		free(conn->pgtty);
fe-connect.c:	if (conn->pgoptions)
fe-connect.c:		free(conn->pgoptions);
fe-connect.c:	if (conn->dbName)
fe-connect.c:		free(conn->dbName);
fe-connect.c:	if (conn->pguser)
fe-connect.c:		free(conn->pguser);
fe-connect.c:	if (conn->pgpass)
fe-connect.c:		free(conn->pgpass);
fe-connect.c:	if (conn->connect_timeout)
fe-connect.c:		free(conn->connect_timeout);
fe-connect.c:	/* Note that conn->Pfdebug is not ours to close or free */
fe-connect.c:	if (conn->notifyList)
fe-connect.c:		DLFreeList(conn->notifyList);
fe-connect.c:	if (conn->lobjfuncs)
fe-connect.c:		free(conn->lobjfuncs);
fe-connect.c:	if (conn->inBuffer)
fe-connect.c:		free(conn->inBuffer);
fe-connect.c:	if (conn->outBuffer)
fe-connect.c:		free(conn->outBuffer);
fe-connect.c:	termPQExpBuffer(&conn->errorMessage);
fe-connect.c:	termPQExpBuffer(&conn->workBuffer);
fe-connect.c:	if (conn->sock >= 0 && conn->status == CONNECTION_OK)
fe-connect.c:	conn->nonblocking = FALSE;
fe-connect.c:	if (conn->sock >= 0)
fe-connect.c:		closesocket(conn->sock);
fe-connect.c:		close(conn->sock);
fe-connect.c:	conn->sock = -1;
fe-connect.c:	conn->status = CONNECTION_BAD;		/* Well, not really _bad_ - just
fe-connect.c:	conn->asyncStatus = PGASYNC_IDLE;
fe-connect.c:	if (conn->lobjfuncs)
fe-connect.c:		free(conn->lobjfuncs);
fe-connect.c:	conn->lobjfuncs = NULL;
fe-connect.c:	conn->inStart = conn->inCursor = conn->inEnd = 0;
fe-connect.c:	conn->outCount = 0;
fe-connect.c:	conn->nonblocking = FALSE;
fe-connect.c: * dispatched, FALSE if not (in which case conn->errorMessage is set).
fe-connect.c: * conn->errorMessage, since it could overwrite a message already there.
fe-connect.c: * expand conn->errorMessage!
fe-connect.c:	if (conn->sock < 0)
fe-connect.c:		strcpy(conn->errorMessage.data,
fe-connect.c:		conn->errorMessage.len = strlen(conn->errorMessage.data);
fe-connect.c:	if ((tmpsock = socket(conn->raddr.sa.sa_family, SOCK_STREAM, 0)) < 0)
fe-connect.c:		strcpy(conn->errorMessage.data,
fe-connect.c:	if (connect(tmpsock, &conn->raddr.sa, conn->raddr_len) < 0)
fe-connect.c:		strcpy(conn->errorMessage.data,
fe-connect.c:	crp.cp.backendPID = htonl(conn->be_pid);
fe-connect.c:	crp.cp.cancelAuthCode = htonl(conn->be_key);
fe-connect.c:		strcpy(conn->errorMessage.data,
fe-connect.c:	strcat(conn->errorMessage.data, SOCK_STRERROR(SOCK_ERRNO));
fe-connect.c:	strcat(conn->errorMessage.data, "\n");
fe-connect.c:	conn->errorMessage.len = strlen(conn->errorMessage.data);
fe-connect.c:	return conn->dbName;
fe-connect.c:	return conn->pguser;
fe-connect.c:	return conn->pgpass;
fe-connect.c:	return conn->pghost ? conn->pghost : conn->pgunixsocket;
fe-connect.c:	return conn->pgport;
fe-connect.c:	return conn->pgtty;
fe-connect.c:	return conn->pgoptions;
fe-connect.c:	return conn->status;
fe-connect.c:	return conn->errorMessage.data;
fe-connect.c:	return conn->sock;
fe-connect.c:	if (!conn || conn->status != CONNECTION_OK)
fe-connect.c:	return conn->be_pid;
fe-connect.c:	if (!conn || conn->status != CONNECTION_OK)
fe-connect.c:	return conn->client_encoding;
fe-connect.c:	if (!conn || conn->status != CONNECTION_OK)
fe-connect.c:		conn->client_encoding = pg_char_to_encoding(encoding);
fe-connect.c:		conn->status == CONNECTION_BAD)
fe-connect.c:	conn->Pfdebug = debug_port;
fe-connect.c:	if (conn->Pfdebug)
fe-connect.c:		fflush(conn->Pfdebug);
fe-connect.c:		conn->Pfdebug = NULL;
fe-connect.c:	old = conn->noticeHook;
fe-connect.c:		conn->noticeHook = proc;
fe-connect.c:		conn->noticeArg = arg;
fe-exec.c:		result->noticeHook = conn->noticeHook;
fe-exec.c:		result->noticeArg = conn->noticeArg;
fe-exec.c:		result->client_encoding = conn->client_encoding;
fe-exec.c:				pqSetResultError(result, conn->errorMessage.data);
fe-exec.c:	if (conn->result)
fe-exec.c:		PQclear(conn->result);
fe-exec.c:	conn->result = NULL;
fe-exec.c:	conn->curTuple = NULL;
fe-exec.c: * This subroutine deletes any existing async result, sets conn->result
fe-exec.c: * contents of conn->errorMessage into that result.  It differs from a
fe-exec.c:	if (conn->result == NULL ||
fe-exec.c:		conn->result->resultStatus != PGRES_FATAL_ERROR ||
fe-exec.c:		conn->result->errMsg == NULL)
fe-exec.c:		conn->result = PQmakeEmptyPGresult(conn, PGRES_FATAL_ERROR);
fe-exec.c:		pqCatenateResultError(conn->result, conn->errorMessage.data);
fe-exec.c: * using whatever is in conn->errorMessage.  In any case, clear the async
fe-exec.c:	 * conn->result is the PGresult to return.	If it is NULL (which
fe-exec.c:	 * message in conn->errorMessage.
fe-exec.c:	res = conn->result;
fe-exec.c:	conn->result = NULL;		/* handing over ownership to caller */
fe-exec.c:	conn->curTuple = NULL;		/* just in case */
fe-exec.c:		resetPQExpBuffer(&conn->errorMessage);
fe-exec.c:		appendPQExpBufferStr(&conn->errorMessage,
fe-exec.c: *			0 if error (conn->errorMessage is set)
fe-exec.c:	resetPQExpBuffer(&conn->errorMessage);
fe-exec.c:		printfPQExpBuffer(&conn->errorMessage,
fe-exec.c:	if (conn->status != CONNECTION_OK)
fe-exec.c:		printfPQExpBuffer(&conn->errorMessage,
fe-exec.c:	if (conn->asyncStatus != PGASYNC_IDLE)
fe-exec.c:		printfPQExpBuffer(&conn->errorMessage,
fe-exec.c:	conn->result = NULL;
fe-exec.c:	conn->curTuple = NULL;
fe-exec.c:	conn->asyncStatus = PGASYNC_BUSY;
fe-exec.c:		if (conn->asyncStatus == PGASYNC_COPY_OUT)
fe-exec.c:		conn->inCursor = conn->inStart;
fe-exec.c:		else if (conn->asyncStatus != PGASYNC_BUSY)
fe-exec.c:			if (conn->asyncStatus != PGASYNC_IDLE)
fe-exec.c:				conn->inStart = conn->inEnd;
fe-exec.c:					if (pqGets(&conn->workBuffer, conn))
fe-exec.c:					if (conn->result == NULL)
fe-exec.c:						conn->result = PQmakeEmptyPGresult(conn,
fe-exec.c:					strncpy(conn->result->cmdStatus, conn->workBuffer.data,
fe-exec.c:					conn->asyncStatus = PGASYNC_READY;
fe-exec.c:					if (pqGets(&conn->errorMessage, conn))
fe-exec.c:					conn->asyncStatus = PGASYNC_READY;
fe-exec.c:					conn->asyncStatus = PGASYNC_IDLE;
fe-exec.c:					if (conn->result == NULL)
fe-exec.c:						conn->result = PQmakeEmptyPGresult(conn,
fe-exec.c:					conn->asyncStatus = PGASYNC_READY;
fe-exec.c:					if (pqGetInt(&(conn->be_pid), 4, conn))
fe-exec.c:					if (pqGetInt(&(conn->be_key), 4, conn))
fe-exec.c:					if (pqGets(&conn->workBuffer, conn))
fe-exec.c:					if (conn->result == NULL)
fe-exec.c:						conn->asyncStatus = PGASYNC_READY;
fe-exec.c:					if (conn->result != NULL)
fe-exec.c:						conn->inStart = conn->inEnd;
fe-exec.c:					if (conn->result != NULL)
fe-exec.c:						conn->inStart = conn->inEnd;
fe-exec.c:					conn->asyncStatus = PGASYNC_COPY_IN;
fe-exec.c:					conn->asyncStatus = PGASYNC_COPY_OUT;
fe-exec.c:					printfPQExpBuffer(&conn->errorMessage,
fe-exec.c:					conn->inStart = conn->inEnd;
fe-exec.c:					conn->asyncStatus = PGASYNC_READY;
fe-exec.c:		conn->inStart = conn->inCursor;
fe-exec.c:		if (pqGets(&conn->workBuffer, conn) ||
fe-exec.c:												  conn->workBuffer.data);
fe-exec.c:	conn->result = result;
fe-exec.c: * tuple in conn->curTuple, and avoid reallocating already-allocated storage.
fe-exec.c:	PGresult   *result = conn->result;
fe-exec.c:	if (conn->curTuple == NULL)
fe-exec.c:		conn->curTuple = (PGresAttValue *)
fe-exec.c:		if (conn->curTuple == NULL)
fe-exec.c:		MemSet((char *) conn->curTuple, 0, nfields * sizeof(PGresAttValue));
fe-exec.c:	tup = conn->curTuple;
fe-exec.c:	conn->curTuple = NULL;
fe-exec.c:	printfPQExpBuffer(&conn->errorMessage,
fe-exec.c:	conn->result = PQmakeEmptyPGresult(conn, PGRES_FATAL_ERROR);
fe-exec.c:	conn->asyncStatus = PGASYNC_READY;
fe-exec.c:	conn->inStart = conn->inEnd;
fe-exec.c:	return conn->asyncStatus == PGASYNC_BUSY;
fe-exec.c:	while (conn->asyncStatus == PGASYNC_BUSY)
fe-exec.c:			 * conn->errorMessage has been set by pqWait or pqReadData. We
fe-exec.c:			conn->asyncStatus = PGASYNC_IDLE;
fe-exec.c:	switch (conn->asyncStatus)
fe-exec.c:			conn->asyncStatus = PGASYNC_BUSY;
fe-exec.c:			printfPQExpBuffer(&conn->errorMessage,
fe-exec.c:							  (int) conn->asyncStatus);
fe-exec.c: * If the query was not even sent, return NULL; conn->errorMessage is set to
fe-exec.c:			printfPQExpBuffer(&conn->errorMessage,
fe-exec.c:				resetPQExpBuffer(&conn->errorMessage);
fe-exec.c:				appendPQExpBufferStr(&conn->errorMessage, result->errMsg);
fe-exec.c:	 * PQExpBuffer rather than using conn->workBuffer.	workBuffer is
fe-exec.c:	if (pqGets(&conn->workBuffer, conn))
fe-exec.c:									strlen(conn->workBuffer.data) +1);
fe-exec.c:	strcpy(newNotify->relname, conn->workBuffer.data);
fe-exec.c:	DLAddTail(conn->notifyList, DLNewElem(newNotify));
fe-exec.c:	e = DLRemHead(conn->notifyList);
fe-exec.c:	if (!conn || conn->sock < 0)
fe-exec.c:	 * maintain conn->inCursor; there is no need to back up.
fe-exec.c:		if (conn->inStart < conn->inEnd)
fe-exec.c:			char		c = conn->inBuffer[conn->inStart++];
fe-exec.c:	if (!conn || conn->asyncStatus != PGASYNC_COPY_OUT)
fe-exec.c:	conn->inCursor = conn->inStart;
fe-exec.c:	while (avail > 0 && conn->inCursor < conn->inEnd)
fe-exec.c:		char		c = conn->inBuffer[conn->inCursor++];
fe-exec.c:			conn->inStart = conn->inCursor;
fe-exec.c:		conn->inStart = conn->inCursor - 3;
fe-exec.c:	if (!conn || conn->sock < 0)
fe-exec.c:	if (!conn || conn->sock < 0)
fe-exec.c:	if (conn->asyncStatus != PGASYNC_COPY_IN &&
fe-exec.c:		conn->asyncStatus != PGASYNC_COPY_OUT)
fe-exec.c:		printfPQExpBuffer(&conn->errorMessage,
fe-exec.c:	conn->asyncStatus = PGASYNC_BUSY;
fe-exec.c:	resetPQExpBuffer(&conn->errorMessage);
fe-exec.c:	if (conn->errorMessage.len > 0)
fe-exec.c:		DONOTICE(conn, conn->errorMessage.data);
fe-exec.c: *		NULL on communications failure.  conn->errorMessage will be set.
fe-exec.c:	resetPQExpBuffer(&conn->errorMessage);
fe-exec.c:	if (conn->sock < 0 || conn->asyncStatus != PGASYNC_IDLE ||
fe-exec.c:		conn->result != NULL)
fe-exec.c:		printfPQExpBuffer(&conn->errorMessage,
fe-exec.c:		conn->inCursor = conn->inStart;
fe-exec.c:					printfPQExpBuffer(&conn->errorMessage,
fe-exec.c:					conn->inStart = conn->inCursor;
fe-exec.c:				if (pqGets(&conn->errorMessage, conn))
fe-exec.c:				conn->inStart = conn->inCursor;
fe-exec.c:				if (conn->result)
fe-exec.c:				printfPQExpBuffer(&conn->errorMessage,
fe-exec.c:				conn->inStart = conn->inCursor;
fe-exec.c:		conn->inStart = conn->inCursor;
fe-exec.c:	 * conn->errorMessage has been set by pqWait or pqReadData. We want to
fe-exec.c:	if (arg == conn->nonblocking)
fe-exec.c:	conn->nonblocking = arg;
fe-lobj.c:	if (conn->lobjfuncs == (PGlobjfuncs *) NULL)
fe-lobj.c:	res = PQfn(conn, conn->lobjfuncs->fn_lo_open, &fd, &result_len, 1, argv, 2);
fe-lobj.c:	if (conn->lobjfuncs == (PGlobjfuncs *) NULL)
fe-lobj.c:	res = PQfn(conn, conn->lobjfuncs->fn_lo_close,
fe-lobj.c:	if (conn->lobjfuncs == (PGlobjfuncs *) NULL)
fe-lobj.c:	res = PQfn(conn, conn->lobjfuncs->fn_lo_read,
fe-lobj.c:	if (conn->lobjfuncs == (PGlobjfuncs *) NULL)
fe-lobj.c:	res = PQfn(conn, conn->lobjfuncs->fn_lo_write,
fe-lobj.c:	if (conn->lobjfuncs == (PGlobjfuncs *) NULL)
fe-lobj.c:	res = PQfn(conn, conn->lobjfuncs->fn_lo_lseek,
fe-lobj.c:	if (conn->lobjfuncs == (PGlobjfuncs *) NULL)
fe-lobj.c:	res = PQfn(conn, conn->lobjfuncs->fn_lo_creat,
fe-lobj.c:	if (conn->lobjfuncs == (PGlobjfuncs *) NULL)
fe-lobj.c:	res = PQfn(conn, conn->lobjfuncs->fn_lo_tell,
fe-lobj.c:	if (conn->lobjfuncs == (PGlobjfuncs *) NULL)
fe-lobj.c:	res = PQfn(conn, conn->lobjfuncs->fn_lo_unlink,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:			printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:			printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:		printfPQExpBuffer(&conn->errorMessage,
fe-lobj.c:	conn->lobjfuncs = lobjfuncs;
fe-misc.c:	if (conn->inCursor >= conn->inEnd)
fe-misc.c:	*result = conn->inBuffer[conn->inCursor++];
fe-misc.c:	if (conn->Pfdebug)
fe-misc.c:		fprintf(conn->Pfdebug, "From backend> %c\n", *result);
fe-misc.c:	if (conn->Pfdebug)
fe-misc.c:		fprintf(conn->Pfdebug, "To backend> %c\n", c);
fe-misc.c:		avail = Max(conn->outBufSize - conn->outCount, 0);
fe-misc.c:		memcpy(conn->outBuffer + conn->outCount, s, remaining);
fe-misc.c:		conn->outCount += remaining;
fe-misc.c:				size_t		buflen = (size_t) conn->outCount + nbytes;
fe-misc.c:				if (buflen > (size_t) conn->outBufSize)
fe-misc.c:					char	   *newbuf = realloc(conn->outBuffer, buflen);
fe-misc.c:						printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:					conn->outBuffer = newbuf;
fe-misc.c:					conn->outBufSize = buflen;
fe-misc.c:				memcpy(conn->outBuffer + conn->outCount, s, nbytes);
fe-misc.c:				conn->outCount += nbytes;
fe-misc.c:	char	   *inBuffer = conn->inBuffer;
fe-misc.c:	int			inCursor = conn->inCursor;
fe-misc.c:	int			inEnd = conn->inEnd;
fe-misc.c:	slen = inCursor - conn->inCursor;
fe-misc.c:	appendBinaryPQExpBuffer(buf, inBuffer + conn->inCursor, slen);
fe-misc.c:	conn->inCursor = ++inCursor;
fe-misc.c:	if (conn->Pfdebug)
fe-misc.c:		fprintf(conn->Pfdebug, "From backend> \"%s\"\n",
fe-misc.c:	if (conn->Pfdebug)
fe-misc.c:		fprintf(conn->Pfdebug, "To backend> %s\n", s);
fe-misc.c:	if (len < 0 || len > (size_t) (conn->inEnd - conn->inCursor))
fe-misc.c:	memcpy(s, conn->inBuffer + conn->inCursor, len);
fe-misc.c:	conn->inCursor += len;
fe-misc.c:	if (conn->Pfdebug)
fe-misc.c:		fprintf(conn->Pfdebug, "From backend (%lu)> %.*s\n", (unsigned long) len, (int) len, s);
fe-misc.c:	if (conn->Pfdebug)
fe-misc.c:		fprintf(conn->Pfdebug, "To backend> %.*s\n", (int) len, s);
fe-misc.c:			if (conn->inCursor + 2 > conn->inEnd)
fe-misc.c:			memcpy(&tmp2, conn->inBuffer + conn->inCursor, 2);
fe-misc.c:			conn->inCursor += 2;
fe-misc.c:			if (conn->inCursor + 4 > conn->inEnd)
fe-misc.c:			memcpy(&tmp4, conn->inBuffer + conn->inCursor, 4);
fe-misc.c:			conn->inCursor += 4;
fe-misc.c:	if (conn->Pfdebug)
fe-misc.c:		fprintf(conn->Pfdebug, "From backend (#%lu)> %d\n", (unsigned long) bytes, *result);
fe-misc.c:	if (conn->Pfdebug)
fe-misc.c:		fprintf(conn->Pfdebug, "To backend (%lu#)> %d\n", (unsigned long) bytes, value);
fe-misc.c:	if (!conn || conn->sock < 0)
fe-misc.c:	if (conn->ssl && SSL_pending(conn->ssl) > 0)
fe-misc.c:	FD_SET(conn->sock, &input_mask);
fe-misc.c:	if (select(conn->sock + 1, &input_mask, (fd_set *) NULL, (fd_set *) NULL,
fe-misc.c:		printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:	return FD_ISSET(conn->sock, &input_mask) ? 1 : 0;
fe-misc.c:	if (!conn || conn->sock < 0)
fe-misc.c:	FD_SET(conn->sock, &input_mask);
fe-misc.c:	if (select(conn->sock + 1, (fd_set *) NULL, &input_mask, (fd_set *) NULL,
fe-misc.c:		printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:	return FD_ISSET(conn->sock, &input_mask) ? 1 : 0;
fe-misc.c: *		conn->errorMessage set
fe-misc.c: * NOTE: callers must not assume that pointers or indexes into conn->inBuffer
fe-misc.c:	if (conn->sock < 0)
fe-misc.c:		printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:	if (conn->inStart < conn->inEnd)
fe-misc.c:		if (conn->inStart > 0)
fe-misc.c:			memmove(conn->inBuffer, conn->inBuffer + conn->inStart,
fe-misc.c:					conn->inEnd - conn->inStart);
fe-misc.c:			conn->inEnd -= conn->inStart;
fe-misc.c:			conn->inCursor -= conn->inStart;
fe-misc.c:			conn->inStart = 0;
fe-misc.c:		conn->inStart = conn->inCursor = conn->inEnd = 0;
fe-misc.c:	if (conn->inBufSize - conn->inEnd < 8192)
fe-misc.c:		int			newSize = conn->inBufSize * 2;
fe-misc.c:		char	   *newBuf = (char *) realloc(conn->inBuffer, newSize);
fe-misc.c:			conn->inBuffer = newBuf;
fe-misc.c:			conn->inBufSize = newSize;
fe-misc.c:	nread = pqsecure_read(conn, conn->inBuffer + conn->inEnd,
fe-misc.c:						  conn->inBufSize - conn->inEnd);
fe-misc.c:		printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:		conn->inEnd += nread;
fe-misc.c:		 * Since we left-justified the data above, conn->inEnd gives the
fe-misc.c:		if (conn->inEnd > 32768 &&
fe-misc.c:			(conn->inBufSize - conn->inEnd) >= 8192)
fe-misc.c:	if (conn->ssl)
fe-misc.c:	nread = pqsecure_read(conn, conn->inBuffer + conn->inEnd,
fe-misc.c:						  conn->inBufSize - conn->inEnd);
fe-misc.c:		printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:		conn->inEnd += nread;
fe-misc.c:	printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:	conn->status = CONNECTION_BAD;		/* No more connection to backend */
fe-misc.c:	closesocket(conn->sock);
fe-misc.c:	close(conn->sock);
fe-misc.c:	conn->sock = -1;
fe-misc.c:	char	   *ptr = conn->outBuffer;
fe-misc.c:	int			len = conn->outCount;
fe-misc.c:	if (conn->sock < 0)
fe-misc.c:		printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:					printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:					printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:			if (conn->ssl == NULL)
fe-misc.c:					memmove(conn->outBuffer, ptr, len);
fe-misc.c:					conn->outCount = len;
fe-misc.c:	conn->outCount = 0;
fe-misc.c:	if (conn->Pfdebug)
fe-misc.c:		fflush(conn->Pfdebug);
fe-misc.c:	if (conn->sock < 0)
fe-misc.c:		printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:	if (forRead && conn->ssl && SSL_pending(conn->ssl) > 0)
fe-misc.c:			FD_SET(conn->sock, &input_mask);
fe-misc.c:			FD_SET(conn->sock, &output_mask);
fe-misc.c:		FD_SET(conn->sock, &except_mask);
fe-misc.c:		selresult = select(conn->sock + 1, &input_mask, &output_mask,
fe-misc.c:			printfPQExpBuffer(&conn->errorMessage,
fe-misc.c:			printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:	if (conn->ssl)
fe-secure.c:	if (conn->ssl)
fe-secure.c:		n = SSL_read(conn->ssl, ptr, len);
fe-secure.c:		switch (SSL_get_error(conn->ssl, n))
fe-secure.c:					printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:					printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:				printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:				printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:		n = recv(conn->sock, ptr, len, 0);
fe-secure.c:	if (conn->ssl)
fe-secure.c:		n = SSL_write(conn->ssl, ptr, len);
fe-secure.c:		switch (SSL_get_error(conn->ssl, n))
fe-secure.c:					printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:					printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:				printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:				printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:		n = send(conn->sock, ptr, len, 0);
fe-secure.c:	if (getpeername(conn->sock, &addr, &len) == -1)
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:	if ((h = gethostbyname(conn->peer_cn)) == NULL)
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:						  conn->peer_cn, hstrerror(h_errno));
fe-secure.c:			printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:		if (strcasecmp(conn->peer_cn, *s) == 0)
fe-secure.c:			printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:					 conn->peer_cn, (l >> 24) % 0x100, (l >> 16) % 0x100,
fe-secure.c:			printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:							  conn->peer_cn);
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:			printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:			printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:			printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:	if (!(conn->ssl = SSL_new(SSL_context)) ||
fe-secure.c:		!SSL_set_app_data(conn->ssl, conn) ||
fe-secure.c:		!SSL_set_fd(conn->ssl, conn->sock) ||
fe-secure.c:		SSL_connect(conn->ssl) <= 0)
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:	r = SSL_get_verify_result(conn->ssl);
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:	conn->peer = SSL_get_peer_certificate(conn->ssl);
fe-secure.c:	if (conn->peer == NULL)
fe-secure.c:		printfPQExpBuffer(&conn->errorMessage,
fe-secure.c:	X509_NAME_oneline(X509_get_subject_name(conn->peer),
fe-secure.c:					  conn->peer_dn, sizeof(conn->peer_dn));
fe-secure.c:	conn->peer_dn[sizeof(conn->peer_dn) - 1] = '\0';
fe-secure.c:	X509_NAME_get_text_by_NID(X509_get_subject_name(conn->peer),
fe-secure.c:							  NID_commonName, conn->peer_cn, SM_USER);
fe-secure.c:	conn->peer_cn[SM_USER] = '\0';
fe-secure.c:	if (conn->ssl)
fe-secure.c:		SSL_shutdown(conn->ssl);
fe-secure.c:		SSL_free(conn->ssl);
fe-secure.c:		conn->ssl = NULL;
fe-secure.c:	return conn->ssl;
