From: eem21@cam.ac.uk
To: pgsql-interfaces@postgresql.org
Subject: libpq - PQsetenv and its new sister functions
Date: Sun, 25 Jul 1999 20:32:56 +0100 (BST)
Message-ID: <E118Tox-0002Pn-00@orange.csi.cam.ac.uk> (raw)
Further to my discussions with Tom Lane on this list last weekend, I
have been re-arranging the connection functions in libpq to allow
asynchronous connections. Part of this has been to create new
functions that perform the duties of the existing function PQsetenv,
but in a non-blocking manner. This involves passing the values of
certain environment variables (PGDATESTYLE, PGTZ, et al) to the
backend, as well as negotiating a client encoding if MULTIBYTE is
defined. Now, PQsetenv is declared in fe-connect.c thus:
/* XXX Why is this not static? */
void PQsetenv(PGconn *conn);
It is not declared in libpq-fe.h, so currently those who are playing by
the rules are unable to call this function for themselves.
It seems to me that PQsetenv might be useful as part of the public API,
and I can see no harm in doing so. What is clear, however, is that the
functions I have created should have the same accessibility as
PQsetenv; to do otherwise would be nonsensical.
So, should I bring PQsetenv into the public API by declaring it in
libpq-fe.h, and have my functions join it, or should I keep the new
functions static (and probably leave PQsetenv non-static, with
compatibility worries). My preference would be the former - does anyone
disagree?
Ewan Mellor.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: eem21@cam.ac.uk
Subject: Re: libpq - PQsetenv and its new sister functions
In-Reply-To: <E118Tox-0002Pn-00@orange.csi.cam.ac.uk>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox