10.2B is going to have a new block control feature called STOP-AFTER. This will make it so that you can time-out a query after a certain amount of time. For instance:
define variable h as handle no-undo.
create query h.
h:set-buffers( buffer customer:handle ).
h:query-prepare( "preselect each customer where discount = ?" ).
etime( yes ).
do STOP-AFTER 1 on stop undo, leave:
h:query-open().
end.
message etime h:num-results.
So far, so good...
But users aren't always going to want to abort a long running query (or whatever). Sometimes they will be perfectly happy to say "that's ok, I know, keep running." In a case like that I would think that you would want to instead do an UNDO, RETRY and have the RETRY act as "continue".
I'm also really hoping that, unlike PAUSE, the time-out interval takes fractions of a second.