Blobs

Blobs — Blobs handling

Synopsis




            GdaBlobOp;
glong       gda_blob_op_get_length          (GdaBlobOp *op);
glong       gda_blob_op_read                (GdaBlobOp *op,
                                             GdaBlob *blob,
                                             glong offset,
                                             glong size);
gboolean    gda_blob_op_read_all            (GdaBlobOp *op,
                                             GdaBlob *blob);
glong       gda_blob_op_write               (GdaBlobOp *op,
                                             GdaBlob *blob,
                                             glong offset);
gboolean    gda_blob_op_write_all           (GdaBlobOp *op,
                                             GdaBlob *blob);

Object Hierarchy


  GObject
   +----GdaBlobOp

Description

This object is a base class for individual database providers which support BLOB types. It supports operations to read and write data in a BLOB.

Details

GdaBlobOp

typedef struct _GdaBlobOp GdaBlobOp;


gda_blob_op_get_length ()

glong       gda_blob_op_get_length          (GdaBlobOp *op);

Opens an existing BLOB. The BLOB must be initialized by gda_connection_create_blob or obtained from a GValue. FIXME: gda_connection_create_blob() no longer exists.

op : an existing GdaBlobOp
Returns : the length of the blob in bytes. In case of error, -1 is returned and the provider should have added an error (a GdaConnectionEvent) to the connection.

gda_blob_op_read ()

glong       gda_blob_op_read                (GdaBlobOp *op,
                                             GdaBlob *blob,
                                             glong offset,
                                             glong size);

Reads a chunk of bytes from the BLOB into blob.

op : a GdaBlobOp
blob : a GdaBlob to read data to
offset : offset to read from the start of the blob (starts at 0)
size : maximum number of bytes to read.
Returns : the number of bytes actually read. In case of error, -1 is returned and the provider should have added an error to the connection.

gda_blob_op_read_all ()

gboolean    gda_blob_op_read_all            (GdaBlobOp *op,
                                             GdaBlob *blob);

Reads the whole contents of the blob manipulated by op into blob

op : a GdaBlobOp
blob : a GdaBlob to read data to
Returns : TRUE if blob->data contains the whole BLOB manipulated by op

gda_blob_op_write ()

glong       gda_blob_op_write               (GdaBlobOp *op,
                                             GdaBlob *blob,
                                             glong offset);

Writes a chunk of bytes from a blob to the BLOB accessible through op.

op : a GdaBlobOp
blob : a GdaBlob which contains the data to write
offset : offset to write from the start of the blob (starts at 0)
Returns : the number of bytes written. In case of error, -1 is returned and the provider should have added an error to the connection.

gda_blob_op_write_all ()

gboolean    gda_blob_op_write_all           (GdaBlobOp *op,
                                             GdaBlob *blob);

Writes the whole contents of blob into the blob manipulated by op. If necessary the resulting blob is truncated from its previous length.

op : a GdaBlobOp
blob : a GdaBlob which contains the data to write
Returns : TRUE on success