Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

At 18 JUN 2000 01:05:47PM Wilhelm Schmitt wrote:

We are doing extensive testing on reports and queries for large files. Filters are achieved with BTREE.EXTRACTs and WITH clauses in the RLIST statement.

When the filter yields a large selection,OI RLIST keeps running and running and running… and we have found no way to stop it (except for jumping out of all OI related windows!).

Is there a more practical way to interrupt RLIST?

TIA

Wilhelm


At 18 JUN 2000 06:08PM Mike Ruane, WinWin Solutions Inc. wrote:

Wilhelm-

Typing STOP at the system monitor will stop it- although this is not practical for end users.

Mike Ruane

WinWin Solutions Inc.

WWW.WinWinSol.Com


At 19 JUN 2000 04:54AM Oystein Reigem wrote:

Wilhelm,

There's a trick that might help you. Never tried it myself, though.

Make e.g a button to press when you want to interrupt. In the button's CLICK handler use an Abort All statement.

Then you must make Btree.Extract or Rlist to yield to other processes every once in a while, or else the button's handler won't execute until the process running Btree.Extract/Rlist is all finished. The suggested trick is to make a dummy symbolic with some code that includes the Yield() statement and include that symbolic in every query you do.

Drawbacks:

- The symbolic makes the execution take more time.

- Btree.Extract/Rlist might not yield during the whole process, only parts of it. E.g if you do an Rlist SELECT … BY, Rlist will not yield during the sort process, because by then it isn't looking up the symbolic any more. I think.

See e.g

Possible pitfall here:

- Oystein -


At 19 JUN 2000 04:27PM Wilhelm Schmitt wrote:

Hello Mike,

the STOP command works fine for the programming environment (thanks for the hint!), but what would a user have to do to stop listing the next 400,000 records?

Saludos

Wilhelm


At 20 JUN 2000 09:09AM Wilhelm Schmitt wrote:

Oystein,

I forgot to mention that my question was actually related specifically to INET_RLIST in our web application.

Our problem is this: When we activate SELECTs within INET_RLIST on a large datafile (500,000+ records), the web server sends the time-out message to the browser and finishes the request on the client side. OI however ignores that time-out and continues execution. (With Mike's hint we are now at least able to stop execution manually during testing, without restarting engines and server.)

Now imagine the web user, sitting in front of his screen, receiving the time-out message, getting impatient and trying to restart the RLIST sequence over and over again. This could block the web-server during several hours.

BTREE.EXTRACTing, on the other hand, is handled very efficiently and gives complete control. I guess that at this point we simply change to extract, until we get a selection list small enough to be processed without fears.

By the way: We practically do not use OI tools or OI-specific code, except the one related directly to the web. Most of our programming (web-conmuter programm, HTML generator etc.) is done with generic AREV code, which, when copied over into OI, requires only minimal changes.

Best Regards

Wilhelm

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/c48e6aafbf22595185256902005dea2f.txt
  • Last modified: 2023/12/28 07:40
  • by 127.0.0.1