Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 3 of 3 total
Thread Are callbacks or Process Messages possible during long duration SQL operations?
Mon, Jan 14 2008 11:25 AMPermanent Link

Sam Jones
Hello!

Using DBISAM 4.

The issue: Our UI freezes during DBISAM operations such as ALTER TABLE, CREATE INDEX, etc.
as these operations can take 10 seconds to 10 minutes. Our customers sometimes terminate
our application during these operations, as Windows says we are 'not responding.'

(Yes, we know we could put our DB operations into a thread. But that is path of last
resort for us, for a number of reasons.)


So our questions:

a) Can we do callbacks from the DBISAM engine to keep ourselves 'alive' during long db
operations done via SQL ?

b) Is there a flag or such where we can ask DBISAM to process messages internally during
long operations ?

c) Other solutions to this (other than threading) ?

Thanks!!!
Mon, Jan 14 2008 12:09 PMPermanent Link

Sam Jones
We see "TDBISAMQuery.OnQueryProgress Event"

http://www.elevatesoft.com/scripts/manual.dll?action=mancompevent&id=dbisam4&product=d&version=5&comp=TDBISAMQuery&event=OnQueryProgress

Is that the path?

Any other suggestions in this vein?

Thanks!!!
Tue, Jan 15 2008 3:00 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Sam,

<< We see "TDBISAMQuery.OnQueryProgress Event"

Is that the path? >>

Yep.    Also:

http://www.elevatesoft.com/scripts/manual.dll?action=mancompevent&id=dbisam4&product=d&version=7&comp=TDBISAMQuery&event=OnAlterProgress

http://www.elevatesoft.com/scripts/manual.dll?action=mancompevent&id=dbisam4&product=d&version=7&comp=TDBISAMQuery&event=OnIndexProgress

etc.

You can call Application.ProcessMessages in the OnQueryProgress, etc. events
in order to allow for other messages to be processed occasionally such as
button presses, etc.

--
Tim Young
Elevate Software
www.elevatesoft.com

Image