Re: Comments on adding more connection URL parameters. - Mailing list pgsql-jdbc

From Barry Lind
Subject Re: Comments on adding more connection URL parameters.
Date
Msg-id 401FD542.50000@xythos.com
Whole thread Raw
In response to Comments on adding more connection URL parameters.  (Kris Jurka <books@ejurka.com>)
Responses Re: Comments on adding more connection URL parameters.
Re: Comments on adding more connection URL parameters.
List pgsql-jdbc
Kris,

I have no problem with having a larger number of parameters, although we
should look carefully at how many we add.  So for me the issue isn't how
many or what types, but how are they set.

I think the process of setting them via the jdbc url is only suitable
for a limited number of parameters, since urls are often typed in by
hand into many applications you can't have 50 parameters also needed on
the url.

So I beleive that there needs to be some sort of hierarchy of locations
where parameter values can be set.  I would suggest something like the
following:

1) jvm parameters (i.e. -Dxxx=yyy)
2) URL
3) property file specified by a url parameter
4) property file bundled in the jar (i.e.
org/postgresql/conf.properties) - this allows application builders who
bundle the jdbc driver with their application to set the parameters
their application requires
5) property file in a default location (like user.home)

Once the number of parameters becomes larger, I would expect most people
will end up using property files for their parameters and then change
individual ones on a case by case basis via the url or jvm for exception
cases.

thanks,
--Barry



Kris Jurka wrote:

> I am aware of at least three feature proposals that have adding a
> parameter to the connection URL as a requirement.  I would like to solicit
> comments on a policy for adding new URL parameters.  Is there are reason
> to try and restrict the number of supported parameters?  Proposals right
> now include a login timeout, a server side prepared statement threshold
> where server statements are used after a certain number of uses, and a
> schema search path setting.  These three proposals accurately reflect the
> range of possible reasons for neeeding a parameter:
>
>
> http://archives.postgresql.org/pgsql-jdbc/2004-01/msg00106.php
> login timeout:  This is the only possible way to support this feature.
> This information must be available before the connection is created, so
> the URL is the only reasonable place to put it.
>
> http://archives.postgresql.org/pgsql-jdbc/2003-12/msg00019.php
> server prepare threshold:  This makes using server prepared statements
> possible without using pg specific code.  It also allows server side
> prepares to automatically turn themselves on for reused statements which
> is the exact situation that this is desireable.  It is possible to
> implement this feature entirely in client code, but it would be a real
> mess.
>
> http://gborg.postgresql.org/project/pgjdbc/bugs/bugupdate.php?668
> schema search path:  This allows setting a GUC parameter "search_path" on
> a per connection basis.  This is only useful in the situation where it
> cannot be handled by the per user or per database defaults.  This is
> something which can be handled entirely in client code by issuing an
> appropriate SET command, but would arguably be cleaner in the URL,
> especially in a connection pooling situation.  The problem is that once
> you add any GUC variable you don't have a strong basis for not adding them
> all.  I could see using guc_ as a prefix and any parameter starting that
> way we tried to issue a SET on.
>
> So I'd like your thoughts on adding new parameters.  Only things not
> possible without them?  Only significant improvements that would be real
> difficult without them?  Only certain GUC variables?  All GUC variables?
>
>
> Kris Jurka
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match



pgsql-jdbc by date:

Previous
From: Barry Lind
Date:
Subject: Re: Error While trying to use Functions which return Resultsets
Next
From: Barry Lind
Date:
Subject: Re: metadata searching