Subject RE: [Firebird-Architect] Can we, can we, can we????...
Author Bill Meaney
Q. How long should a query run?

A. GBAK: It should run as long as I need it to run to make a safe copy of
your data and not a nano-second shorter.

A. POS Application: It should be able to retrieve the price for any SKU in
0.01 seconds.

A. US Census Application: I need the average age of 49 year old single white
females with two kids in the next two hours. (obviously the answer is 39)

A. Application Developer: I can "Name That Tune" (old TV game show) in 3
seconds, so 4 seconds should be long enough. Oops, let me try 5.

A. Application User A: The variances for all claims for the last 12 months
was taking too long (45 seconds) so I hit "End Task" on the application. I
logged in and tried it again and it still took a long time, so I hit "End
Task" again. I hope that's alright.

A. Application User B: So long as it's done when I get back from coffee.

A. FBServer: Why do I care? I'll do what you ask me until you ask me to
stop. If I try to dictate how long in feet, you will want me to measure in
meters. If I run for five miles you'll say I should have run for five and a
quarter. How about you give me a destination and I'll do my best to get
there. I'll deal with the traffic congestion detours if there are any, this
may take a little longer, but tomorrow there may be no tie ups and I can be
there sooner. I'll give you my cell phone number and if you get back from
coffee sooner than you thought you can call me and tell me to stop, so that
you can try a different approach or go onto more important things. This
will put the control of how long I run into the hands of the application and
the user who have a much better knowledge of how long is too long.

A. Bill Meaney (application developer): I agree with FBServer. If I had a
way to kill a running query, I could decide the right time. I could present
a Stop button to my users so that they could control "their" time. For
background queries, those not initiated by the user, I could start a timer
thread with what ever I thought was a reasonable amount of time and then
issue a stop if needed.


my 2 cents worth,
Bill Meaney