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.