Changes

Jump to navigation Jump to search
2 bytes added ,  03:19, 6 April 2012
no edit summary
If a record with pre = 12 is to be inserted, it needs to be stored in the first block, which is, however, full. In this case, a new block with physical address 8192 will be allocated, the records with pre values from 12 to 255 will be copied to the new block, the new record will be stored in the old block at pre = 12, and the two maps will look like this:
fpre's = 0, 13, 257 addr's = 0, 8192, 4096
Basically, the old records remain in the first block, but they will not be read, since the fpre's array says that only 13 records are stored in the first block. This causes redundant storage of the records with old pres from 13 to 255.
Additionally to these two maps (fpre's and addr's), BaseX maintains a bit map (which is also stored in {{Mono|tbli.basex}}) which reflects which physical blocks are free and which not, so that when a new block is needed, an already free one will be reused.
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu