Have a problem…
One user can open two seperate windows at the same time. Each of the two windows will do a "select" with "readnext" statements. If I use the default cursor 0, then one will overwrite the other. So I must use multiple cursors.
(That kinda gives me thought on why a "rlist" does not "yield" to other processes… maybe? That bit is not important right now.)
Some of these selects are really coming from an indexing system, and are kinda big. So it would be nice to fragment the active select list (or simply copy index rows to SYSLIST). I have figured out how that is done by using the "@CURSORS" matrix. The row being the cursor# and the column being the information for the cursor, @cursor(row,column).
Here is what works for small lists… column 1=list of keys in active select list. column 2=1, position pointer to column 1. column 5=3, resolved lists active (see @list_active). column 11=1 _
Here is what works for large lists…
column 5=3, resolved lists active (see @list_active).
column 6=A:@FM:B, A=START_SUFFIX - 1, B=END_SUFFIX (key in SYSLISTS).
column 11=1
Column 6 is kinda tricky. The key in the SYSLISTS is "T*":@STATION:'*':@USERNAME:'*':SUFFIX
Just a little more info…
By setting column 6, I can control what rows in the SYSLISTS table to use for that cursor number. Like cursor 1 is using suffix 1 thru 4. Cursor 2 is using suffix 5 thru 7. This works perfectly.
__
Ok here is my want…
Does anyone really know how to use the @CURSOR variable. Or really knows what each column is for? I want to be sure I get this right this time.