Select Failure (OpenInsight Specific)
At 20 APR 1998 09:02:24PM Matt Crozier wrote:
I'm puzzled as to why this simple piece of code will work the first time it is called, but when called again the SELECT fails with a FS111 error (FS_READNEXT_DONE$). Why would the SELECT statement be returning a ReadNext error??
select 'AUDIT' by 'AUDITED_FILE' setting c then
d=0loopreadnext i using c by AT else d=1until dCall Send_Info( xlate( 'AUDIT', i, 'AUDITED_FILE', 'X'))Repeatclearselect cEnd else Call Send_Info( @file.error)
There seems to be something in the environment that is not being reset. Reattaching the file does not help. Does anyone have any ideas??
Thanks,
Matt Crozier
At 21 APR 1998 01:38AM Don Bakke wrote:
Matt,
FWIW, I ran your exact code only replacing the table and field names and it works fine everytime. This would lead me to think it's datatable related.
At 21 APR 1998 05:04PM Matt Crozier wrote:
Thanks Don,
I didn't mention that it only doesn't work if the sort is large enough such that a .SFX file is involved (apparently ). Anyway, I think Cam has answered this in another post - something to do with $RTP9 and will be fixed in a 3.61 patch.
Matt.
At 22 APR 1998 07:33AM Cameron Revelation wrote:
Matt,
Why would the SELECT statement be returning a ReadNext error??
There is only one way to get a list of keys from a table: readnext. For select..by to get the values to sort (assuming there is no index), it must readnext all keys (and if the "by" clause is based on a field in the record, it will have to read all records). If the list is ]64k, then EXTERNAL.SORT() is used, which chunks up the data into 32k lists using the V119 merge sort processor. A change to $RTP9 in 3.6 caused @file.error to not be reset by the OPEN statement, so EXTERNAL.SORT() thought that V119 was failing (because @file.error was still set to its last error – FS111). The reason this slipped through was that $RTP9 has never included code to reset @file.error … it was a side-effect of a READ statement against SYSTABLES, and that READ was removed in 3.6 as part of an optimization.
Cameron Purdy
At 23 APR 1998 04:11PM Cameron Revelation wrote:
The 3.61 patch is not yet available due to Reporter dependencies. In the mean time, the following file contains the fix to the FS111 select…by and R/List errors.
1. Back up the existing OpenInsight system
2. Rename the existing REVBOOT file in the OpenInsight directory to REVBOOT.OLD
3. Download the following file and place it in the OpenInsight directory
(58921 bytes)
Please note the following:
1. This patch has not yet been extensively tested, although it contains only one code alteration
2. This patch should only be used with OpenInsight 3.6 systems (either development or runtime)
3. This patch will be included in the upcoming 3.61 release
Cameron Purdy
Revelation Software