Object Oriented Data set Filicle Format Version 1 (OODSFiFor_v1)

WARNING: This is an untested specification, i.e. it lacks implementations.

The OODSFiFor_v1 describes, how methodless instances that have only public fields, are stored to a filicle.

The fields of the instances are allowed to be:

x) variable length Unicode strings;
x) booleans as single characters
("t" for "true", "f" for "false")
x) C++/C int-s (4 bytes);
x) C++/C double's (8 bytes).

All fields of a OODSFiFor_v1 instances are 2-dimensional. One of the dimensions holds the classical value of the field. The other dimension contains only 2 values, true, false, and indicates, whether the "value of the field is determined", e.g. whether the value at the first dimension has any meaning at all or it should be considered to be "null/NaN/nil".

Each OODSFiFor_v1 filicle contains the following tables:

CREATE TABLE <filicle system specific prefix>_ac_class_declarations (class_name text, s_fields text);

The s_fields is a ProgFTE_v1 string, where the hashtable keys are class field names and the hashtable values belong to the following set of strings: {
scty_bool }.

CREATE TABLE <filicle system specific prefix>_ac_instances_of_class_<class name> (s_instance_id text, <fields in no particular order>);

The column names of the field values have a structure of val_<field name>.

The column names of the boolean values that indicate, wether the field has been set, the "2. dimension", have a structure of sb_empty_<field name>.

The type of the "sb_empty_" fields is a fixed-length string with a length of one character or "text". Character "t" indicates "true" and the character "f" indicates "false".