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