Re: [PATCH] Add PQconninfoParseParams and PQconninfodefaultsMerge to libpq - Mailing list pgsql-hackers

From Phil Sorber
Subject Re: [PATCH] Add PQconninfoParseParams and PQconninfodefaultsMerge to libpq
Date
Msg-id CADAkt-gdXL=-Ey0Hyi01OrnR8QSnidTFihhrXK_A01AwV4K9Fg@mail.gmail.com
Whole thread Raw
In response to Re: [PATCH] Add PQconninfoParseParams and PQconninfodefaultsMerge to libpq  (Amit kapila <amit.kapila@huawei.com>)
Responses Re: [PATCH] Add PQconninfoParseParams and PQconninfodefaultsMerge to libpq  (Amit Kapila <amit.kapila@huawei.com>)
List pgsql-hackers
On Sun, Feb 17, 2013 at 1:35 AM, Amit kapila <amit.kapila@huawei.com> wrote:
> On Tuesday, February 12, 2013 2:49 AM Heikki Linnakangas wrote:
> On 04.02.2013 17:32, Alvaro Herrera wrote:
>> Phil Sorber wrote:
>>> On Mon, Feb 4, 2013 at 10:16 AM, Alvaro Herrera
>>> <alvherre@2ndquadrant.com>  wrote:
>>>> Phil Sorber wrote:
>>>>> On Mon, Feb 4, 2013 at 9:13 AM, Alvaro Herrera<alvherre@2ndquadrant.com>  wrote:
>>>>
>
>> I think this patch would simplift the patch to pass a connection string
>> to pg_basebackup and pg_receivexlog:
>> http://www.postgresql.org/message-id/005501cdfa45$6b0eec80$412cc580$@kommi@huawei.com.
>> I note that pg_dumpall also has a similar issue as pg_basebackup and
>> pg_receivexlog; there's no way to pass a connection string to it either.
>
> I have looked into both patches and my analysis is as below:
>
> In pg_basebackup patch, we have connection string and list of keywords (individual options specified by user),
> in the current available patch it has combined connection string and list of keywords as connection string
> and called PQconnectdb() which takes connection string as input.
>
> Now the patch of Phil Sober provides 2 new API's PQconninfoParseParams(), and PQconninfodefaultsMerge(),
> using these API's I can think of below way for patch "pass a connection string to pg_basebackup, ..."
>
> 1. Call existing function PQconinfoParse() with connection string input by user and get PQconninfoOption.
>
> 2. Now use the existing keywords (individual options specified by user) and extract the keywords from
>    PQconninfoOption structure and call new API PQconninfoParseParams() which will return PQconninfoOption.
>    The PQconninfoOption structure returned in this step will contain all keywords
>
> 3. Call PQconninfodefaultsMerge() to merge any default values if exist. Not sure if this step is required?
>
> 4. Extract individual keywords from PQconninfoOption structure and call PQconnectdbParams.
>
>
> Is this inline with what you have in mind or you have thought of some other simpler way of using new API's?
>
> With Regards,
> Amit Kapila.

I think what would be nice is an additional connect function that took
PQconninfoOption as a parameter. Or at least something that can
convert from PQconninfoOption to a connection string or keyword/value
arrays.



pgsql-hackers by date:

Previous
From: Kevin Grittner
Date:
Subject: Re: Materialized views WIP patch
Next
From: Andres Freund
Date:
Subject: Re: overlapping strncpy/memcpy errors via valgrind