Re: [PATCH] Support for ping method. - Mailing list pgsql-jdbc

From Michael Barker
Subject Re: [PATCH] Support for ping method.
Date
Msg-id 1145519290.2569.0.camel@corona
Whole thread Raw
In response to Re: [PATCH] Support for ping method.  (Kris Jurka <books@ejurka.com>)
List 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
>


pgsql-jdbc by date:

Previous
From: Markus Schaber
Date:
Subject: Re: connection reset error, followed by broken pipe (pg74.213.jdbc3.jar)
Next
From: "Luis Londono"
Date:
Subject: Bug with callable statement and output parameters