Re: PQconninfoParse()

Lists: pgsql-docs
From: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
To: pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: PQconninfoParse()
Date: 2011-09-27 13:13:36
Message-ID: CAAfz9KOvO3Ef7FL8TbQCWXT52EN1xo29nAsqDXxyoazZ5uOj8A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

Hey,

I suggest to clarify the documentation of PQconninfoParse().

First,
"Returns parsed connection options from the provided connection string."
Its false. The returned array contains all options, rather than which only
parsed from the provided connection string. This fact must be specified in
the documentation becase the name of the function mismatches its behaviour.

Second,
"Note that only options explicitly specified in the string will have values
set
in the result array; no defaults are inserted."
Its true. But instead of "no defaults are inserted" I suggest "values of
other
options will have NULL values."

--
// Dmitriy.


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
Cc: pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PQconninfoParse()
Date: 2011-10-10 17:00:53
Message-ID: CA+TgmoZTT+X4-MqbxwQ116uaLCBWAXw5EFL6QSMbzU4sMZyz+w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On Tue, Sep 27, 2011 at 9:13 AM, Dmitriy Igrishin <dmitigr(at)gmail(dot)com> wrote:
> First,
> "Returns parsed connection options from the provided connection string."
> Its false. The returned array contains all options, rather than which only
> parsed from the provided connection string. This fact must be specified in
> the documentation becase the name of the function mismatches its behaviour.

What do you mean by "all" options? Where else are they coming from
besides the connection string?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


From: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PQconninfoParse()
Date: 2011-10-10 17:31:15
Message-ID: CAAfz9KNhwEyFsxKb5t9TtuXD74XV+NMq-qLWb+5WAz8wX0SJ6A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

Hey Robert,

2011/10/10 Robert Haas <robertmhaas(at)gmail(dot)com>

> On Tue, Sep 27, 2011 at 9:13 AM, Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
> wrote:
> > First,
> > "Returns parsed connection options from the provided connection string."
> > Its false. The returned array contains all options, rather than which
> only
> > parsed from the provided connection string. This fact must be specified
> in
> > the documentation becase the name of the function mismatches its
> behaviour.
>
> What do you mean by "all" options? Where else are they coming from
> besides the connection string?
>
I mean options from
static const PQconninfoOption PQconninfoOptions[]
from interfaces/libpq/fe-connect.c

>
> --
> Robert Haas
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

--
// Dmitriy.


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
Cc: pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PQconninfoParse()
Date: 2011-10-15 10:25:27
Message-ID: CA+TgmoaSVF+=2-01fHB8aKQ8YOiruJnVpgDQJBqXA-aH-YqpOA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On Mon, Oct 10, 2011 at 1:31 PM, Dmitriy Igrishin <dmitigr(at)gmail(dot)com> wrote:
> Hey Robert,
>
> 2011/10/10 Robert Haas <robertmhaas(at)gmail(dot)com>
>>
>> On Tue, Sep 27, 2011 at 9:13 AM, Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
>> wrote:
>> > First,
>> > "Returns parsed connection options from the provided connection string."
>> > Its false. The returned array contains all options, rather than which
>> > only
>> > parsed from the provided connection string. This fact must be specified
>> > in
>> > the documentation becase the name of the function mismatches its
>> > behaviour.
>>
>> What do you mean by "all" options?  Where else are they coming from
>> besides the connection string?
>
> I mean options from
> static const PQconninfoOption PQconninfoOptions[]
> from interfaces/libpq/fe-connect.c

Maybe we should change this:

Note that only options explicitly specified in the string will have
values set in the result array; no defaults are inserted.

To say something like this:

All legal options will be present in the result array, but only those
explicitly specified in the string will have a corresponding value; no
defaults are inserted.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


From: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PQconninfoParse()
Date: 2011-10-15 10:33:56
Message-ID: CAAfz9KOnx4bWTM8Q_9xbEA8-ZFvuFT+iJ+MaaKxzH_Qv2YGQ0A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

2011/10/15 Robert Haas <robertmhaas(at)gmail(dot)com>

> On Mon, Oct 10, 2011 at 1:31 PM, Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
> wrote:
> > Hey Robert,
> >
> > 2011/10/10 Robert Haas <robertmhaas(at)gmail(dot)com>
> >>
> >> On Tue, Sep 27, 2011 at 9:13 AM, Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
> >> wrote:
> >> > First,
> >> > "Returns parsed connection options from the provided connection
> string."
> >> > Its false. The returned array contains all options, rather than which
> >> > only
> >> > parsed from the provided connection string. This fact must be
> specified
> >> > in
> >> > the documentation becase the name of the function mismatches its
> >> > behaviour.
> >>
> >> What do you mean by "all" options? Where else are they coming from
> >> besides the connection string?
> >
> > I mean options from
> > static const PQconninfoOption PQconninfoOptions[]
> > from interfaces/libpq/fe-connect.c
>
> Maybe we should change this:
>
> Note that only options explicitly specified in the string will have
> values set in the result array; no defaults are inserted.
>
> To say something like this:
>
> All legal options will be present in the result array, but only those
> explicitly specified in the string will have a corresponding value; no
> defaults are inserted.
>
Exactly! Perfect!

>
> --
> Robert Haas
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

--
// Dmitriy.


From: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PQconninfoParse()
Date: 2011-10-15 11:12:02
Message-ID: CAAfz9KOONR=1Sg8Pe4eMO4+z+6==dO2-iG8ZtJ75HTqMp0-ibw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

2011/10/15 Dmitriy Igrishin <dmitigr(at)gmail(dot)com>

>
>
> 2011/10/15 Robert Haas <robertmhaas(at)gmail(dot)com>
>
>> On Mon, Oct 10, 2011 at 1:31 PM, Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
>> wrote:
>> > Hey Robert,
>> >
>> > 2011/10/10 Robert Haas <robertmhaas(at)gmail(dot)com>
>> >>
>> >> On Tue, Sep 27, 2011 at 9:13 AM, Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
>> >> wrote:
>> >> > First,
>> >> > "Returns parsed connection options from the provided connection
>> string."
>> >> > Its false. The returned array contains all options, rather than which
>> >> > only
>> >> > parsed from the provided connection string. This fact must be
>> specified
>> >> > in
>> >> > the documentation becase the name of the function mismatches its
>> >> > behaviour.
>> >>
>> >> What do you mean by "all" options? Where else are they coming from
>> >> besides the connection string?
>> >
>> > I mean options from
>> > static const PQconninfoOption PQconninfoOptions[]
>> > from interfaces/libpq/fe-connect.c
>>
>> Maybe we should change this:
>>
>> Note that only options explicitly specified in the string will have
>> values set in the result array; no defaults are inserted.
>>
>> To say something like this:
>>
>> All legal options will be present in the result array, but only those
>> explicitly specified in the string will have a corresponding value; no
>> defaults are inserted.
>>
> Exactly! Perfect!
>
Also, I would say something about deprecated options
such as "authtype" which are still presents in the returned
array.

>
>> --
>> Robert Haas
>> EnterpriseDB: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>
>
>
> --
> // Dmitriy.
>
>
>

--
// Dmitriy.


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>, pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PQconninfoParse()
Date: 2011-10-15 15:24:34
Message-ID: 12654.1318692274@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> Maybe we should change this:

> Note that only options explicitly specified in the string will have
> values set in the result array; no defaults are inserted.

> To say something like this:

> All legal options will be present in the result array, but only those
> explicitly specified in the string will have a corresponding value; no
> defaults are inserted.

Uh, is that actually a true statement? I thought the result *did*
include default values. That's more or less the point of returning them
all, after all.

regards, tom lane


From: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PQconninfoParse()
Date: 2011-10-15 17:21:52
Message-ID: CAAfz9KMtsyjGuqTKxWr7yUbtFsnvcCzAGsvzYSBjMhkBpDBNzg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

2011/10/15 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>

> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> > Maybe we should change this:
>
> > Note that only options explicitly specified in the string will have
> > values set in the result array; no defaults are inserted.
>
> > To say something like this:
>
> > All legal options will be present in the result array, but only those
> > explicitly specified in the string will have a corresponding value; no
> > defaults are inserted.
>
> Uh, is that actually a true statement? I thought the result *did*
> include default values. That's more or less the point of returning them
> all, after all.
>
Oops, indeed, if I understand your correctly thats what
I meant in my first post - "values of other options will have
NULL values" instead of "no defaults are inserted".

>
> regards, tom lane
>

--
// Dmitriy.


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>, pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PQconninfoParse()
Date: 2011-10-19 00:07:05
Message-ID: CA+TgmoY3dNQBjB1SBq_b6Rqj6atHUu9R=eAQbF551qYwAkO6dg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On Sat, Oct 15, 2011 at 11:24 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> Maybe we should change this:
>
>> Note that only options explicitly specified in the string will have
>> values set in the result array; no defaults are inserted.
>
>> To say something like this:
>
>> All legal options will be present in the result array, but only those
>> explicitly specified in the string will have a corresponding value; no
>> defaults are inserted.
>
> Uh, is that actually a true statement?  I thought the result *did*
> include default values.  That's more or less the point of returning them
> all, after all.

Well, then I'm confused, because you and Dmitriy seem to be saying
opposite things.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>, pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PQconninfoParse()
Date: 2011-10-19 00:27:47
Message-ID: 28823.1318984067@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Sat, Oct 15, 2011 at 11:24 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Uh, is that actually a true statement? I thought the result *did*
>> include default values. That's more or less the point of returning them
>> all, after all.

> Well, then I'm confused, because you and Dmitriy seem to be saying
> opposite things.

[ after experimenting with the code ... ] Oh, I had been thinking that
PQconndefaults gives the same result as PQconninfoParse with an
empty-string argument, but that's not the case. Indeed, the former
fills in default values as current values, but the latter does not.

The proposed wording change seems reasonable, except that "have a
corresponding value" seems a bit vague. Maybe better "have a non-null
val field".

regards, tom lane


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>, pgsql-docs <pgsql-docs(at)postgresql(dot)org>
Subject: Re: PQconninfoParse()
Date: 2012-03-23 02:12:00
Message-ID: CA+TgmoYUPXLsCwo3yyfezALDQKgzC6RH84xDA2KwDyYAy8fbTQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-docs

On Tue, Oct 18, 2011 at 8:27 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> On Sat, Oct 15, 2011 at 11:24 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> Uh, is that actually a true statement?  I thought the result *did*
>>> include default values.  That's more or less the point of returning them
>>> all, after all.
>
>> Well, then I'm confused, because you and Dmitriy seem to be saying
>> opposite things.
>
> [ after experimenting with the code ... ]  Oh, I had been thinking that
> PQconndefaults gives the same result as PQconninfoParse with an
> empty-string argument, but that's not the case.  Indeed, the former
> fills in default values as current values, but the latter does not.
>
> The proposed wording change seems reasonable, except that "have a
> corresponding value" seems a bit vague.  Maybe better "have a non-null
> val field".

I've committed something along these lines.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company