Hi,
Can someone confirm that SmartQuery also work with "NonBlocking"?
I made a simple test and the GUI will not freeze with OraQuery, but it's freezing using SmartQuery.
The version used is the latest.
Thx
Andre
SmartQuery and NonBlocking
Re: SmartQuery and NonBlocking
Hello,
We cannot reproduce the problem. The NonBlocking mode works correctly in both OraQuery and SmartQuery. Please send a small sample (including the table creation script) demonstrating the problem to alexp*devart*com
We cannot reproduce the problem. The NonBlocking mode works correctly in both OraQuery and SmartQuery. Please send a small sample (including the table creation script) demonstrating the problem to alexp*devart*com
Re: SmartQuery and NonBlocking
Hi Alex,
Sorry, it was my mistake. The FETCHALL property for the SmartQuery was FALSE and not TRUE compared with the OraQuery in my sample application.
For me it was also not clear that the NonBlocking is linked to the FetchRows property. If the FetchRows property is small and amount of rows to retrieve is high, then the application will be more responsive. But if the FetchRows is high and the amount of rows is also high (and the connection is slow e.g. via VPN), then the main thread will be blocked till it retrieve the first amount of Rows defined at FetchRows.
Initially I thought that using NonBlocking, ALL rows would be retrieved via a separate thread, but it seems that the first "batch" of rows is not done via the separate thread. Could you please let me know if there is a way for all rows to retrieved in a separate Thread? Or is there any particular reason for this type of implementation (first amount retrieved normally in main thread and all remaining rows in separate)?
Thank you
Andre
Sorry, it was my mistake. The FETCHALL property for the SmartQuery was FALSE and not TRUE compared with the OraQuery in my sample application.
For me it was also not clear that the NonBlocking is linked to the FetchRows property. If the FetchRows property is small and amount of rows to retrieve is high, then the application will be more responsive. But if the FetchRows is high and the amount of rows is also high (and the connection is slow e.g. via VPN), then the main thread will be blocked till it retrieve the first amount of Rows defined at FetchRows.
Initially I thought that using NonBlocking, ALL rows would be retrieved via a separate thread, but it seems that the first "batch" of rows is not done via the separate thread. Could you please let me know if there is a way for all rows to retrieved in a separate Thread? Or is there any particular reason for this type of implementation (first amount retrieved normally in main thread and all remaining rows in separate)?
Thank you
Andre
Re: SmartQuery and NonBlocking
Hello,
If the FetchAll property is set to False, then only the first block of records is read out in a separate thread, others are read out in the main thread of an application. We will consider the possibility to modify this behaviour.
If the FetchAll property is set to False, then only the first block of records is read out in a separate thread, others are read out in the main thread of an application. We will consider the possibility to modify this behaviour.