Re: Add clarification example to EXEC SQL CONNECT with password

Lists: pgsql-docs
From: Alan B <alan77codebits(at)gmail(dot)com>
To: pgsql-docs(at)postgresql(dot)org
Subject: Add clarification example to EXEC SQL CONNECT with password
Date: 2012-09-20 16:17:15
Message-ID: CAGbN=G6P1dy4Q03oKdQig_oUWj82W_x67MRMwX2J+9DrFc=cxw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

Hi list,
Hope this is the right place to suggest that change in the docs, otherwise
is there a ticket management system for this stuff somewhere?

Paying attention to the documentation at
http://www.postgresql.org/docs/8.4/static/ecpg-connect.html and subsequent
versions of the page (I am using 8.4), there is the option to specify
"user-name" in various ways. However this may be confused as a single
parameter to the connect string while it is a combination of 1 or 2
parameters that cannot go into a single string.

To avoid confusion I suggest providing a complete example in "Here are some
examples of CONNECT statements:" as follows:

EXEC SQL CONNECT TO mydb(at)sql(dot)mydomain(dot)com;

EXEC SQL CONNECT TO unix:postgresql://sql.mydomain.com/mydb AS
myconnection USER john;

EXEC SQL BEGIN DECLARE SECTION;
const char *target = "mydb(at)sql(dot)mydomain(dot)com";
const char *user = "john";
const char *passwd = "secret";
EXEC SQL END DECLARE SECTION;
...
EXEC SQL CONNECT TO :target USER :user USING :passwd;
or
EXEC SQL CONNECT TO :target USER :user/:passwd;

To make the distinction of parameters and string variables evident.

Alan


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Alan B <alan77codebits(at)gmail(dot)com>
Cc: pgsql-docs(at)postgresql(dot)org
Subject: Re: Add clarification example to EXEC SQL CONNECT with password
Date: 2013-01-25 16:19:42
Message-ID: 20130125161942.GA6848@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On Thu, Sep 20, 2012 at 06:17:15PM +0200, Alan B wrote:
> Hi list,
> Hope this is the right place to suggest that change in the docs, otherwise is
> there a ticket management system for this stuff somewhere?
>
> Paying attention to the documentation at http://www.postgresql.org/docs/8.4/
> static/ecpg-connect.html and subsequent versions of the page (I am using 8.4),
> there is the option to specify "user-name" in various ways. However this may be
> confused as a single parameter to the connect string while it is a combination
> of 1 or 2 parameters that cannot go into a single string.
>
> To avoid confusion I suggest providing a complete example in "Here are some
> examples of CONNECT statements:" as follows:
>
>
> EXEC SQL CONNECT TO mydb(at)sql(dot)mydomain(dot)com;
>
> EXEC SQL CONNECT TO unix:postgresql://sql.mydomain.com/mydb AS myconnection USER john;
>
> EXEC SQL BEGIN DECLARE SECTION;
> const char *target = "mydb(at)sql(dot)mydomain(dot)com";
> const char *user = "john";
> const char *passwd = "secret";
> EXEC SQL END DECLARE SECTION;
> ...
>
> EXEC SQL CONNECT TO :target USER :user USING :passwd;
> or
> EXEC SQL CONNECT TO :target USER :user/:passwd;
>
> To make the distinction of parameters and string variables evident.

I had a look at this just now, and you are right that it is very
confusing. I couldn't even figure out how to explain it in text, and
agree that your example is the best solution.

Attached patch applied to git head and 9.2. Thanks.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

Attachment Content-Type Size
ecpg.diff text/x-diff 1.0 KB

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Alan B <alan77codebits(at)gmail(dot)com>, pgsql-docs(at)postgresql(dot)org
Subject: Re: Add clarification example to EXEC SQL CONNECT with password
Date: 2013-01-25 17:25:32
Message-ID: 14376.1359134732@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

Bruce Momjian <bruce(at)momjian(dot)us> writes:
> *** a/doc/src/sgml/ecpg.sgml
> --- b/doc/src/sgml/ecpg.sgml
> *************** EXEC SQL CONNECT TO unix:postgresql://sq
> *** 194,202 ****
> EXEC SQL BEGIN DECLARE SECTION;
> const char *target = "mydb(at)sql(dot)mydomain(dot)com";
> const char *user = "john";
> EXEC SQL END DECLARE SECTION;
> ...
> ! EXEC SQL CONNECT TO :target USER :user;
> </programlisting>
> The last form makes use of the variant referred to above as
> character variable reference. You will see in later sections how C
> --- 194,205 ----
> EXEC SQL BEGIN DECLARE SECTION;
> const char *target = "mydb(at)sql(dot)mydomain(dot)com";
> const char *user = "john";
> + const char *passwd = "secret";
> EXEC SQL END DECLARE SECTION;
> ...
> ! EXEC SQL CONNECT TO :target USER :user USING :passwd;
> !
> ! EXEC SQL CONNECT TO :target USER :user/:passwd;
> </programlisting>
> The last form makes use of the variant referred to above as
> character variable reference. You will see in later sections how C

This sure looks like it has broken the intention of the paragraph
immediately after the example. Also, it seems like you are providing
two alternative ways of doing the same thing, but not explaining that.
How is a reader supposed to know that he doesn't have to do both
commands?

regards, tom lane


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alan B <alan77codebits(at)gmail(dot)com>, pgsql-docs(at)postgresql(dot)org
Subject: Re: Add clarification example to EXEC SQL CONNECT with password
Date: 2013-01-25 17:29:59
Message-ID: 20130125172959.GB6848@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On Fri, Jan 25, 2013 at 12:25:32PM -0500, Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > *** a/doc/src/sgml/ecpg.sgml
> > --- b/doc/src/sgml/ecpg.sgml
> > *************** EXEC SQL CONNECT TO unix:postgresql://sq
> > *** 194,202 ****
> > EXEC SQL BEGIN DECLARE SECTION;
> > const char *target = "mydb(at)sql(dot)mydomain(dot)com";
> > const char *user = "john";
> > EXEC SQL END DECLARE SECTION;
> > ...
> > ! EXEC SQL CONNECT TO :target USER :user;
> > </programlisting>
> > The last form makes use of the variant referred to above as
> > character variable reference. You will see in later sections how C
> > --- 194,205 ----
> > EXEC SQL BEGIN DECLARE SECTION;
> > const char *target = "mydb(at)sql(dot)mydomain(dot)com";
> > const char *user = "john";
> > + const char *passwd = "secret";
> > EXEC SQL END DECLARE SECTION;
> > ...
> > ! EXEC SQL CONNECT TO :target USER :user USING :passwd;
> > !
> > ! EXEC SQL CONNECT TO :target USER :user/:passwd;
> > </programlisting>
> > The last form makes use of the variant referred to above as
> > character variable reference. You will see in later sections how C
>
> This sure looks like it has broken the intention of the paragraph
> immediately after the example. Also, it seems like you are providing
> two alternative ways of doing the same thing, but not explaining that.
> How is a reader supposed to know that he doesn't have to do both
> commands?

Yeah, I was worried about that, so I added the blank line. If you look
at the docs, we already are providing three connection examples, so now
there are four. You can see the current docs here (the official ones
are not updated yet):

http://momjian.us/pgsql_docs/ecpg-connect.html#ECPG-CONNECTING

I am open to suggestions.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Alan B <alan77codebits(at)gmail(dot)com>, pgsql-docs(at)postgresql(dot)org
Subject: Re: Add clarification example to EXEC SQL CONNECT with password
Date: 2013-01-25 17:50:12
Message-ID: 14933.1359136212@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

Bruce Momjian <bruce(at)momjian(dot)us> writes:
> On Fri, Jan 25, 2013 at 12:25:32PM -0500, Tom Lane wrote:
>>> ! EXEC SQL CONNECT TO :target USER :user USING :passwd;
>>> !
>>> ! EXEC SQL CONNECT TO :target USER :user/:passwd;

>> This sure looks like it has broken the intention of the paragraph
>> immediately after the example. Also, it seems like you are providing
>> two alternative ways of doing the same thing, but not explaining that.
>> How is a reader supposed to know that he doesn't have to do both
>> commands?

> Yeah, I was worried about that, so I added the blank line. If you look
> at the docs, we already are providing three connection examples, so now
> there are four. You can see the current docs here (the official ones
> are not updated yet):
> http://momjian.us/pgsql_docs/ecpg-connect.html#ECPG-CONNECTING
> I am open to suggestions.

(looks at the whole section) As-is, it's definitely not good, because
before there were three independent examples, and now there are three
and a half --- the added example depends on the variables declared in
the third example. But using the blank line means you've formatted it
as a stand-alone fourth example, which is not only wrong in itself but
it screws up the meanings of both of the subsequent paragraphs.

Perhaps changing that blank line to something like " /* or */" would
help? Then it would look more like an alternative within the same
example, which would also help with making the following two paras
still be sensible.

regards, tom lane


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alan B <alan77codebits(at)gmail(dot)com>, pgsql-docs(at)postgresql(dot)org
Subject: Re: Add clarification example to EXEC SQL CONNECT with password
Date: 2013-01-25 18:19:21
Message-ID: 20130125181921.GD6848@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On Fri, Jan 25, 2013 at 12:50:12PM -0500, Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > On Fri, Jan 25, 2013 at 12:25:32PM -0500, Tom Lane wrote:
> >>> ! EXEC SQL CONNECT TO :target USER :user USING :passwd;
> >>> !
> >>> ! EXEC SQL CONNECT TO :target USER :user/:passwd;
>
> >> This sure looks like it has broken the intention of the paragraph
> >> immediately after the example. Also, it seems like you are providing
> >> two alternative ways of doing the same thing, but not explaining that.
> >> How is a reader supposed to know that he doesn't have to do both
> >> commands?
>
> > Yeah, I was worried about that, so I added the blank line. If you look
> > at the docs, we already are providing three connection examples, so now
> > there are four. You can see the current docs here (the official ones
> > are not updated yet):
> > http://momjian.us/pgsql_docs/ecpg-connect.html#ECPG-CONNECTING
> > I am open to suggestions.
>
> (looks at the whole section) As-is, it's definitely not good, because
> before there were three independent examples, and now there are three
> and a half --- the added example depends on the variables declared in
> the third example. But using the blank line means you've formatted it
> as a stand-alone fourth example, which is not only wrong in itself but
> it screws up the meanings of both of the subsequent paragraphs.
>
> Perhaps changing that blank line to something like " /* or */" would
> help? Then it would look more like an alternative within the same
> example, which would also help with making the following two paras
> still be sensible.

OK, how is this? The C comment allows me to add 'or'.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

Attachment Content-Type Size
ecpg2.diff text/x-diff 800 bytes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Alan B <alan77codebits(at)gmail(dot)com>, pgsql-docs(at)postgresql(dot)org
Subject: Re: Add clarification example to EXEC SQL CONNECT with password
Date: 2013-01-25 18:41:06
Message-ID: 16178.1359139266@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

Bruce Momjian <bruce(at)momjian(dot)us> writes:
> On Fri, Jan 25, 2013 at 12:50:12PM -0500, Tom Lane wrote:
>> (looks at the whole section) As-is, it's definitely not good, because
>> before there were three independent examples, and now there are three
>> and a half --- the added example depends on the variables declared in
>> the third example. But using the blank line means you've formatted it
>> as a stand-alone fourth example, which is not only wrong in itself but
>> it screws up the meanings of both of the subsequent paragraphs.

> OK, how is this? The C comment allows me to add 'or'.

It's still completely failing to address the problem that it's formatted
as a fourth, independent example. Please remove the blank line.

regards, tom lane


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alan B <alan77codebits(at)gmail(dot)com>, pgsql-docs(at)postgresql(dot)org
Subject: Re: Add clarification example to EXEC SQL CONNECT with password
Date: 2013-01-25 18:43:01
Message-ID: 20130125184301.GG6848@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On Fri, Jan 25, 2013 at 01:41:06PM -0500, Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > On Fri, Jan 25, 2013 at 12:50:12PM -0500, Tom Lane wrote:
> >> (looks at the whole section) As-is, it's definitely not good, because
> >> before there were three independent examples, and now there are three
> >> and a half --- the added example depends on the variables declared in
> >> the third example. But using the blank line means you've formatted it
> >> as a stand-alone fourth example, which is not only wrong in itself but
> >> it screws up the meanings of both of the subsequent paragraphs.
>
> > OK, how is this? The C comment allows me to add 'or'.
>
> It's still completely failing to address the problem that it's formatted
> as a fourth, independent example. Please remove the blank line.

How is this?

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +

Attachment Content-Type Size
ecpg3.diff text/x-diff 862 bytes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Alan B <alan77codebits(at)gmail(dot)com>, pgsql-docs(at)postgresql(dot)org
Subject: Re: Add clarification example to EXEC SQL CONNECT with password
Date: 2013-01-25 18:43:59
Message-ID: 16285.1359139439@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

Bruce Momjian <bruce(at)momjian(dot)us> writes:
> On Fri, Jan 25, 2013 at 01:41:06PM -0500, Tom Lane wrote:
>> It's still completely failing to address the problem that it's formatted
>> as a fourth, independent example. Please remove the blank line.

> How is this?

Yeah, that seems to work --- it looks like a single example now.

regards, tom lane


From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Alan B <alan77codebits(at)gmail(dot)com>, pgsql-docs(at)postgresql(dot)org
Subject: Re: Add clarification example to EXEC SQL CONNECT with password
Date: 2013-01-25 18:46:47
Message-ID: 20130125184647.GI6848@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On Fri, Jan 25, 2013 at 01:43:59PM -0500, Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > On Fri, Jan 25, 2013 at 01:41:06PM -0500, Tom Lane wrote:
> >> It's still completely failing to address the problem that it's formatted
> >> as a fourth, independent example. Please remove the blank line.
>
> > How is this?
>
> Yeah, that seems to work --- it looks like a single example now.

Thanks, done.

--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com

+ It's impossible for everything to be true. +


From: Alan B <alan77codebits(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-docs(at)postgresql(dot)org
Subject: Re: Add clarification example to EXEC SQL CONNECT with password
Date: 2014-01-20 11:50:47
Message-ID: CAGbN=G5AQ5ThX3TuioDwoz3VNThvRvkAvUo0cbccKXYO5vLuyQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

Hi Bruce, Tom,
Great to see this addressed, thanks.

Alan

On Fri, Jan 25, 2013 at 7:46 PM, Bruce Momjian <bruce(at)momjian(dot)us> wrote:

> On Fri, Jan 25, 2013 at 01:43:59PM -0500, Tom Lane wrote:
> > Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > > On Fri, Jan 25, 2013 at 01:41:06PM -0500, Tom Lane wrote:
> > >> It's still completely failing to address the problem that it's
> formatted
> > >> as a fourth, independent example. Please remove the blank line.
> >
> > > How is this?
> >
> > Yeah, that seems to work --- it looks like a single example now.
>
> Thanks, done.
>
> --
> Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
> EnterpriseDB http://enterprisedb.com
>
> + It's impossible for everything to be true. +
>