Table C (File architecture): Difference between revisions

From m204wiki
Jump to navigation Jump to search
(Created page with "<p>Table C is a hashed table divided into entries of seven bytes each. Table C entries store index information for fields that have the KEY or the NUMERIC RANGE attributes.</p...")
 
No edit summary
Line 4: Line 4:


== Overview ==
== Overview ==
<p> Model 204 creates a chain of entries in Table C for each value stored in a KEY field and several chains of entries for each value stored in a NUMERIC RANGE field.  
<p> Model 204 creates a chain of entries in Table C for each value stored in a KEY field and several chains of entries for each value stored in a NUMERIC RANGE field.</p>


<p> Any time a field value pair that has the KEY or NUMERIC range attributes is added to a record, the hashing algorithm is used to find a Property Entry. If it is not found it is created.</p>


<p>The chain is read (or created) to find the Segment Entry covering the record being updated.</p> 


<p>Because of the hashed nature of the contents, Table C may not be increased dynamically. Any changes must be done via a [[File Reorganization and Table Compaction|reorganization]].</p> 


== Property Entries ==
== Property Entries ==
 
<p>The starting point of a chain.</p>


== Segment Entries ==
== Segment Entries ==

Revision as of 20:44, 4 April 2013

Table C is a hashed table divided into entries of seven bytes each. Table C entries store index information for fields that have the KEY or the NUMERIC RANGE attributes.

Overview

Model 204 creates a chain of entries in Table C for each value stored in a KEY field and several chains of entries for each value stored in a NUMERIC RANGE field.

Any time a field value pair that has the KEY or NUMERIC range attributes is added to a record, the hashing algorithm is used to find a Property Entry. If it is not found it is created.

The chain is read (or created) to find the Segment Entry covering the record being updated.

Because of the hashed nature of the contents, Table C may not be increased dynamically. Any changes must be done via a reorganization.

Property Entries

The starting point of a chain.

Segment Entries

Identifying Record(s) From the Chain

In the segment entries, there are two possible references to record(s):

  • If, in that segment, there is one and only one record, with that combination of field and value, there is a direct pointer to the record (the IRN is physically stored in the Table C entry).
  • Otherwise, the segment will point to a list or bitmap page.

It is quite possible that, for a particular field value pair, some of the segment pointers will point to records, and others will point to list / bitmap pages.