GdaDataModelHash

GdaDataModelHash — An implementation of GdaDataModel based on a hash table

Functions

Types and Values

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).

Functions

gda_data_model_hash_new ()

GdaDataModel *
gda_data_model_hash_new (gint cols);

Parameters

cols

number of columns for rows in this data model.

 

Returns

a pointer to the newly created GdaDataModel.


gda_data_model_hash_get_value_at ()

const GdaValue *
gda_data_model_hash_get_value_at (GdaDataModel *model,
                                  gint col,
                                  gint row);

Retrieves the value at a specified column and row.

Parameters

model

the GdaDataModelHash to retrieve the value from.

 

col

column number (starting from 0).

 

row

row number (starting from 0).

 

Returns

a pointer to a GdaValue.


gda_data_model_hash_clear ()

void
gda_data_model_hash_clear (GdaDataModelHash *model);

Frees all the rows inserted in model .

Parameters

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.

Parameters

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 .

Parameters

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!

 

gda_data_model_hash_get_row ()

const GdaRow *
gda_data_model_hash_get_row (GdaDataModel *model,
                             gint row);

Retrieves a row from the underlying hash table.

Parameters

model

the GdaDataModelHash

 

row

row number

 

Returns

a GdaRow or NULL if the requested row is not in the hash table.

Types and Values

GdaDataModelHashPrivate

typedef struct _GdaDataModelHashPrivate GdaDataModelHashPrivate;