From: | "Carl E(dot) McMillin" <carlymac(at)earthlink(dot)net> |
---|---|
To: | "'Stijn Vanroye'" <s(dot)vanroye(at)farcourier(dot)com>, <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Cancel query based on a timeout |
Date: | 2004-05-10 15:31:04 |
Message-ID: | 000a01c436a3$ce6fa950$6600a8c0@DEVSONY |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)postgresql(dot)org
[mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of Stijn Vanroye
Sent: Monday, May 10, 2004 3:55 AM
To: pgsql-general(at)postgresql(dot)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(at)postgresql(dot)org so that your
message can get through to the mailing list cleanly
From | Date | Subject | |
---|---|---|---|
Next Message | Sally Sally | 2004-05-10 15:45:01 | basic question (shared buffers vs. effective cache size) |
Previous Message | Carlos Oliva | 2004-05-10 15:27:32 | Re: Option required to dump bytea fields? |