String Tables

Parent Previous Next

String Tables


File names and data stream names are stored in the file header as integer values, which are indexes into the store string table.  This table is a group of three files in the \Store folder which contain all the names used on the store.  The files are


  1. An allocation table that tracks what space is used and available in the string data file.  Each bit in the table maps 8 bytes in the string data file.
  2. A string data file which contains the actual name text.  This file can be up to 4 Gb in length.
  3. An index table which contains pointers into the string data file, organized in a way that provides a sorted (ascending) list of the names


The string data file contains string records.  Each record has the following format:


Byte Offset

Description

0-3

Reference count. Files with the same name share the same string table offset.  This indicates how many references exist to this value on the store.

4

String length (up to 256 bytes).  0 represents a length of 256.

5-n

String contents.