GdaDataModelHash

GdaDataModelHash — An implementation of GdaDataModel based on a hash table

Synopsis




            GdaDataModelHash;
GdaDataModel* gda_data_model_hash_new       (gint cols);
void        gda_data_model_hash_clear       (GdaDataModelHash *model);
void        gda_data_model_hash_set_n_columns
                                            (GdaDataModelHash *model,
                                             gint cols);
void        gda_data_model_hash_insert_row  (GdaDataModelHash *model,
                                             gint rownum,
                                             GdaRow *row);

Object Hierarchy


  GObject
   +----GdaDataModelBase
         +----GdaDataModelHash

Implemented Interfaces

GdaDataModelHash implements GdaDataModel.

Description

Unlike GdaDataModelArray, this data model implementation stores the GdaRow in a hash table. So it only retrieves from the database backend exactly the requested rows (while in GdaDataModelArray you have to retrieve all the rows until the one requested).

Details

GdaDataModelHash

typedef struct _GdaDataModelHash GdaDataModelHash;


gda_data_model_hash_new ()

GdaDataModel* gda_data_model_hash_new       (gint cols);

cols : number of columns for rows in this data model.
Returns : a pointer to the newly created GdaDataModel.

gda_data_model_hash_clear ()

void        gda_data_model_hash_clear       (GdaDataModelHash *model);

Frees all the rows inserted in model.

model : the model to clear.

gda_data_model_hash_set_n_columns ()

void        gda_data_model_hash_set_n_columns
                                            (GdaDataModelHash *model,
                                             gint cols);

Sets the number of columns for rows inserted in this model. cols must be greater than or equal to 0.

This function calls gda_data_model_hash_clear to free the existing rows if any.

model : the GdaDataModelHash.
cols : the number of columns for rows inserted in model.

gda_data_model_hash_insert_row ()

void        gda_data_model_hash_insert_row  (GdaDataModelHash *model,
                                             gint rownum,
                                             GdaRow *row);

Inserts a row in the model.

model : the GdaDataModelHash which is gonna hold the row.
rownum : the number of the row.
row : the row to insert. The model is responsible of freeing it!