I am learning Natural and Adabas through manuals.. There is something i do not understand from the manuals,and i am trying to find the answer in Vain. Its regd how a data is stored in Adabas.
I took the below table from Adabas documentation. If you notice the ISN 10, ISN 11 and ISN 12, it resides on same block number, but it contains different data. I was under the impression that ISN would be unique for the data record until it is reassigned or when data gets deleted. Would you be able to examine the below table -- blk size 237, and let me know how same ISN would be used by ADABAS for storing different datarecord. And possibly what would address convertor contain in such case?
The ISN in all cases shown is unique. It's the BLK that is the same and, in this case, it looks like a block can accommodate three records and BLK 234 has had record 3 replaced by record 13. Record 8 is, for some reason, in an out-of-sequence block.
Joined: 21 Nov 2009 Posts: 58 Location: California
ISN is a unique identifier for a record within a file. A record's ISN does not change. But let's say that I add Ralph to my customer file, and Adabas assigns ISN 7. Someone deletes customer Ralph, but I wish to reinstate him. When I add Ralph a second time, there is no reason for me to believe that ISN 7 will be assigned again. As far as Adabas is concerned, two unique records have been created.
During initial load of a file, ISNs will be assigned sequentially. Otherwise ISN assignment is dependent upon Adabas file settings. Unless the data records are quite large, multiple records will fit into each block. During initial load of a file, records are loaded into sequential blocks. Otherwise block assignment is dependent upon Adabas file settings. For various reasons, over time a record may migrate from one block to another.
In the example given, ISN 8 migrated from block 236 to 298. ISN 3 either migrated or was deleted, and its space in block 234 was re-used by ISN 13.