SDMS: SnoDb Multi-file support: Search strategy

                  

    Contact:  N. West,  Oxford.
 
    Revision History:-
    ================
 
    5.01  N. West     First version.


 
Titles Files
------------
 
sdb_multi_file.dat
 

Description
-----------
 
Bank Number:  Search strategy number. Entries in the SDMT bank link to SDMS via this number

This bank provides the information necessary to look-up a single
titles bank that is distributed across a physical set of database
files.

 
 
Data Words
---------
 
        Data types: B(bit), I, F, D(double), H(hollerith 4 char)
 
        Fixed length Database Header.  See titles_dbhdr.html

 Word   Mnemonic      [symbolic command]  Description
 ----   --------      ------------------------------- 
        KSDMS...
 
   1  H _DB_CODE      2 character code for database e.g. ET
                      Programming note: In memory this word is replaced by the index 
                      to the corresponding database in *SDB_DBF_* tables (see sdb_multi_file.com)
   2  I _SS_CODE      Search Strategy code:-
                      KSDMS_SS_HIT_AND_MISS  = 0 - search every available DB starting from the latest
                      KSDMS_SS_FIXED         = 1 - look only in a specific DB file
                      KSDMS_SS_RUN_RANGE     = 2 - look up based on run range
                      KSDMS_SS_DATE_RANGE    = 3 - look up based on date range
   3  I _DBF_IDX      Index into *SDB_DBF_* (see sdb_multi_file.com) tables corresponding to _DB_CODE 
                      Programming note: this word is set up sdb_mf_ini - any existing value is replaced
   4    Spare
 ..      ...
  10    Spare

  
The remaining words depend on the Search Strategy  code (KSDMS_DB_CODE):-

KSDMS_SS_HIT_AND_MISS

                                    No further data words

KSDMS_SS_FIXED      

  11  I _FIXED_DB_NO               The number of the fixed DB file

KSDMS_SS_RUN_RANGE

   A series of 5 word entries:- 

    i = 0, 5, 10 ...

i+11  I _RUN_RANGE_FILE_NO         The physical DB number
i+12  I _RUN_RANGE_FIRST_RUN       The first run
i+13  I _RUN_RANGE_FIRST_SUBRUN    The first subrun
i+14  I _RUN_RANGE_LAST_RUN        The last run
i+15  I _RUN_RANGE_LAST_SUBRUN     The last subrun


  Note: To preserve the same results produces by the previous multi-file system
        the current one does not use the _FIRST_RUN and _FIRST_SUBRUN words.
        Instead it searches forwards through the list and selects the first
        entry for which _LAST_RUN, _LAST_SUBRUN exceed the required one. 

 
KSDMS_SS_DATE_RANGE 

   A series of 5 word entries:- 

    i = 0, 5, 10 ...

i+11  I _DATE_RANGE_FILE_NO        The physical DB number
i+12  I _DATE_RANGE_FIRST_DATE     The first date
i+13  I _DATE_RANGE_FIRST_TIME     The first time
i+14  I _DATE_RANGE_LAST_DATE      The last date
i+15  I _DATE_RANGE_LAST_TIME      The last time

  Note: To preserve the same results produces by the previous multi-file system
        the current one does not use the _LAST_DATE and _LAST_TIME words.
        Instead it searches backwards through the list and selects the first
        entry for which _FIRST_DATE,_FIRST_TIME is less than the required one. 

 

Go Back to the Snoman Companion Top Page