Re: isrecnum bug in C-ISAM
Posted in 1992
In article <1992Apr14.031228.10589@luga.latrobe.edu.au>, lhscmc@latrobe.edu.au (Craig Macbride) writes: ->In article <1653@das13.snide.com> dave@das13.snide.com (Dave Snyder) writes: ->>In article <1992Apr13.034933.2354@luga.latrobe.edu.au>, lhscmc@latrobe.edu.au (Craig Macbride) writes: ->>> When you read ISNEXT or ISPREV (with ISSKIPLOCK) and get a return code ->>> indicating that the record is locked, you know that isrecnum is junk, but ->>> the data returned is correct. Therefore, issue a read ISEQUAL on the key ->>> which the ISNEXT/ISPREV read returned. This second read will return not ->>> only the correct data, but also the correct isrecnum! ->> ->>Why not use ISCURR? I believe that ISCURR reads the record where the ->>file pointer is pointing regardless of what is in isrecnum. Also, this ->>method would work on Unique and Duplicate indexes (it'd be quicker too). -> -> You'd have hoped that it would work, wouldn't you? Yep, it's the first thing -> I tried, and guess what? When you use ISNEXT and get isrecnum left unchanged -> from the previous call, and you then use ISCURR (and the record is still -> locked by someone) ... isrecnum is _still_ not updated! -> Bummer! Ok, Informix, what should we try next? :-) DAS -- David A. Snyder @ Snide Inc. - Folcroft, PA Current Release is db4glgen-3.4 UUCP: ..!uunet!das13!dave INTERNET: dave.snyder@snide.com