Anthony (et al), Please take this as constructive criticism!....
Your understanding of dynamic files is, unfortunately, incorrect. Split/merge is driven by load percentage and is hence dependent on the size of the file. As I said, I have never seen any of the UV source code but experiment shows that UV follows the same general principles adopted by other implementations of dynamic files (except Udt which does its own thing!). I have personally been responsible for one implementation and therefore like to think that I know what I am talking about here. Obviously, any hidden tricks inside UV are beyond my knowledge, I can only comment on the general theory. There is no "overflow area of roughly 10% of the main space at the end of the file" in UV's implementation. The over.30 file is used for all overflow blocks including large records. One reason for not using overflow space in the primary portion of the file is that doing this makes it almost impossible to restructure the file dynamically without locking the entire file across splits. A record lock does not suppress splits and merges. This is easily demonstrated and the whole issue of moving locks in the lock table was something I uncovered by the simple process of locking a record, listing the locks, adding new records to force a split, and listing the locks again. As far as I am aware, the only thing that holds off splits and merges is a Basic program SELECT operation. Incidentally, I just tried my experiment of causing a merge when there is a record lock that will need to be moved to a row of the lock table that is full. It all falls over but not in the way exhibited by the original posting that started this thread. Martin Phillips Ladybridge Systems 17b Coldstream Lane, Hardingstone, Northampton NN4 6DB +44-(0)1604-709200 ------- u2-users mailing list [EMAIL PROTECTED] To unsubscribe please visit http://listserver.u2ug.org/
