Re: Another review of URI for libpq, v7 submission - Mailing list pgsql-hackers

From Alex
Subject Re: Another review of URI for libpq, v7 submission
Date
Msg-id 87k42cb9dr.fsf@commandprompt.com
Whole thread Raw
In response to Re: Another review of URI for libpq, v7 submission  (Alex <ash@commandprompt.com>)
Responses Re: Another review of URI for libpq, v7 submission  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Re: Another review of URI for libpq, v7 submission  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
Alex <ash@commandprompt.com> writes:

> Marko Kreen <markokr@gmail.com> writes:
>
>> On Thu, Mar 15, 2012 at 11:29:31PM +0200, Alex wrote:
>>> https://github.com/a1exsh/postgres/commits/uri
>>
>> The point of the patch is to have one string with all connection options,
>> in standard format, yes?  So why does not this work:
>>
>>   db = PQconnectdb("postgres://localhost");
>>
>> ?
>
> Good catch.
>
> I've figured out that we'll need a bit more intrusive change than simply
> overriding the expand_dbname check in conninfo_array_parse (like the
> current version does) to support URIs in all PQconnect* variants.

Okay, at last here's v9, rebased against current master branch.

What's new in this version is parse_connection_string function to be
called instead of conninfo_parse.  It will check for possible URI in the
connection string and dispatch to conninfo_uri_parse if URI was found,
otherwise it will fall back to conninfo_parse.

In two places in code we don't want to parse the string unless it is
deemed a real connection string and not plain dbname.  The new function
recognized_connection_string is added to check this.

Thanks Marko for spotting the problem and thanks Tom for committing the
refactoring patch!

--
Alex


Attachment

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Finer Extension dependencies
Next
From: Dimitri Fontaine
Date:
Subject: Re: Finer Extension dependencies