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