Discrepancy between the documentation and the implementation

Started by PG Bug reporting formover 2 years ago2 messagesdocs
Jump to latest
#1PG Bug reporting form
noreply@postgresql.org

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/16/ecpg-sql-set-connection.html
Description:

In the documentation for Postgres 15, on page
https://www.postgresql.org/docs/15/ecpg-sql-set-connection.html, it states
that one can write:

SET CONNECTION connection_name

And under that, it talks about "connection_name" and DEFAULT, which is
supposed to be used in order to use the "default connection".
However, "SET CONNECTION DEFAULT" is treated by ECPG as a normal connection
name (looking for a connection named "DEFAULT"), not as a special keyword
meaning to go back to using the "default" connection.

Is there something I'm missing there ? The documentation is kinda
misleading, in its current form. Or is there a limitation with ECPG, which
prevents the use of DEFAULT, while it would work with other tools ?

(This is written in the same way for numerous Postgres versions, it's not
limited to version 15)

Regards,
Sylvain FRANDAZ

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: PG Bug reporting form (#1)
Re: Discrepancy between the documentation and the implementation

PG Doc comments form <noreply@postgresql.org> writes:

In the documentation for Postgres 15, on page
https://www.postgresql.org/docs/15/ecpg-sql-set-connection.html, it states
that one can write:

SET CONNECTION connection_name

And under that, it talks about "connection_name" and DEFAULT, which is
supposed to be used in order to use the "default connection".
However, "SET CONNECTION DEFAULT" is treated by ECPG as a normal connection
name (looking for a connection named "DEFAULT"), not as a special keyword
meaning to go back to using the "default" connection.

Is there something I'm missing there ?

I don't see it either. Both that and EXEC SQL DISCONNECT claim
that DEFAULT is a specially treated name, but I don't see anything
in the underlying code that treats it differently. Perhaps there
was an intention to have some such feature but it never got done?

Anyway, I don't see anything indicating that there's actually
such a concept as "the default connection". I suggest we just
remove those paragraphs.

What *is* treated specially is CURRENT --- but EXEC SQL SET
CONNECTION = CURRENT is effectively a no-op, so it's not very
exciting.

regards, tom lane