From: | Arseny Sher <a(dot)sher(at)postgrespro(dot)ru> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: expand_dbname in postgres_fdw |
Date: | 2017-07-27 19:55:42 |
Message-ID: | 87mv7pac3l.fsf@ars-thinkpad |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> I really don't see anything wrong with the FDW's documentation. To claim
> that it's not clear, you have to suppose that a connstring's dbname field
> is allowed to recursively contain a connstring. However, if you've got a
> concrete suggestion about improving the wording, let's see it.
>
> Now on the other hand, libpq's documentation seems a little confusing
> on this point independently of the FDW: so far as I can see, what "certain
> contexts" means is not clearly defined anywhere, and for that matter
> "checked for extended formats" is a masterpiece of unhelpful obfuscation.
>
> regards, tom lane
I have to admit that you are right: strictly speaking, FDW doc says it
accepts the same options as libpq connstring => libpq connstring itself
can't contain another connstring => expansion is not allowed. However,
we might probably save the readers a few mental cycles if we avoid the
words 'connection strings' and just say that recognized options are the
same as of libpq ones, with (probably, see below) an explicit addition
that dbname is not expanded.
Regarding "checking for extended formats" phrase, I see three solutions:
1) In the description of 'dbname' parameter mention all the cases where
it is possibly expanded, which doesn't sound as a good idea;
2) Specify whether dbname is expanded in every reference to the list of
libpq options, which is arguably better.
3) We can also replace "In certain contexts" with "Where explicitly
mentioned" in the desciption of 'dbname', and, while referencing
options, never say anything about dbname if it is not expanded.
Besides, why not substitute "checked for extended formats" with "might
be recognized as a connection string" -- are there any other formats
than connstr?
The changes with point 3 chosen might look as in attached file.
Attachment | Content-Type | Size |
---|---|---|
0001-libpq-docs-dbname-param-is-expanded-only-when-explic.patch | text/x-diff | 2.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2017-07-27 20:14:45 | Re: pl/perl extension fails on Windows |
Previous Message | Tom Lane | 2017-07-27 19:52:13 | Re: Change in "policy" on dump ordering? |