VDS_INSERT(3)
NAME
vds_insert
SYNOPSIS
#include <soi_vds.h>
int vds_insert_sds (VDS *vds, SDS *sds, int var_num);
int vds_insert_sds_rec (VDS *vds, SDS *sds, int
var_num,
int rec_num);
DESCRIPTION
These functions enable users to insert data into a virtual
dataset (vds). The data to be inserted must be in the form
of an SDS structure which can be created and manipulated by
functions from the SDS library. vds_insert_sds_rec inserts
the data as the specified record (records are numbered from
0) and vds_insert_sds inserts the data as the next record.
After an sds structure has been successfully inserted into
the vds, the sds pointer "belongs to" the vds structure. Do
not free an sds pointer which was inserted into a vds. This
can cause subsequent vds operations to fail in unpredictable
ways.
RETURN VALUES
vds_insert_sds and vds_insert_sds_rec return error code
statuses. Error codes are defined in soi_error.h. The code
returned after a successful completion is NO_ERROR.
EXAMPLES
There are many examples of the use of vds_insert* in
~soi/CM/src/modules/*.c
SEE ALSO
~soi/CM/man/man3/vds.3
~soi/CM/man/man3/errstk.3
~soi/CM/include/soi_error.h
~soi/CM/include/soi_sds.h
FILES
~soi/CM/include/soi_vds.h
~soi/CM/src/libvds.d/vds_sds.c
BUGS
RESTRICTIONS
Internal data protocol types which are supported are
VDS_FILE, VDS_CUBE, and VDS_FILES.
multi variables are not supported so var_number must be 0.
The user is responsible for maintaining consistency among
inserted records. For example, vds_insert* operations make
no checks on data dimensions.
PLANNED IMPROVEMENTS