Storing information in the database

Storing single ZEBRA datastructures

         +------------------------------------------------------+
         |CALL  CDSTOR (PATH,LADDR,LKYBK*,IUDIV,KEYS,CHOPT,IRC*) |
         +------------------------------------------------------+
                                  

PATH
Character string describing the pathname
LADDR
Address of the datastructure to be stored
LKYBK
Returned address of the key bank (option C)
IUDIV
Division where the datastructure resides
KEYS
Vector of keys. This vector must include space for the standard system and experiment keys and validity range pairs. The user must fill in the validity range pairs and user keys, if any.
CHOPT
Character string with any of the following characters
' '
Datastructure is stored asis, i.e. uncompressed
'C'
create Node/Key data structure ala CDUSE
'D'
store only differences from existing object in directory specified by PATH
'F'
With option D, differences are calculated from an object with which all user keys match (FULL match)
'K'
Store only the keys ( LADDR ignored)
'H'
Insertion time in input KEYS vector is to be honoured
'P'
Data is compressed (bit packing)
'Z'
Store only nonzero elements. An element is considered to be zero if its absolute value is less than DELTA (a directory constant set by CDMDIR on page [more info].
IRC
Integer return code
0
Normal completion
53
Path name does not exist in database
61
Too many keys
63
Database structure in memory clobbered
64
Error in MZCOPY while copying Data bank

Routine CDSTOR stores a ZEBRA datastructure in the database. The data, if packed, is stored with a precision determined by the directory constant IPREC as specified in the call to CDMDIR on page [more info]

If the pathname begins with a % character then it is assumed to be an alias and is automatically translated by the internal HEPDB routines.

Storing multiple ZEBRA datastructures

 +----------------------------------------------------------------------+
 |CALL  CDSTOM (PATH,LADDR,LKYBK*,IUDIV,NWKEY,NOBJ,KEYO,KEYN,CHOPT,IRC*) |
 +----------------------------------------------------------------------+
                                  

PATH
Character string describing the pathname
LADDR
Vector of NOBJ bank addresses, created by CDBOOK
LKYBK
Output address of first key bank (if option C is specified)
IUDIV
Division index of the user data bank
NWKEY
Number of keys associated with the data banks
NOBJ
Number of objects to be stored. The key vectors NOBJ)
KEYO
Vector/matrix of old keys
KEYN
Vector/matrix of new keys
CHOPT
Character string with any of the following characters
' '
Datastructure(s) are stored asis, i.e. uncompressed
'C'
create Node/Key data structure ala CDUSE
'D'
store only differences from existing object in directory specified by PATH
'F'
With option D, differences are calculated from an object with which all user keys match (FULL match)
'K'
Store only the keys ( LADDR ignored)
'H'
Insertion time in input keys vector is to be honoured. The insertion time is stored in KEYSN(KOFINS), packed using the routine CDPKTM.
'P'
Data is compressed (bit packing) according to the precision IPREC specified in the call to CDMDIR.
'Z'
Store only nonzero elements. An element is considered to be zero if its absolute value is less than DELTA (a directory constant set by CDMDIR on page [more info]
'R'
Replace existing objects as specified by the vector KEYO
IRC
Integer return code
0
Normal completion
53
Path name does not exist in database
61
Too many keys
62
Too many keys with option N
63
Database structure in memory clobbered
64
Error in MZCOPY while copying Data bank

This routine permits multiple datastructures to be stored in a single call, or to replace one or more existing datastructures.

If the pathname begins with a % character then it is assumed to be an alias and is automatically translated by the internal HEPDB routines.