HPlogo QUERY/V Reference Manual: HP 3000 MPE/iX Computer Systems > Appendix E SELF-DESCRIBING FILES

ITEM NAMES

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

All item names in a self-describing file must be unique unless all the duplicate items are in data item equivalences. (Refer to the JOIN command for more information on data item equivalences.)

Entries retrieved with a FIND have unique item names because they are retrieved from a single data set. However, entries retrieved with a MULTIFIND may have duplicate item names because they are retrieved from more than one data set. The duplicate items must have been used in the JOIN data item equivalence(s). An exception is made because the duplicate items are of the same value although they may be of different data types.

The first occurence of the item in the compound data set entry is the one recorded in the item description. Other occurences are skipped because the item has already been described. The data in the file contains all occurences of the data item even though the item description appears only once. The offset reflects the first location in the record where the data item value can be accessed.

Refer to example 2 for a self-describing file created from a MULTIFIND where the JOIN item names are identical.

Examples

Example 1 - Single Data Set Retrieval

Given the following IMAGE data base:

      BEGIN DATA BASE SD;

      PASSWORDS:

      ITEMS:

        NAME,  U10;

        OCCUP, U16;

        CITY,  U10;

        STATE, I2;   << contains a numeric code for each state >>

      SETS:

        NAME: SET1, D;

        ENTRY: NAME, OCCUP, CITY, STATE;

        CAPACITY: 11;

      END.

and the following FIND and SAVE commands:

      >FIND STATE=2 OR STATE=3 

      USING SERIAL READ

      4  ENTRIES QUALIFIED

      >SAVE SAVEFILE

the SD file, SAVEFILE, appears as follows:

------------------------------ | labels 0-9 | ------------------------------ | item description label | ------------------------------ | global information label | ------------------------------ | | | data | | | ------------------------------

where the global information label contains:

(version) (length) (#items) (#labels) (#items/label) (size) ------------------------------------------------------------------ | A.00.00 | 38 | 4 | 2 | 8 | 15 | ------------------------------------------------------------------

and the item description label contains:

(name) (type) (offset) (length) (unused) -------------------------------------------------------- | NAME | 1 | 0 | 10 | 0 | -------------------------------------------------------- | OCCUP | 1 | 10 | 16 | 0 | -------------------------------------------------------- | CITY | 1 | 26 | 10 | 0 | -------------------------------------------------------- | STATE | 3 | 36 | 2 | 0 | --------------------------------------------------------

and the data in the file is (binary data is represented as periods):

   M FULLER  ENGINEER        CUPERTINO ..

   H THOREAU ENGINEER        SAN DIEGO ..

   W EMERSON ENGINEER        FT COLLINS ..

   G SAND    TECH WRITER     CUPERTINO ..

Example 2 - Compound Data Set Retrieval

Given the following IMAGE data base:

      BEGIN DATA BASE SD2;

      PASSWORDS:

      ITEMS:

        NAME,   U10;

        OCCUP,  U16;

        CITY,   U10;

        STATE,  I1;

        NAME2,  U10;

        OCCUP2, U16;

        CITY2,  U10;

      SETS:

        NAME: SET1, D;

        ENTRY: NAME, OCCUP, CITY, STATE;

        CAPACITY: 11;



        NAME: SET2, D;

        ENTRY: NAME2, OCCUP2, CITY2, STATE;

        CAPACITY: 11;

      END.

and the following JOIN, MULTIFIND, and SAVE commands:

      >JOIN SET1.STATE TO SET2.STATE

      >MU STATE=2 OR STATE=3

      USING SORT/MERGE

      USING SERIAL READ

      10  COMPOUND ENTRIES QULIFIED

      >SAVE SAV2FILE

the SD file, SAV2FIL would look like this:

------------------------------ | labels 0-9 | ------------------------------ | item description label | ------------------------------ | global information label | ------------------------------ | | | data | | | ------------------------------

where the global information label contains:

(version) (length) (#items) (#labels) (#items/label) (size) ------------------------------------------------------------------ | A.00.00 | 74 | 7 | 2 | 8 | 15 | ------------------------------------------------------------------

and the item description label contains:

(name) (type) (offset) (length) (unused) -------------------------------------------------------- | NAME | 1 | 0 | 10 | 0 | -------------------------------------------------------- | OCCUP | 1 | 10 | 16 | 0 | -------------------------------------------------------- | CITY | 1 | 26 | 10 | 0 | -------------------------------------------------------- | STATE | 3 | 36 | 2 | 0 | -------------------------------------------------------- | NAME2 | 1 | 38 | 10 | 0 | -------------------------------------------------------- | OCCUP2 | 1 | 48 | 16 | | -------------------------------------------------------- | CITY2 | 1 | 64 | 10 | 0 | --------------------------------------------------------

and the data in the file is (binary data is represented as periods):

   M FULLER  ENGINEER        CUPERTINO ..M FULLER2 ENGINEER        CUPERTINO

   M FULLER  ENGINEER        CUPERTINO ..H THOREAU2ENGINEER        CUPERTINO

   M FULLER  ENGINEER        CUPERTINO ..G SAND2   TECH WRITER     CUPERTINO

   H THOREAU ENGINEER        SAN DIEGO ..M FULLER2 ENGINEER        CUPERTINO

   H THOREAU ENGINEER        SAN DIEGO ..H THOREAU ENGINEER        CUPERTINO

   H THOREAU ENGINEER        SAN DIEGO ..G SAND2   TECH WRITER     CUPERTINO

   G SAND    TECH WRITER     CUPERTINO ..M FULLER2 ENGINEER        CUPERTINO

   G SAND    TECH WRTIER     CUPERTINO ..H THOREAU2ENGINEER        CUPERTINO

   G SAND    TECH WRITER     CUPERTINO ..G SAND2   TECH WRITER     CUPERTINO

   W EMERSON ENGINEER        FT COLLINS..W EMERSON2ENGINEER        FT COLLINS
Feedback to webmaster