Skip to main content.

PX_GET_DATA_BLOB

Name

PX_get_data_blob -- Get blob data field

Synopsis

#include <paradox.h>

int PX_get_data_blob(pxdoc_t *pxdoc, char *data, int len, int *mod, int *blobsize, char **value)

DESCRIPTION

Reads a blob data field. This function may be used for all types of blobs except for fields of type pxfGraphic.

data points to the start of the data field in the record. It must be calculated by summing up all field length before the field to operate on and add it to the base pointer of the record. You should use this function instead of accessing the data directly.

PX_get_data_blob returns blob data stored in the record itself, or in an MB files which must have been set with PX_set_blob_file(3).

The function allocates memory for the data returned in *value. This memory has to be freed by the application, if the function returns successfully. The amount of memory for the blob is returned in *blobsize. *mod returns the so called modification number of the blob which can often be used as an unique id for creating file names, if the data is saved in a file.

Note

This function is deprecated and obsolete if PX_retrieve_record(3) is used.

RETURN VALUE

Returns 0 if the value is NULL, -1 in case of an error and 1 otherwise.

AUTHOR

This manual page was written by Uwe Steinmann .

Latest News

Released version 0.6.6

April 07, 2016

This release fixes some more typos in the documentation.

Released version 0.6.5

Jannuary 11, 2012

pxlib isn't dead, its development has just slowed down. This release fixes some typos and optimizes the configuration process.

Released version 0.6.2

September 19, 2007

This one fixes a long lasting bug on 64 bit architectures. It also is compilable in a mingw environment and Visual C++ with the help of cmake.

Released version 0.6.1

March 29, 2006

There were some bugs related to the changes of the last release. This version fixes them. Besides that the following has changed:

  • Much better support for secondary indexes
  • PX_insert_record() and PX_update_record() treat null values propperly
  • PX_delete_record() now updates the internal index without corrupting it.
  • Various man page updates.
  • Auto increment fields of type pxfAutoInc.
  • Fixed some compile errors and warnings.
  • Fixed various small bugs and memory leaks.

Released version 0.6.0

February 6, 2006

This version includes some major changes to the api while retaining compatible to older versions. If you use the new functions expect bugs but also a much simplier record handling.

  • Databases can be read and written after opening with PX_open_xxx()
  • Use a cache for reading encrypted blobs
  • Added new functions PX_delete_record(), PX_update_record(), PX_insert_record(), PX_retrieve_record()
  • reading and writing encrypted blob files is more efficient.
  • No more than 64 blobs will be stored in blocks of type 3
  • Fixed various small bugs and memory leaks.

Released version 0.5.1

August 11, 2005

  • fixed bug when reading header of blob (Thanks to Giovanni Giacobbi)
  • fixes bug when reading blobs of a certain size from an encrypted .mb file.
  • reading and writing encrypted blob files is more efficient.

Released version 0.5.0

July 14, 2005

  • support for encrypted databases and blob files

New web site

02 Feb 05

After a long time the web site has been overhauled with much more information about pxlib.