From: | Michael Barker <mike(at)middlesoft(dot)co(dot)uk> |
---|---|
To: | Kris Jurka <books(at)ejurka(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org, Andy Oliver <acoliver(at)jboss(dot)org> |
Subject: | Re: [PATCH] Support for ping method. |
Date: | 2006-04-20 07:48:10 |
Message-ID: | 1145519290.2569.0.camel@corona |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Hi Kris,
Dump the patch, we will use an empty select.
Regards,
Michael Barker.
On Mon, 2006-04-17 at 01:37 -0500, Kris Jurka wrote:
>
> On Thu, 6 Apr 2006, Michael Barker wrote:
>
> > Attached is a patch that adds support for a ping method on the
> > AbstractJdbc2Connection. This is useful for JBoss (and other
> > containers) where the container needs to check if the connection is
> > alive before passing it to the caller. Currently JBoss does a "SELECT
> > 1", but using the new ping method there is a boost in performance.
> > Opening and closing 1000 connections from a datasource:
> >
>
> There are a number of problems with this patch. In no particular order...
>
> 1) publicly accessible postgresql specific functions should be exported
> in the org.postgresql.PGConnection interface or similar. Client code
> should not attempt to cast a connection to any other interface.
>
> 2) The ping method in QueryExecutorImpl must be synchronized to avoid
> interfering with other threads use of the backend connection.
>
> 3) The error handling is non-existent. It swallows all kinds of errors
> and leaves the protocol stream in an unknown state leaving the caller
> responsible for cleanup. At worst it should close the connection and
> throw some sort of exception.
>
> 4) It is possible that the first response from a Sync message on a
> valid connection will not be a ReadyForQuery message. Consider the
> case of asynchronous Notify messages appearing. These must be
> processed by the driver as it waits for the ReadyForQuery
> message to arrive.
>
> 5) It lacks V2 protocol support. While V2 does not have a Sync message,
> it does have something similar. By sending a query of the empty string
> you will receive an EmptyQuery message immediately that should not require
> any significant backend processing.
>
> Kris Jurka
>
From | Date | Subject | |
---|---|---|---|
Next Message | Luis Londono | 2006-04-20 22:02:00 | Bug with callable statement and output parameters |
Previous Message | Markus Schaber | 2006-04-20 07:46:26 | Re: connection reset error, followed by broken pipe (pg74.213.jdbc3.jar) |