Re: Cancel query based on a timeout - Mailing list pgsql-general

From Carl E. McMillin
Subject Re: Cancel query based on a timeout
Date
Msg-id 000a01c436a3$ce6fa950$6600a8c0@DEVSONY
Whole thread Raw
In response to Cancel query based on a timeout  ("Stijn Vanroye" <s.vanroye@farcourier.com>)
List pgsql-general
Hi,

We are working on a similar problem - timeouts of long-running requests.  We
are also currently using 7.3.4 for Postgres, but we are using Java, JDBC,
and PL/PGSql.

Question: Does Delphi have structured exception-handling?  The solution
we've found requires the ability to descriminate between exception-types and
the ability to catch and throw execeptions in a safe fashion.  If Delphi
does have SHE, then I think our solution could be mapped into Delphi without
much trouble.

The solution we've come up with is to add a "waiting procedure" table to the
database, along with some stored-procedures to manage the table.  We call
this the "waitingproc" subsystem.

The "waitingproc" subsystem can then be used by client-side code (thru JDBC
calls; ODBC should be able to handle the particular subset we are dealing
with here) to detect when a server-side process overruns its alloted time.
The client then has the option to abort the transaction and/or restart the
server-side process.

Of course, the problem we are throwing the "waitingproc" subsystem at is not
your problem, but I think some of the core concepts/procedures are usuable.

Let me know if you'd like the Java and PL/PGSql source.  The Java code is
fairly extensive and is mixed in with other business-logic, but I can help
you thru the rough parts.

Carl <|};-)>


-----Original Message-----
From: pgsql-general-owner@postgresql.org
[mailto:pgsql-general-owner@postgresql.org] On Behalf Of Stijn Vanroye
Sent: Monday, May 10, 2004 3:55 AM
To: pgsql-general@postgresql.org
Subject: [GENERAL] Cancel query based on a timeout


Hi List,

I'm running a query on a not-so-small db. Mostly this query runs fast
enough, but every once in a while the query takes a long time to complete in
wich case the users start banging away on the keyboard :-).

What we would like to do is cancel the query after a certain time-out (e.g.
30 sec.) Is there some way to send a command to the postgres sever to stop
running the query?

We're using Postgres 7.3.4 and the latest ODBC driver. Programming is done
with Borland Delphi 7


Regards,

Stijn Vanroye

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to majordomo@postgresql.org so that your
      message can get through to the mailing list cleanly



pgsql-general by date:

Previous
From: "Carlos Oliva"
Date:
Subject: Re: Option required to dump bytea fields?
Next
From: "Sally Sally"
Date:
Subject: basic question (shared buffers vs. effective cache size)