Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

px_put_recordn(3) [debian man page]

PX_PUT_RECORDN(3)					     Library Functions Manual						 PX_PUT_RECORDN(3)

NAME
PX_put_recordn -- Stores record in Paradox file at certain position SYNOPSIS
#include <paradox.h> int PX_put_recordn(pxdoc_t *pxdoc, char *data, int recpos) DESCRIPTION
Stores a record in the buffer data into a Paradox file at the given position recpos. The first position has number 0. The function will determine the data block for this record. If the position is after the last data block, then as many as needed empty data blocks will be added. If the position is in the middle of a data block and there is no record right before the position, then the position will be recal- culated to make sure the new record will be stored in the first free slot of the datablock. For example, if a datablock contains H records and the first call of PX_put_recordn wants to store a record at postion 11, then this will be corrected to position H. PX_put_recordn will also add an empty data block and store the record as the first record of the second data block. Storing a second record at position 11 again, will be executed without any position change. data must be constructed with PX_put_data_xxx(3) functions before. It is of the same structure as the record returned by PX_get_record(3) and PX_get_record2(3). RETURN VALUE
Returns the record position on success and -1 on failure. The first position has number 0. SEE ALSO
PX_get_record(3), PX_get_record2(3), PX_put_record(3), PX_put_data_byte(3), PX_put_data_short(3), PX_put_data_long(3), PX_put_data_dou- ble(3), PX_put_data_alpha(3) AUTHOR
This manual page was written by Uwe Steinmann uwe@steinmann.cx. PX_PUT_RECORDN(3)

Check Out this Related Man Page

PX_INSERT_RECORD(3)					     Library Functions Manual					       PX_INSERT_RECORD(3)

NAME
PX_insert_record -- Inserts a new record in the Paradox file SYNOPSIS
#include <paradox.h> int PX_insert_record(pxdoc_t *pxdoc, pxval_t **dataptr) DESCRIPTION
Inserts a new record stored in the array dataptr into a Paradox file. The position of the record will be determined by the function itself, starting at the beginning of the file and searching towards the end for a free slot. A free slot can be the result of former calls of PX_delete_record(3) or not completely filled data blocks in the input file. If there is no free slot within the file, then a new record will be added at the end. Blobs will be automatically written if a blob file was set with PX_set_blob_file(3). The memory for dataptr and the field values can be freed after PX_insert_record has been called. Each single element in the array of pointers to pxval_t can be easily created with MAKE_PXVAL(pxdoc_t *pxdoc, pxval_t *val) and setting the actual value afterwards. A quite common way to build up the record is the following: dataptr = (pxval_t **) malloc(PX_get_num_fields(pxdoc)*sizeof(pxval_t *)); MAKE_PXVAL(pxdoc, dataptr[0]); dataptr[0]->type = pxfLong; dataptr[0]->value.lval = 45; dataptr[1]->type = pxfAlpha; dataptr[1]->value.str.val = "test"; dataptr[1]->value.str.len = 4; PX_insert_record(pxdoc, dataptr); free(dataptr[0]); free(dataptr[1]); free(dataptr); There is currently no need to set the type, though it is recommended. The field types pxfMemoBLOb and pxfFmtMemoBLOb are treated like strings. Fields of type pxfAutoInc are automatically incremented if its value is set to NULL. In such a case the value is taken from the header of the database. You should not have more than one field of type pxfAutoInc in your database, otherwise the automatic incrementation will not work. RETURN VALUE
Returns the record number on success or -1 on failure. The number of the first record is 0. SEE ALSO
PX_retrieve_record(3), PX_delete_record(3), PX_update_record(3) AUTHOR
This manual page was written by Uwe Steinmann uwe@steinmann.cx. PX_INSERT_RECORD(3)
Man Page