mirror of
https://github.com/postgres/postgres.git
synced 2025-05-29 16:21:20 +03:00
libpq: Add service name to PGconn and PQservice()
This commit adds one field to PGconn for the database service name (if any), with PQservice() as routine to retrieve it. Like the other routines of this area, NULL is returned as result if the connection is NULL. A follow-up patch will make use of this feature to be able to display the service name in the psql prompt. Author: Michael Banck Reviewed-by: Greg Sabino Mullane Discusion: https://postgr.es/m/6723c612.050a0220.1567f4.b94a@mx.google.com
This commit is contained in:
parent
3f06324705
commit
4b99fed754
@ -2530,6 +2530,26 @@ char *PQport(const PGconn *conn);
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libpq-PQservice">
|
||||
<term><function>PQservice</function><indexterm><primary>PQservice</primary></indexterm></term>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Returns the service of the active connection.
|
||||
|
||||
<synopsis>
|
||||
char *PQservice(const PGconn *conn);
|
||||
</synopsis>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<xref linkend="libpq-PQservice"/> returns <symbol>NULL</symbol> if the
|
||||
<parameter>conn</parameter> argument is <symbol>NULL</symbol>.
|
||||
Otherwise, if there was no service provided, it returns an empty string.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="libpq-PQtty">
|
||||
<term><function>PQtty</function><indexterm><primary>PQtty</primary></indexterm></term>
|
||||
|
||||
|
@ -205,3 +205,4 @@ PQcancelFinish 202
|
||||
PQsocketPoll 203
|
||||
PQsetChunkedRowsMode 204
|
||||
PQgetCurrentTimeUSec 205
|
||||
PQservice 206
|
||||
|
@ -190,7 +190,8 @@ typedef struct _internalPQconninfoOption
|
||||
|
||||
static const internalPQconninfoOption PQconninfoOptions[] = {
|
||||
{"service", "PGSERVICE", NULL, NULL,
|
||||
"Database-Service", "", 20, -1},
|
||||
"Database-Service", "", 20,
|
||||
offsetof(struct pg_conn, pgservice)},
|
||||
|
||||
{"user", "PGUSER", NULL, NULL,
|
||||
"Database-User", "", 20,
|
||||
@ -7040,6 +7041,14 @@ PQdb(const PGconn *conn)
|
||||
return conn->dbName;
|
||||
}
|
||||
|
||||
char *
|
||||
PQservice(const PGconn *conn)
|
||||
{
|
||||
if (!conn)
|
||||
return NULL;
|
||||
return conn->pgservice;
|
||||
}
|
||||
|
||||
char *
|
||||
PQuser(const PGconn *conn)
|
||||
{
|
||||
|
@ -385,6 +385,7 @@ extern int PQrequestCancel(PGconn *conn);
|
||||
|
||||
/* Accessor functions for PGconn objects */
|
||||
extern char *PQdb(const PGconn *conn);
|
||||
extern char *PQservice(const PGconn *conn);
|
||||
extern char *PQuser(const PGconn *conn);
|
||||
extern char *PQpass(const PGconn *conn);
|
||||
extern char *PQhost(const PGconn *conn);
|
||||
|
@ -394,6 +394,7 @@ struct pg_conn
|
||||
char *fbappname; /* fallback application name */
|
||||
char *dbName; /* database name */
|
||||
char *replication; /* connect as the replication standby? */
|
||||
char *pgservice; /* Postgres service, if any */
|
||||
char *pguser; /* Postgres username and password, if any */
|
||||
char *pgpass;
|
||||
char *pgpassfile; /* path to a file containing password(s) */
|
||||
|
Loading…
x
Reference in New Issue
Block a user