Man Linux: Main Page and Category List

NAME

       PX_get_record2 — Returns record in Paradox file

SYNOPSIS

       #include <paradox.h>

       int PX_get_record2(pxdoc_t *pxdoc, int recno, char *data, int *deleted,
       pxdatablockinfo_t *pxdbinfo)

DESCRIPTION

       This function is  similar  to  PX_get_record(3)  but  takes  two  extra
       parameters.  If  *deleted  is  set  to 1 the function will consider any
       record in the database, even those which are deleted. If  *pxdbinfo  is
       not  NULL,  the  function  will  return some information about the data
       block where the record has been read from. You will  have  to  allocate
       memory for pxdbinfo before calling PX_get_record2.

       On  return *deleted will be set to 1 if the requested record is deleted
       or 0 if it  is  not  deleted.  The  struct  pxdatablockinfo_t  has  the
       following fields:

       blockpos (long)
                 File  positon  where the block starts. The first six bytes of
                 the block contain the header, followed by the record data.

       recordpos (long)
                 File position where the requested record starts.

       size (int)
                 Size of the data block without the six bytes for the  header.

       recno (int)
                 Record  number within the data block. The first record in the
                 block has number 0.

       numrecords (int)
                 The number of records in this block.

       number (int)
                 The number of the data block.

       This function may return records with invalid data, because records are
       not  explizitly  marked as deleted, but rather the size of a valid data
       block is modified. A data block is a fixed size area in the file  which
       holds  a certain number of records. If for some reason a data block has
       newer been completely filled with records, the  algorithmn  anticipates
       deleted  records  in  this  data block, which are not there. This often
       happens with the last data block in a file,  which  is  likely  to  not
       being fully filled with records.

       If  you  accessing  several  records, do it in ascending order, because
       this is the most efficient way.

              Note:

              This function is deprecated.  Use PX_retrieve_record(3) instead

RETURN VALUE

       Returns 0 on success and -1 on failure.

SEE ALSO

       PX_get_field(3), PX_get_record(3)

AUTHOR

       This manual page was written by Uwe Steinmann uwe@steinmann.cx.